1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use bitflags::bitflags;
use jack_sys as j;
bitflags! {
/// Option flags for opening a JACK client.
pub struct ClientOptions: j::Enum_JackOptions {
/// Do not automatically start the JACK server when it is not already running. This option
/// is always selected if `$JACK_NO_START_SERVER` is defined in the calling process
/// environment.
const NO_START_SERVER = j::JackNoStartServer;
/// Use the exact client name requested. Otherwise, JACK
/// automatically generates a unique one if needed.
const USE_EXACT_NAME = j::JackUseExactName;
/// Open with optional `server_name` parameter.
///
/// TODO: implement
const SERVER_NAME = j::JackServerName;
/// Load internal client from optional `load_name`, otherwise use the `client_name`.
///
/// TODO(wmedrano): Implement `load_name` functionality
const LOAD_NAME = j::JackLoadName;
/// Pass optional `load_init` to `jack_initialize()` entry point of an internal client.
///
/// TODO: implement
const LOAD_INIT = j::JackLoadInit;
/// Pass a SessionID token. This allows the session manager to identify the client again.
const SESSION_ID = j::JackSessionID;
}
}
impl Default for ClientOptions {
fn default() -> Self {
ClientOptions::NO_START_SERVER
}
}