Skip to content

Auto-connect to system output #100

@crsaracco

Description

@crsaracco

Hi, bit of a Jack development noob here.

Initially I thought this crate was just not working, since I ran sine.rs and heard no output. However, I was messing around with qjackctl and found the "Connections" page, and found that if I manually connected the client's output port to the system:playback_1 and system:playback_2 ports, I could hear the output!

It seems like it doesn't do this by default when I launch the sine example, so I figured I'd try to connect it programmatically at the start of the program. I'm having trouble doing this, though. Here's what I've tried:

let spec = jack::AudioOut::default();
let mut out_port = client.register_port("sine_out_1", spec).unwrap();
let system_out_1 = client.port_by_name("system:playback_1").unwrap();
let connect_result = client.connect_ports(&out_port, &system_out_1);
println!("{:?}", connect_result);

The println just gives me:

Err(PortConnectionError("rust_jack_sine:sine_out_1", "system:playback_1"))

and obviously the program crashes when I try to unwrap it.

Did I do something wrong in setting up the connections? Or is something wrong with my setup somehow, since I assume the sine example just works for most other people?

Bitwig on my system can automatically connect to the jack server and output sound when I start it up, so I think my jack server settings are at least workable.

Not sure what system settings would be useful to debug this... I'm running Arch linux, if it matters. I can provide more details if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions