1 from typing import Any, Callable, Generator, Iterable, Iterator, Sequence, overload
3 _NDArray = Any # FIXME: no typings for numpy arrays
5 class _JackPositionT: ...
9 def __getitem__(self, key: int) -> str: ...
11 def __getitem__(self, key: slice) -> bytes: ...
13 def __setitem__(self, key: int, val: str) -> None: ...
15 def __setitem__(self, key: slice, val: bytes) -> None: ...
16 def __len__(self) -> int: ...
17 def __bytes__(self) -> bytes: ...
27 POSITION_TIMECODE: int
28 POSITION_BBT_FRAME_OFFSET: int
29 POSITION_AUDIO_VIDEO_RATIO: int
30 POSITION_VIDEO_FRAME_OFFSET: int
32 class JackError(Exception): ...
34 class JackErrorCode(JackError):
35 def __init__(self, message: str, code: int) -> None: ...
39 class JackOpenError(JackError):
40 def __init__(self, name: str, status: Status) -> None: ...
48 use_exact_name: bool = ...,
49 no_start_server: bool = ...,
50 servername: str | None = ...,
51 session_id: str | None = ...,
54 def name(self) -> str: ...
56 def uuid(self) -> str: ...
58 def samplerate(self) -> int: ...
60 def blocksize(self) -> int: ...
62 def blocksize(self, blocksize: int) -> None: ...
64 def status(self) -> Status: ...
66 def realtime(self) -> bool: ...
68 def frames_since_cycle_start(self) -> int: ...
70 def frame_time(self) -> int: ...
72 def last_frame_time(self) -> int: ...
74 def inports(self) -> Ports: ...
76 def outports(self) -> Ports: ...
78 def midi_inports(self) -> Ports: ...
80 def midi_outports(self) -> Ports: ...
81 def owns(self, port: str | Port) -> bool: ...
82 def activate(self) -> None: ...
83 def deactivate(self, ignore_errors: bool = ...) -> None: ...
84 def cpu_load(self) -> float: ...
85 def close(self, ignore_errors: bool = ...) -> None: ...
86 def connect(self, source: str | Port, destination: str | Port) -> None: ...
87 def disconnect(self, source: str | Port, destination: str | Port) -> None: ...
88 def transport_start(self) -> None: ...
89 def transport_stop(self) -> None: ...
91 def transport_state(self) -> TransportState: ...
93 def transport_frame(self) -> int: ...
94 @transport_frame.setter
95 def transport_frame(self, frame: int) -> None: ...
96 def transport_locate(self, frame: int) -> None: ...
97 def transport_query(self) -> tuple[TransportState, dict[str, Any]]: ...
98 def transport_query_struct(self) -> tuple[TransportState, _JackPositionT]: ...
99 def transport_reposition_struct(self, position: _JackPositionT) -> None: ... # TODO
100 def set_sync_timeout(self, timeout: int) -> None: ...
101 def set_freewheel(self, onoff: bool) -> None: ...
102 def set_shutdown_callback(self, callback: Callable[[Status, str], None]) -> None: ...
103 def set_process_callback(self, callback: Callable[[int], None]) -> None: ...
104 def set_freewheel_callback(self, callback: Callable[[bool], None]) -> None: ...
105 def set_blocksize_callback(self, callback: Callable[[int], None]) -> None: ...
106 def set_samplerate_callback(self, callback: Callable[[int], None]) -> None: ...
107 def set_client_registration_callback(self, callback: Callable[[str, bool], None]) -> None: ...
108 def set_port_registration_callback(
109 self, callback: Callable[[Port, bool], None] | None = ..., only_available: bool = ...
111 def set_port_connect_callback(
112 self, callback: Callable[[Port, Port, bool], None] | None = ..., only_available: bool = ...
114 def set_port_rename_callback(
115 self, callback: Callable[[Port, str, str], None] | None = ..., only_available: bool = ...
117 def set_graph_order_callback(self, callback: Callable[[], None]) -> None: ...
118 def set_xrun_callback(self, callback: Callable[[float], None]) -> None: ...
119 def set_sync_callback(self, callback: Callable[[int, _JackPositionT], None] | None) -> None: ...
120 def release_timebase(self) -> None: ...
121 def set_timebase_callback(
122 self, callback: Callable[[int, int, _JackPositionT, bool], None] | None = ..., conditional: bool = ...
124 def set_property_change_callback(self, callback: Callable[[int, str, int], None]) -> None: ...
125 def get_uuid_for_client_name(self, name: str) -> str: ...
126 def get_client_name_by_uuid(self, uuid: str) -> str: ...
127 def get_port_by_name(self, name: str) -> Port: ...
128 def get_all_connections(self, port: Port) -> list[Port]: ...
131 name_pattern: str = ...,
132 is_audio: bool = ...,
134 is_input: bool = ...,
135 is_output: bool = ...,
136 is_physical: bool = ...,
137 can_monitor: bool = ...,
138 is_terminal: bool = ...,
140 def set_property(self, subject: int | str, key: str, value: str | bytes, type: str = ...) -> None: ...
141 def remove_property(self, subject: int | str, key: str) -> None: ...
142 def remove_properties(self, subject: int | str) -> int: ...
143 def remove_all_properties(self) -> None: ...
146 def __init__(self, port_ptr: Any, client: Client) -> None: ...
147 def __eq__(self, other: object) -> bool: ...
148 def __ne__(self, other: object) -> bool: ...
150 def name(self) -> str: ...
152 def shortname(self) -> str: ...
154 def shortname(self, shortname: str) -> None: ...
156 def aliases(self) -> list[str]: ...
157 def set_alias(self, alias: str) -> None: ...
158 def unset_alias(self, alias: str) -> None: ...
160 def uuid(self) -> str: ...
164 def is_input(self) -> bool: ...
166 def is_output(self) -> bool: ...
168 def is_physical(self) -> bool: ...
170 def can_monitor(self) -> bool: ...
172 def is_terminal(self) -> bool: ...
173 def request_monitor(self, onoff: bool) -> None: ...
175 class MidiPort(Port):
181 def number_of_connections(self) -> int: ...
183 def connections(self) -> list[Port]: ...
184 def is_connected_to(self, port: str | Port) -> bool: ...
185 def connect(self, port: str | Port) -> None: ...
186 def disconnect(self, other: str | Port | None = ...) -> None: ...
187 def unregister(self) -> None: ...
188 def get_buffer(self) -> _CBufferType: ...
189 def get_array(self) -> _NDArray: ...
191 class OwnMidiPort(MidiPort, OwnPort):
192 def __init__(self, *args: Any, **kwargs: Any) -> None: ...
193 def get_buffer(self) -> _CBufferType: ...
194 def get_array(self) -> _NDArray: ...
196 def max_event_size(self) -> int: ...
198 def lost_midi_events(self) -> int: ...
199 def incoming_midi_events(self) -> Generator[tuple[int, _CBufferType], None, None]: ...
200 def clear_buffer(self) -> None: ...
201 def write_midi_event(self, time: int, event: bytes | Sequence[int] | _CBufferType) -> None: ...
202 def reserve_midi_event(self, time: int, size: int) -> _CBufferType: ...
205 def __init__(self, client: Client, porttype: Any, flag: Any) -> None: ...
206 def __len__(self) -> int: ...
207 def __getitem__(self, name: str) -> Port: ...
208 def __iter__(self) -> Iterator[Port]: ...
209 def register(self, shortname: str, is_terminal: bool = ..., is_physical: bool = ...) -> Port: ...
210 def clear(self) -> None: ...
213 def __init__(self, size: int) -> None: ...
215 def write_space(self) -> int: ...
216 def write(self, data: bytes | Iterable[int] | _CBufferType) -> int: ...
218 def write_buffers(self) -> tuple[_CBufferType, _CBufferType]: ...
219 def write_advance(self, size: int) -> None: ...
221 def read_space(self) -> int: ...
222 def read(self, size: int) -> _CBufferType: ...
223 def peek(self, size: int) -> _CBufferType: ...
225 def read_buffers(self) -> tuple[_CBufferType, _CBufferType]: ...
226 def read_advance(self, size: int) -> None: ...
227 def mlock(self) -> None: ...
228 def reset(self, size: int | None = ...) -> None: ...
230 def size(self) -> int: ...
233 def __init__(self, code: int) -> None: ...
235 def failure(self) -> bool: ...
237 def invalid_option(self) -> bool: ...
239 def name_not_unique(self) -> bool: ...
241 def server_started(self) -> bool: ...
243 def server_failed(self) -> bool: ...
245 def server_error(self) -> bool: ...
247 def no_such_client(self) -> bool: ...
249 def load_failure(self) -> bool: ...
251 def init_failure(self) -> bool: ...
253 def shm_failure(self) -> bool: ...
255 def version_error(self) -> bool: ...
257 def backend_error(self) -> bool: ...
259 def client_zombie(self) -> bool: ...
261 class TransportState:
262 def __init__(self, code: int) -> None: ...
263 def __eq__(self, other: object) -> bool: ...
264 def __hash__(self) -> int: ...
266 class CallbackExit(Exception): ...
268 def get_property(subject: int | str, key: str) -> tuple[bytes, str] | None: ...
269 def get_properties(subject: int | str) -> dict[str, tuple[bytes, str]]: ...
270 def get_all_properties() -> dict[str, dict[str, tuple[bytes, str]]]: ...
271 def position2dict(pos: _JackPositionT) -> dict[str, Any]: ...
272 def version() -> tuple[int, int, int, int]: ...
273 def version_string() -> str: ...
274 def client_name_size() -> int: ...
275 def port_name_size() -> int: ...
276 def set_error_function(callback: Callable[[str], None] | None = ...) -> None: ...
277 def set_info_function(callback: Callable[[str], None] | None = ...) -> None: ...
278 def client_pid(name: str) -> int: ...