aboutsummaryrefslogtreecommitdiff
path: root/include/adlmidi.h
diff options
context:
space:
mode:
authorJP Cimalando <jpcima@users.noreply.github.com>2018-07-07 02:03:01 +0200
committerJP Cimalando <jpcima@users.noreply.github.com>2018-07-07 02:40:02 +0200
commit7cb0fe9dad9f7ef24d1142d866450305102bf3a9 (patch)
tree392c55537731346ec8dc65a9f93afb35fbe4f73d /include/adlmidi.h
parent63f0c95a978902e0896513ca4c7e7e3907da7b9d (diff)
downloadlibADLMIDI-7cb0fe9dad9f7ef24d1142d866450305102bf3a9.tar.gz
libADLMIDI-7cb0fe9dad9f7ef24d1142d866450305102bf3a9.tar.bz2
libADLMIDI-7cb0fe9dad9f7ef24d1142d866450305102bf3a9.zip
sequencer API to turn tracks on/off/solo
Diffstat (limited to 'include/adlmidi.h')
-rw-r--r--include/adlmidi.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/adlmidi.h b/include/adlmidi.h
index 387a30a..dc6fd8c 100644
--- a/include/adlmidi.h
+++ b/include/adlmidi.h
@@ -636,6 +636,33 @@ extern void adl_setTempo(struct ADL_MIDIPlayer *device, double tempo);
*/
extern int adl_atEnd(struct ADL_MIDIPlayer *device);
+/**
+ * @brief Returns the number of tracks of the current sequence
+ * @param device Instance of the library
+ * @return Count of tracks in the current sequence
+ */
+extern size_t adl_trackCount(struct ADL_MIDIPlayer *device);
+
+/**
+ * @brief Track options
+ */
+enum ADLMIDI_TrackOptions
+{
+ /*! Enabled track */
+ ADL_TrackOption_On = 1,
+ /*! Disabled track */
+ ADL_TrackOption_Off = 2,
+ /*! Solo track */
+ ADL_TrackOption_Solo = 3,
+};
+
+/**
+ * @brief Sets options on a track of the current sequence
+ * @param device Instance of the library
+ * @param trackNumber Identifier of the designated track.
+ * @return 0 on success, <0 when any error has occurred
+ */
+extern int adl_setTrackOptions(struct ADL_MIDIPlayer *device, size_t trackNumber, unsigned trackOptions);