ProRemoteClient class

the ProRemoteClient represents the Remote Control Websocket API.

The following data streams are exposed:

The following events are emitted:

clock, message, slide, presentation, update, action sent, action completed

Additionally, an event is emitted for every ProPresenter "action" (i.e. authenticate, presentationSlideIndex, etc.)

Inheritance

Constructors

ProRemoteClient(ProLegacyClient parent, ProSettings settings)

Properties

audioIsPlaying bool
no setter
audioPlaylistItemsByName Map<String, ProPlaylistItem>
no setter
audioPlaylists List<ProPlaylist>
no setter
basename2fullpath Map<String, String>
Pro6 sometimes sends the path as a "basename" but Pro7 always sends full pathname we make sure we always use the full pathname because it is more reliable
getter/setter pair
callbacks Map<String, List<void Function(ProEvent<Object> event)>>
getter/setter pairinherited
clocks List<ProClock>
no setter
clockStream Stream
no setter
completers Map<String, Completer>
getter/setter pair
connected bool
no setterinherited
connecting bool
no setterinherited
connectionStatus Stream<ProConnectionStatus>
no setterinherited
controlling bool
true when connected and authenticated
getter/setter pair
currentAudioPath String?
no setter
currentPresentation ProPresentation?
no setter
currentPresentationPath String?
no setter
currentSlide ProSlide?
no setter
currentSlideIndex int?
no setter
destroyed bool
getter/setter pairinherited
disconnected bool
no setterinherited
eventStream StreamController<ProEvent<Object>>
getter/setter pairinherited
failed bool
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
ip String
no setter
library List<ProLibraryItem>
no setter
loading bool
getter/setter pair
makeRequestedCurrent bool
getter/setter pair
messages List<ProMessage>
no setter
messageStream Stream<bool>
no setter
nextSlide ProSlide?
no setter
parent ProLegacyClient
this class might be managed by a parent combined class by keeping a reference to it here, we can access data available from the Stage Display Protocol too
getter/setter pair
password String?
no setter
playlistItemsByName Map<String, ProPlaylistItem>
no setter
playlists List<ProPlaylist>
no setter
port int
no setter
presentationsByPath Map<String, ProPresentation>
no setter
requestedPresentationPath String?
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
settings ProSettings
getter/setter pair
showingFirstSlide bool
no setter
showingLastSlide bool
no setter
slideUpdates Stream<bool>
no setter
socketConnectionListener StreamSubscription?
getter/setter pair
socketListener StreamSubscription?
getter/setter pair
stageMessage String?
no setter
state ProState
getter/setter pair
status ProConnectionStatus
getter/setter pairinherited
statusMap Map
no setter
updates Stream<String>
no setterinherited
version ProVersion
no setter
ws ↔ WS
getter/setter pair

Methods

act(String action, {Map<String, dynamic> args = const {}, String? responseAction}) Future
wrapper to send an 'action' to ProPresenter along with arguments set response action to '' to ignore responses or when no response is expected
audioPlayPause() Future
audioStartCue(String playlistLocation) Future
buildPlaylistItemLocationMap(List playlists) Map<String, ProPlaylistItem>
clear() → void
inherited
clearAll() Future
clearAnnouncements() Future
clearAudio() Future
clearBackground() Future
clearForeground() Future
clearMessages() Future
clearProps() Future
clearTelestrator() Future
clockReset(int id) Future
clockStart(int id) Future
clockStop(int id) Future
clockToggle(int id) Future
clockUpdate(ProClock clock) Future
completeAction(String action, [dynamic value]) → void
The way this system works is that everytime a message is sent to proPresenter a "completer" is created with the name of the relevant "action" Then, whenever we get a message from ProPresenter, we "complete" that completer which allows us to specify "callbacks" for propresenter requests
connect() Future<ProConnectionStatus>
delayedConnectionCheck() Future<ProConnectionStatus>
returns a future that completes after two seconds with the connection status
inherited
destroy() → void
disconnect() Future
dispose() → void
inherited
emit(String event, [Object? data]) → void
emit will always emit twice... first, by the name of the event submitted, and secondly, by the name of the special event 'all'
inherited
getAudioPlaylists() Future
get audio library items
getClocks() Future
getCurrentAudio() Future
getCurrentPresentation({int quality = SLIDE_HIGHQ, bool doubleLoad = true}) Future
for better user experience, we implement a doubleload feature that will first load the presentation using a low quality and then queue a request for a higher quality version
getCurrentSlideIndex() Future
getLibrary() Future
getMessages() Future
getPlaylists() Future
handleAudioCurrentSong(Map data) → void
handleAudioPlayPause(Map data) → void
handleAudioRequest(Map data) → void
handleAuthenticate(Map data) → void
handleClockCurrentTimes(Map data) → void
handleClockRequest(Map data) → void
handleClockStartStop(Map data) → void
handleLibraryRequest(Map data) → void
handleMessageHide(Map data) → void
handleMessageRequest(Map data) → void
handleMessageSend(Map data) → void
handlePlaylistRequestAll(Map data) → void
handlePresentationCurrent(Map data) → void
handlePresentationSlideIndex(Map data) → void
handlePresentationTriggerIndex(Map data) → void
handleResponse(WSMessage message) → void
loadNextPresentation() Future<bool>
loadPresentation({String? path, int quality = SLIDE_HIGHQ, bool doubleLoad = true}) Future
loadPreviousPresentation() Future<bool>
loadStatus() → void
requests all the data we need to get started and waits for the most important data to arrive
messageHide(int id) Future
messageSend(int id) Future
messageToggle(int id) Future
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notify([String eventName = 'update']) → void
inherited
on(String event, void callback(ProEvent<Object> event)) ProEventObserver
set a callback for events of this type.
inherited
stageDisplayHideMessage() Future
stageDisplaySelectLayout(int layoutId) Future
stageDisplaySendMessage([String? s]) Future
startSendingClockTimes() Future
stopSendingClockTimes() Future
stream(String event) Stream<ProEvent<Object>>
listen to an event on this ProEventEmitter as a stream. An ProEvent will be emitted whenever the event by this name is emitted.
inherited
toString() String
A string representation of this object.
inherited
triggerNext() Future
triggerPrev() Future
triggerSlide({ProPresentation? presentation, int index = 0}) Future
for immediate user feedback, we also update the current presentation in this function and don't wait for the response from ProPresenter

Operators

operator ==(Object other) bool
The equality operator.
inherited