Compare commits

...

2 commits

2 changed files with 54 additions and 36 deletions

View file

@ -16,7 +16,7 @@ async def listen() -> None:
listener = MpdStateListener() listener = MpdStateListener()
now_playing = CocoaNowPlaying(listener) now_playing = CocoaNowPlaying(listener)
await listener.start(hostname=host, port=port, password=password) await listener.start(host=host, port=port, password=password)
await listener.loop(now_playing) await listener.loop(now_playing)

View file

@ -9,56 +9,74 @@ MPMusicPlaybackStatePlaying: Final = 1
MPMusicPlaybackStatePaused: Final = 2 MPMusicPlaybackStatePaused: Final = 2
MPMusicPlaybackState = Literal[0, 1, 2] MPMusicPlaybackState = Literal[0, 1, 2]
MPMediaItemPropertyAlbumTitle: Final = 'albumTitle' MPMediaItemPropertyAlbumTitle: Final = "albumTitle"
MPMediaItemPropertyArtist: Final = 'artist' MPMediaItemPropertyAlbumTrackNumber: Final = "albumTrackNumber"
MPMediaItemPropertyArtwork: Final = 'artwork' MPMediaItemPropertyDiscNumber: Final = "discNumber"
MPMediaItemPropertyPlaybackDuration: Final = 'playbackDuration' MPMediaItemPropertyGenre: Final = "genre"
MPMediaItemPropertyTitle: Final = 'title' MPMediaItemPropertyArtist: Final = "artist"
MPMediaItemPropertyComposer: Final = "composer"
MPMediaItemPropertyArtwork: Final = "artwork"
MPMediaItemPropertyPlaybackDuration: Final = "playbackDuration"
MPMediaItemPropertyPersistentID: Final = "persistentID"
MPMediaItemPropertyTitle: Final = "title"
MPNowPlayingInfoPropertyMediaType: Final = 'MPNowPlayingInfoPropertyMediaType' MPNowPlayingInfoPropertyMediaType: Final = "MPNowPlayingInfoPropertyMediaType"
MPNowPlayingInfoMediaTypeAudio: Final = 1 MPNowPlayingInfoMediaTypeAudio: Final = 1
MPNowPlayingInfoMediaTypeNone: Final = 0 MPNowPlayingInfoMediaTypeNone: Final = 0
MPNowPlayingInfoPropertyElapsedPlaybackTime: Final = 'MPNowPlayingInfoPropertyElapsedPlaybackTime' MPNowPlayingInfoPropertyPlaybackQueueCount: Final = (
"MPNowPlayingInfoPropertyPlaybackQueueCount"
)
MPNowPlayingInfoPropertyPlaybackQueueIndex: Final = (
"MPNowPlayingInfoPropertyPlaybackQueueIndex"
)
MPNowPlayingInfoPropertyElapsedPlaybackTime: Final = (
"MPNowPlayingInfoPropertyElapsedPlaybackTime"
)
MPNowPlayingInfoPropertyExternalContentIdentifier: Final = (
"MPNowPlayingInfoPropertyExternalContentIdentifier"
)
class MPMediaItemArtwork: class MPMediaItemArtwork:
@staticmethod @staticmethod
def alloc() -> type[MPMediaItemArtwork]: ... def alloc() -> type[MPMediaItemArtwork]: ...
@staticmethod @staticmethod
def initWithBoundsSize_requestHandler_(size: CGSize, handler: Callable[[CGSize], NSImage]) -> MPMediaItemArtwork: ... def initWithBoundsSize_requestHandler_(
size: CGSize, handler: Callable[[CGSize], NSImage]
) -> MPMediaItemArtwork: ...
class MPNowPlayingInfoCenter: class MPNowPlayingInfoCenter:
@staticmethod @staticmethod
def defaultCenter() -> MPNowPlayingInfoCenter: ... def defaultCenter() -> MPNowPlayingInfoCenter: ...
def setNowPlayingInfo_(self, info: NSMutableDictionary) -> None: ...
def setNowPlayingInfo_(self, info: NSMutableDictionary) -> None: ... def setPlaybackState_(self, state: MPMusicPlaybackState) -> None: ...
def setPlaybackState_(self, state: MPMusicPlaybackState) -> None: ...
MPRemoteCommandHandlerStatusSuccess: Literal[0] = 0 MPRemoteCommandHandlerStatusSuccess: Literal[0] = 0
MPRemoteCommandHandlerStatusCommandFailed: Literal[200] = 200 MPRemoteCommandHandlerStatusCommandFailed: Literal[200] = 200
MPRemoteCommandHandlerStatus = Literal[0, 200] MPRemoteCommandHandlerStatus = Literal[0, 200]
class MPRemoteCommandEvent: class MPRemoteCommandEvent:
pass pass
class MPRemoteCommand: class MPRemoteCommand:
def setEnabled_(self, enabled: bool) -> None: ... def setEnabled_(self, enabled: bool) -> None: ...
def removeTarget_(self, target: object) -> None: ... def removeTarget_(self, target: object) -> None: ...
def addTargetWithHandler_(self, handler: Callable[[MPRemoteCommandEvent], MPRemoteCommandHandlerStatus]) -> None: ... def addTargetWithHandler_(
self, handler: Callable[[MPRemoteCommandEvent], MPRemoteCommandHandlerStatus]
) -> None: ...
class MPRemoteCommandCenter: class MPRemoteCommandCenter:
@staticmethod @staticmethod
def sharedCommandCenter() -> MPRemoteCommandCenter: ... def sharedCommandCenter() -> MPRemoteCommandCenter: ...
def togglePlayPauseCommand(self) -> MPRemoteCommand: ...
def togglePlayPauseCommand(self) -> MPRemoteCommand: ... def playCommand(self) -> MPRemoteCommand: ...
def playCommand(self) -> MPRemoteCommand: ... def pauseCommand(self) -> MPRemoteCommand: ...
def pauseCommand(self) -> MPRemoteCommand: ... def stopCommand(self) -> MPRemoteCommand: ...
def stopCommand(self) -> MPRemoteCommand: ... def nextTrackCommand(self) -> MPRemoteCommand: ...
def nextTrackCommand(self) -> MPRemoteCommand: ... def previousTrackCommand(self) -> MPRemoteCommand: ...
def previousTrackCommand(self) -> MPRemoteCommand: ... def changePlaybackRateCommand(self) -> MPRemoteCommand: ...
def changePlaybackRateCommand(self) -> MPRemoteCommand: ... def seekBackwardCommand(self) -> MPRemoteCommand: ...
def seekBackwardCommand(self) -> MPRemoteCommand: ... def skipBackwardCommand(self) -> MPRemoteCommand: ...
def skipBackwardCommand(self) -> MPRemoteCommand: ... def seekForwardCommand(self) -> MPRemoteCommand: ...
def seekForwardCommand(self) -> MPRemoteCommand: ... def skipForwardCommand(self) -> MPRemoteCommand: ...
def skipForwardCommand(self) -> MPRemoteCommand: ... def changePlaybackPositionCommand(self) -> MPRemoteCommand: ...
def changePlaybackPositionCommand(self) -> MPRemoteCommand: ...