massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / JACK-Client / jack / __init__.pyi
1 from typing import Any, Callable, Generator, Iterable, Iterator, Sequence, overload
2
3 _NDArray = Any  # FIXME: no typings for numpy arrays
4
5 class _JackPositionT: ...
6
7 class _CBufferType:
8     @overload
9     def __getitem__(self, key: int) -> str: ...
10     @overload
11     def __getitem__(self, key: slice) -> bytes: ...
12     @overload
13     def __setitem__(self, key: int, val: str) -> None: ...
14     @overload
15     def __setitem__(self, key: slice, val: bytes) -> None: ...
16     def __len__(self) -> int: ...
17     def __bytes__(self) -> bytes: ...
18
19 STOPPED: int
20 ROLLING: int
21 STARTING: int
22 NETSTARTING: int
23 PROPERTY_CREATED: int
24 PROPERTY_CHANGED: int
25 PROPERTY_DELETED: int
26 POSITION_BBT: int
27 POSITION_TIMECODE: int
28 POSITION_BBT_FRAME_OFFSET: int
29 POSITION_AUDIO_VIDEO_RATIO: int
30 POSITION_VIDEO_FRAME_OFFSET: int
31
32 class JackError(Exception): ...
33
34 class JackErrorCode(JackError):
35     def __init__(self, message: str, code: int) -> None: ...
36     message: str = ...
37     code: int = ...
38
39 class JackOpenError(JackError):
40     def __init__(self, name: str, status: Status) -> None: ...
41     name: str = ...
42     status: Status = ...
43
44 class Client:
45     def __init__(
46         self,
47         name: str,
48         use_exact_name: bool = ...,
49         no_start_server: bool = ...,
50         servername: str | None = ...,
51         session_id: str | None = ...,
52     ) -> None: ...
53     @property
54     def name(self) -> str: ...
55     @property
56     def uuid(self) -> str: ...
57     @property
58     def samplerate(self) -> int: ...
59     @property
60     def blocksize(self) -> int: ...
61     @blocksize.setter
62     def blocksize(self, blocksize: int) -> None: ...
63     @property
64     def status(self) -> Status: ...
65     @property
66     def realtime(self) -> bool: ...
67     @property
68     def frames_since_cycle_start(self) -> int: ...
69     @property
70     def frame_time(self) -> int: ...
71     @property
72     def last_frame_time(self) -> int: ...
73     @property
74     def inports(self) -> Ports: ...
75     @property
76     def outports(self) -> Ports: ...
77     @property
78     def midi_inports(self) -> Ports: ...
79     @property
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: ...
90     @property
91     def transport_state(self) -> TransportState: ...
92     @property
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 = ...
110     ) -> None: ...
111     def set_port_connect_callback(
112         self, callback: Callable[[Port, Port, bool], None] | None = ..., only_available: bool = ...
113     ) -> None: ...
114     def set_port_rename_callback(
115         self, callback: Callable[[Port, str, str], None] | None = ..., only_available: bool = ...
116     ) -> None: ...
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 = ...
123     ) -> 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]: ...
129     def get_ports(
130         self,
131         name_pattern: str = ...,
132         is_audio: bool = ...,
133         is_midi: bool = ...,
134         is_input: bool = ...,
135         is_output: bool = ...,
136         is_physical: bool = ...,
137         can_monitor: bool = ...,
138         is_terminal: bool = ...,
139     ) -> list[Port]: ...
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: ...
144
145 class Port:
146     def __init__(self, port_ptr: Any, client: Client) -> None: ...
147     def __eq__(self, other: object) -> bool: ...
148     def __ne__(self, other: object) -> bool: ...
149     @property
150     def name(self) -> str: ...
151     @property
152     def shortname(self) -> str: ...
153     @shortname.setter
154     def shortname(self, shortname: str) -> None: ...
155     @property
156     def aliases(self) -> list[str]: ...
157     def set_alias(self, alias: str) -> None: ...
158     def unset_alias(self, alias: str) -> None: ...
159     @property
160     def uuid(self) -> str: ...
161     is_audio: bool = ...
162     is_midi: bool = ...
163     @property
164     def is_input(self) -> bool: ...
165     @property
166     def is_output(self) -> bool: ...
167     @property
168     def is_physical(self) -> bool: ...
169     @property
170     def can_monitor(self) -> bool: ...
171     @property
172     def is_terminal(self) -> bool: ...
173     def request_monitor(self, onoff: bool) -> None: ...
174
175 class MidiPort(Port):
176     is_audio: bool = ...
177     is_midi: bool = ...
178
179 class OwnPort(Port):
180     @property
181     def number_of_connections(self) -> int: ...
182     @property
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: ...
190
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: ...
195     @property
196     def max_event_size(self) -> int: ...
197     @property
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: ...
203
204 class Ports:
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: ...
211
212 class RingBuffer:
213     def __init__(self, size: int) -> None: ...
214     @property
215     def write_space(self) -> int: ...
216     def write(self, data: bytes | Iterable[int] | _CBufferType) -> int: ...
217     @property
218     def write_buffers(self) -> tuple[_CBufferType, _CBufferType]: ...
219     def write_advance(self, size: int) -> None: ...
220     @property
221     def read_space(self) -> int: ...
222     def read(self, size: int) -> _CBufferType: ...
223     def peek(self, size: int) -> _CBufferType: ...
224     @property
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: ...
229     @property
230     def size(self) -> int: ...
231
232 class Status:
233     def __init__(self, code: int) -> None: ...
234     @property
235     def failure(self) -> bool: ...
236     @property
237     def invalid_option(self) -> bool: ...
238     @property
239     def name_not_unique(self) -> bool: ...
240     @property
241     def server_started(self) -> bool: ...
242     @property
243     def server_failed(self) -> bool: ...
244     @property
245     def server_error(self) -> bool: ...
246     @property
247     def no_such_client(self) -> bool: ...
248     @property
249     def load_failure(self) -> bool: ...
250     @property
251     def init_failure(self) -> bool: ...
252     @property
253     def shm_failure(self) -> bool: ...
254     @property
255     def version_error(self) -> bool: ...
256     @property
257     def backend_error(self) -> bool: ...
258     @property
259     def client_zombie(self) -> bool: ...
260
261 class TransportState:
262     def __init__(self, code: int) -> None: ...
263     def __eq__(self, other: object) -> bool: ...
264     def __hash__(self) -> int: ...
265
266 class CallbackExit(Exception): ...
267
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: ...