-
-
Notifications
You must be signed in to change notification settings - Fork 4
API Events
- Musician.Events.Frame
- Musician.Events.RegistryReady
- Musician.Events.CommChannelUpdate
- Musician.Events.CommSendAction
- Musician.Events.CommSendActionComplete
- Musician.Events.SongPlay
- Musician.Events.SongStop
- Musician.Events.GlobalMute
- Musician.Events.SongChunk
- Musician.Events.StreamStart
- Musician.Events.StreamStop
- Musician.Events.SongCursor
- Musician.Events.SongInstrumentChange
- Musician.Events.SongTransposeChange
- Musician.Events.SongMutedChange
- Musician.Events.SongSoloChange
- Musician.Events.SongAudibleChange
- Musician.Events.SongAccentChange
- Musician.Events.SongCropFromChange
- Musician.Events.SongCropToChange
- Musician.Events.NoteOn
- Musician.Events.NoteOff
- Musician.Events.VisualNoteOn
- Musician.Events.VisualNoteOff
- Musician.Events.LiveNoteOn
- Musician.Events.LiveNoteOff
- Musician.Events.LiveModeChange
- Musician.Events.NoteDropped
- Musician.Events.PreloadingProgress
- Musician.Events.PreloadingComplete
- Musician.Events.QuickPreloadingComplete
- Musician.Events.SongImportStart
- Musician.Events.SongImportProgress
- Musician.Events.SongImportComplete
- Musician.Events.SongImportSuccessful
- Musician.Events.SongImportFailed
- Musician.Events.SongExportStart
- Musician.Events.SongExportProgress
- Musician.Events.SongExportComplete
- Musician.Events.SourceSongLoaded
- Musician.Events.PromoEmote
- Musician.Events.Bandwidth
- Musician.Events.BandPlay
- Musician.Events.BandStop
- Musician.Events.BandPlayReady
- Musician.Events.BandReadyPlayersUpdated
- Musician.Events.LiveBandSync
- Musician.Events.SongReceiveStart
- Musician.Events.SongReceiveProgress
- Musician.Events.SongReceiveComplete
- Musician.Events.SongReceiveCanceled
- Musician.Events.SongReceiveSuccessful
- Musician.Events.SongReceiveFailed
- Musician.Events.SongLink
Fired at every screen refresh. OnUpdate functions can be attached to this event without needing to create a new frame.
Arguments
- elapsed (number) Time in seconds since last frame
Fired when the player registry is ready to use.
Fired when the status of the communication channel has changed
Arguments
- isConnected (boolean) True when connected to the channel
Fired when a communication action has been initiated
Arguments
- action (string) Action name, from Musician.Comm.action
Fired when a communication action has been completed
Arguments
- action (string) Action name, from Musician.Comm.action
Fired when a song starts playing
Arguments
- song (Musician.Song)
Fired when a song stops playing
Arguments
- song (Musician.Song)
Fired when the global mute state has changed
Arguments
- isMuted (boolean)
Fired when a song chunk has been received
Arguments
- sender (string) Player name
- mode (number) Song mode (Musician.Song.MODE_DURATION or Musician.Song.MODE_LIVE)
- songId (number)
- chunkDuration (number) in seconds
- playtimeLeft (number) in seconds
- posY (number) Player world position Y
- posX (number) Player world position X
- posZ (number) Player world position Z
- instanceID (number) Player instance ID
- guid (string) Player GUID
Fired when a song starts streaming
Arguments
- song (Musician.Song)
Fired when a song stops streaming
Arguments
- song (Musician.Song)
Fired when the song cursor position has changed
Arguments
- song (Musician.Song)
Fired when the instrument of a song track has changed
Arguments
- song (Musician.Song)
- track (table) Track object of the song
- midiId (number) MIDI id of the instrument
Fired when the transposition of a song track has changed
Arguments
- song (Musician.Song)
- track (table) Track object of the song
- semitones (number) Transposition level, in semitones
Fired when the muted flag of a song track has changed
Arguments
- song (Musician.Song)
- track (table) Track object of the song
- isMuted (boolean) Muted flag
Fired when the solo flag of a song track has changed
Arguments
- song (Musician.Song)
- track (table) Track object of the song
- isSolo (boolean) Solo flag
Fired when the audible flag of a song track has changed
Arguments
- song (Musician.Song)
- track (table) Track object of the song
- isAudible (boolean) Audible flag
Fired when the accent flag of a song track has changed
Arguments
- song (Musician.Song)
- track (table) Track object of the song
- isAccent (boolean) Accent flag
Fired when the song crop from point has changed
Arguments
- song (Musician.Song)
- cropFrom (number) Crop from point
Fired when the song crop to point has changed
Arguments
- song (Musician.Song)
- cropTo (number) Crop to point
Fired when a song note starts playing and is audible
Arguments
- song (Musician.Song)
- track (table) Track object of the song
- key (number) MIDI key of the note
Fired when a song note stops playing
Arguments
- song (Musician.Song)
- track (table) Track object of the song
- key (number) MIDI key of the note
Fired when a song note starts playing, even when it's not audible (track muted, note dropped due to low polyphony etc.)
Used for visual feedback
Arguments
- song (Musician.Song)
- track (table) Track object of the song
- key (number) MIDI key of the note
- play (boolean) true when the note is audible
Fired when a song note stops playing, even when it was not audible (track muted, note dropped due to low polyphony etc.)
Used for visual feedback
Arguments
- song (Musician.Song)
- track (table) Track object of the song
- key (number) MIDI key of the note
Fired when a live note on event is being sent in live mode
Arguments
- key (number) MIDI key of the note
- layer (number) Keyboard layer from Musician.KEYBOARD_LAYER
- instrumentData (table) Instrument data from Musician.INSTRUMENTS
- isChordNote (boolean) true when note is a power chord
- source (table) UI component triggering the note
Fired when a live note off event is being sent in live mode
Arguments
- key (number) MIDI key of the note
- layer (number) Keyboard layer from Musician.KEYBOARD_LAYER
- isChordNote (boolean) true when note is a power chord
- source (table) UI component triggering the note
Fired when the live mode state is changed, by user's action or any other event that affects the live mode.
Fired when one or more note have been dropped due to a lack of polyphony during one frame while playing
Arguments
- song (Musician.Song)
- totalDrops (number) Total dropped notes since the song has been created
- drops (number) Number of notes dropped during the same frame
Fired when the preloading process is making progress
Arguments
- progress (number) Progression between 0 and 1
Fired when the preloading process is complete and all samples are now in disk cache
Fired when the quick preloading process is complete and the loading screen has been dismissed
Fired when the song importing process is starting
Arguments
- song (Musician.Song)
Fired when the song importing process is making progress
Arguments
- song (Musician.Song)
- progress (number) Progression between 0 and 1
Fired when the song importing process is complete, regardless if it failed or not
Arguments
- song (Musician.Song)
Fired when the song importing process is complete successfully
Arguments
- song (Musician.Song)
Fired when the song importing process failed
Arguments
- song (Musician.Song)
Fired when the song exporting process is starting
Arguments
- song (Musician.Song)
Fired when the song exporting process is making progress
Arguments
- song (Musician.Song)
- progress (number) Progression between 0 and 1
Fired when the song exporting process is complete, regardless if it failed or not
Arguments
- song (Musician.Song)
Fired when the source song Musician.sourceSong has been successfully loaded
Arguments
- song (Musician.Song)
Fired when a "promo" emote has been received and filtered in the chat
Arguments
- isPromoEmoteSuccessful (boolean) true if the music can be heard
- msg (string)
- fullPlayerName (string)
- ... (string) Other arguments provided by ChatFrame_AddMessageEventFilter() (languageName, channelName...)
Fired when bandwidth limit indicator has changed while streaming a song
Arguments
- bandwidth (number) Equals to 0 when < Musician.BANDWIDTH_LIMIT_MIN and > 1 when exceeding Musician.BANDWIDTH_LIMIT_MAX
Fired when a player of the party or raid starts playing a song as a band
Arguments
- sender (string) Player name
- songCrc32 (number) The song CRC32 that will play
Fired when a player of the party or raid stops playing a song as a band
Arguments
- sender (string) Player name
- songCrc32 (number) The song CRC32 that will be stopped
Fired when a player of the party or raid is ready (or no longer ready) for band play
Arguments
- player (string) Player name
- songCrc32 (number) The song CRC32 the player has loaded
- isReady (boolean) Player is ready when true
- eventPrefix (string) Message prefix from Musician.Comm.event
Fired every time the list of players ready for band play should be updated
Fired when a player of the party or raid is synchronized (or no longer synchronized) for band play in live mode
Arguments
- player (string) Player name
- isSynced (boolean)
Fired when the song reception process is starting
Arguments
- sender (string)
- context (table) Reference to the module that initiated the song request. (optional)
Fired when the song reception process is making progress
Arguments
- sender (string)
- progress (number) Progression between 0 and 1
- context (table) Reference to the module that initiated the song request. (optional)
Fired when the song reception process is complete, regardless if it failed or not
Arguments
- sender (string)
- context (table) Reference to the module that initiated the song request. (optional)
Fired when the song reception process has been canceled
Arguments
- sender (string)
- context (table) Reference to the module that initiated the song request. (optional)
Fired when the song reception process is complete successfully
Arguments
- sender (string)
- songData (string)
- song (Musician.Song) (optional)
- context (table) Reference to the module that initiated the song request. (optional)
Fired when the song reception process failed
Arguments
- sender (string)
- reason (string)
- title (string)
- context (table) Reference to the module that initiated the song request. (optional)
Fired when the user clicks on a song link
Arguments
- title (string)
- playerName (string)
Table of contents
- User guide (FR)
- Optional modules
- What the FAQ
- Tips and Tricks
- Music producer guide
- Localization
- Technical design
- API documentation
Discord / MusicianList / Patreon / Donate