Add stubs for JACK-Client (#4809)

I am merging this ahead of the great typeshed reshuffling. Any remaining issues can be addressed later.
This commit is contained in:
Marks Polakovs
2021-01-24 13:57:51 +00:00
committed by GitHub
parent cf81a6df34
commit 0fd00f0290

286
third_party/3/jack/__init__.pyi vendored Normal file
View File

@@ -0,0 +1,286 @@
from typing import Any, Callable, Dict, Generator, Iterable, Iterator, List, Optional, Sequence, Tuple, Union, overload
_NDArray = Any # FIXME: no typings for numpy arrays
class _JackPositionT: ...
class _CBufferType:
@overload
def __getitem__(self, key: int) -> str: ...
@overload
def __getitem__(self, key: slice) -> bytes: ...
@overload
def __setitem__(self, key: int, val: str) -> None: ...
@overload
def __setitem__(self, key: slice, val: bytes) -> None: ...
def __len__(self) -> int: ...
def __bytes__(self) -> bytes: ...
STOPPED: int
ROLLING: int
STARTING: int
NETSTARTING: int
PROPERTY_CREATED: int
PROPERTY_CHANGED: int
PROPERTY_DELETED: int
POSITION_BBT: int
POSITION_TIMECODE: int
POSITION_BBT_FRAME_OFFSET: int
POSITION_AUDIO_VIDEO_RATIO: int
POSITION_VIDEO_FRAME_OFFSET: int
class JackError(Exception): ...
class JackErrorCode(JackError):
def __init__(self, message: str, code: int) -> None: ...
message: str = ...
code: int = ...
class JackOpenError(JackError):
def __init__(self, name: str, status: Status) -> None: ...
name: str = ...
status: Status = ...
class Client:
def __init__(
self,
name: str,
use_exact_name: bool = ...,
no_start_server: bool = ...,
servername: Optional[str] = ...,
session_id: Optional[str] = ...,
) -> None: ...
@property
def name(self) -> str: ...
@property
def uuid(self) -> str: ...
@property
def samplerate(self) -> int: ...
@property
def blocksize(self) -> int: ...
@blocksize.setter
def blocksize(self, blocksize: int) -> None: ...
@property
def status(self) -> Status: ...
@property
def realtime(self) -> bool: ...
@property
def frames_since_cycle_start(self) -> int: ...
@property
def frame_time(self) -> int: ...
@property
def last_frame_time(self) -> int: ...
@property
def inports(self) -> Ports: ...
@property
def outports(self) -> Ports: ...
@property
def midi_inports(self) -> Ports: ...
@property
def midi_outports(self) -> Ports: ...
def owns(self, port: Union[str, Port]) -> bool: ...
def activate(self) -> None: ...
def deactivate(self, ignore_errors: bool = ...) -> None: ...
def cpu_load(self) -> float: ...
def close(self, ignore_errors: bool = ...) -> None: ...
def connect(self, source: Union[str, Port], destination: Union[str, Port]) -> None: ...
def disconnect(self, source: Union[str, Port], destination: Union[str, Port]) -> None: ...
def transport_start(self) -> None: ...
def transport_stop(self) -> None: ...
@property
def transport_state(self) -> TransportState: ...
@property
def transport_frame(self) -> int: ...
@transport_frame.setter
def transport_frame(self, frame: int) -> None: ...
def transport_locate(self, frame: int) -> None: ...
def transport_query(self) -> Tuple[TransportState, Dict[str, Any]]: ...
def transport_query_struct(self) -> Tuple[TransportState, _JackPositionT]: ...
def transport_reposition_struct(self, position: _JackPositionT) -> None: ... # TODO
def set_sync_timeout(self, timeout: int) -> None: ...
def set_freewheel(self, onoff: bool) -> None: ...
def set_shutdown_callback(self, callback: Callable[[Status, str], None]) -> None: ...
def set_process_callback(self, callback: Callable[[int], None]) -> None: ...
def set_freewheel_callback(self, callback: Callable[[bool], None]) -> None: ...
def set_blocksize_callback(self, callback: Callable[[int], None]) -> None: ...
def set_samplerate_callback(self, callback: Callable[[int], None]) -> None: ...
def set_client_registration_callback(self, callback: Callable[[str, bool], None]) -> None: ...
def set_port_registration_callback(
self, callback: Optional[Callable[[Port, bool], None]] = ..., only_available: bool = ...
) -> None: ...
def set_port_connect_callback(
self, callback: Optional[Callable[[Port, Port, bool], None]] = ..., only_available: bool = ...
) -> None: ...
def set_port_rename_callback(
self, callback: Optional[Callable[[Port, str, str], None]] = ..., only_available: bool = ...
) -> None: ...
def set_graph_order_callback(self, callback: Callable[[], None]) -> None: ...
def set_xrun_callback(self, callback: Callable[[float], None]) -> None: ...
def set_sync_callback(self, callback: Optional[Callable[[int, _JackPositionT], None]]) -> None: ...
def release_timebase(self) -> None: ...
def set_timebase_callback(
self, callback: Optional[Callable[[int, int, _JackPositionT, bool], None]] = ..., conditional: bool = ...
) -> bool: ...
def set_property_change_callback(self, callback: Callable[[int, str, int], None]) -> None: ...
def get_uuid_for_client_name(self, name: str) -> str: ...
def get_client_name_by_uuid(self, uuid: str) -> str: ...
def get_port_by_name(self, name: str) -> Port: ...
def get_all_connections(self, port: Port) -> List[Port]: ...
def get_ports(
self,
name_pattern: str = ...,
is_audio: bool = ...,
is_midi: bool = ...,
is_input: bool = ...,
is_output: bool = ...,
is_physical: bool = ...,
can_monitor: bool = ...,
is_terminal: bool = ...,
) -> List[Port]: ...
def set_property(
self,
subject: Union[int, str],
key: str,
value: Union[str, bytes],
type: str = ...,
) -> None: ...
def remove_property(self, subject: Union[int, str], key: str) -> None: ...
def remove_properties(self, subject: Union[int, str]) -> int: ...
def remove_all_properties(self) -> None: ...
class Port:
def __init__(self, port_ptr: Any, client: Client) -> None: ...
def __eq__(self, other: object) -> bool: ...
def __ne__(self, other: object) -> bool: ...
@property
def name(self) -> str: ...
@property
def shortname(self) -> str: ...
@shortname.setter
def shortname(self, shortname: str) -> None: ...
@property
def aliases(self) -> List[str]: ...
def set_alias(self, alias: str) -> None: ...
def unset_alias(self, alias: str) -> None: ...
@property
def uuid(self) -> str: ...
is_audio: bool = ...
is_midi: bool = ...
@property
def is_input(self) -> bool: ...
@property
def is_output(self) -> bool: ...
@property
def is_physical(self) -> bool: ...
@property
def can_monitor(self) -> bool: ...
@property
def is_terminal(self) -> bool: ...
def request_monitor(self, onoff: bool) -> None: ...
class MidiPort(Port):
is_audio: bool = ...
is_midi: bool = ...
class OwnPort(Port):
@property
def number_of_connections(self) -> int: ...
@property
def connections(self) -> List[Port]: ...
def is_connected_to(self, port: Union[str, Port]) -> bool: ...
def connect(self, port: Union[str, Port]) -> None: ...
def disconnect(self, other: Optional[Union[str, Port]] = ...) -> None: ...
def unregister(self) -> None: ...
def get_buffer(self) -> _CBufferType: ...
def get_array(self) -> _NDArray: ...
class OwnMidiPort(MidiPort, OwnPort):
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
def get_buffer(self) -> _CBufferType: ...
def get_array(self) -> _NDArray: ...
@property
def max_event_size(self) -> int: ...
@property
def lost_midi_events(self) -> int: ...
def incoming_midi_events(
self,
) -> Generator[Tuple[int, _CBufferType], None, None]: ...
def clear_buffer(self) -> None: ...
def write_midi_event(self, time: int, event: Union[bytes, Sequence[int], _CBufferType]) -> None: ...
def reserve_midi_event(self, time: int, size: int) -> _CBufferType: ...
class Ports:
def __init__(self, client: Client, porttype: Any, flag: Any) -> None: ...
def __len__(self) -> int: ...
def __getitem__(self, name: str) -> Port: ...
def __iter__(self) -> Iterator[Port]: ...
def register(self, shortname: str, is_terminal: bool = ..., is_physical: bool = ...) -> Port: ...
def clear(self) -> None: ...
class RingBuffer:
def __init__(self, size: int) -> None: ...
@property
def write_space(self) -> int: ...
def write(self, data: Union[bytes, Iterable[int], _CBufferType]) -> int: ...
@property
def write_buffers(self) -> Tuple[_CBufferType, _CBufferType]: ...
def write_advance(self, size: int) -> None: ...
@property
def read_space(self) -> int: ...
def read(self, size: int) -> _CBufferType: ...
def peek(self, size: int) -> _CBufferType: ...
@property
def read_buffers(self) -> Tuple[_CBufferType, _CBufferType]: ...
def read_advance(self, size: int) -> None: ...
def mlock(self) -> None: ...
def reset(self, size: Optional[int] = ...) -> None: ...
@property
def size(self) -> int: ...
class Status:
def __init__(self, code: int) -> None: ...
@property
def failure(self) -> bool: ...
@property
def invalid_option(self) -> bool: ...
@property
def name_not_unique(self) -> bool: ...
@property
def server_started(self) -> bool: ...
@property
def server_failed(self) -> bool: ...
@property
def server_error(self) -> bool: ...
@property
def no_such_client(self) -> bool: ...
@property
def load_failure(self) -> bool: ...
@property
def init_failure(self) -> bool: ...
@property
def shm_failure(self) -> bool: ...
@property
def version_error(self) -> bool: ...
@property
def backend_error(self) -> bool: ...
@property
def client_zombie(self) -> bool: ...
class TransportState:
def __init__(self, code: int) -> None: ...
def __eq__(self, other: object) -> bool: ...
def __hash__(self) -> int: ...
class CallbackExit(Exception): ...
def get_property(subject: Union[int, str], key: str) -> Optional[Tuple[bytes, str]]: ...
def get_properties(subject: Union[int, str]) -> Dict[str, Tuple[bytes, str]]: ...
def get_all_properties() -> Dict[str, Dict[str, Tuple[bytes, str]]]: ...
def position2dict(pos: _JackPositionT) -> Dict[str, Any]: ...
def version() -> Tuple[int, int, int, int]: ...
def version_string() -> str: ...
def client_name_size() -> int: ...
def port_name_size() -> int: ...
def set_error_function(callback: Optional[Callable[[str], None]] = ...) -> None: ...
def set_info_function(callback: Optional[Callable[[str], None]] = ...) -> None: ...
def client_pid(name: str) -> int: ...