You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

225 lines
7.2KB

  1. #ifndef TSOSCSEQEUNCEROUTPUTMESSAGES_HPP
  2. #define TSOSCSEQEUNCEROUTPUTMESSAGES_HPP
  3. // Output messages over OSC for trowaSoft Sequencers.
  4. enum SeqOSCOutputMsg {
  5. // Send Play State (Playing/Paused)
  6. // /play/state
  7. // Parameters: int playing
  8. PlayRunningState,
  9. // Send Play Toggle [touchOSC] (Playing/Paused)
  10. // /play/state/tog
  11. // Parameters: int playing
  12. PlayToggleRun,
  13. // Send Internal step clock tick or External clock pulse
  14. // /clock
  15. // Parameters: int step
  16. PlayClock,
  17. // Sequencer RESET button click
  18. // /reset
  19. // Parameters: “bang”
  20. PlayReset,
  21. // Send Current Playing Pattern
  22. // /play/pat
  23. // Parameters: int pattern
  24. PlayPattern,
  25. // Send the Current Stored Play Pattern
  26. // /play/pat/sav
  27. // Parameters: int pattern
  28. PlayPatternSav,
  29. // Send Current BPM
  30. // /bpm
  31. // Parameters: float bpm, int divisorId
  32. PlayBPM,
  33. // Send Stored BPM
  34. // /play/bpm/sav
  35. // Parameters: int pattern
  36. PlayBPMSav,
  37. // Send BPM Divisor
  38. // /bpmnote
  39. // Parameters: int divisorId
  40. PlayBPMNote,
  41. // Send Step Value
  42. // /step
  43. // Parameters: int step, float value
  44. EditStep,
  45. // Send Step String (voltSeq: needed for touchOSC). The step number will be part of the address (for touchOSC).
  46. // /step/lbl/
  47. // Parameters: string valStr
  48. EditStepString,
  49. // Send Step Value (Grid/touchOSC)
  50. // /edit/stepgrid/<row>/<col>
  51. // Parameters: float value
  52. EditTOSC_GridStep,
  53. // Send Current Length
  54. // /play/len
  55. // Parameters: int stepLength
  56. PlayLength,
  57. // Send the Current Stored Play Length
  58. // /play/len/sav
  59. // Parameters: int stepLength
  60. PlayLengthSav,
  61. // Send Current Output Mode (TRIG, RTRIG, GATE) or (VOLT, NOTE, PATT)
  62. // /play/omode
  63. // Parameters: int modeId
  64. PlayOutputMode,
  65. // Send Current Edit Pattern
  66. // /edit/pat
  67. // Parameters: int pattern
  68. EditPattern,
  69. // Send Current Edit Channel
  70. // /edit/ch
  71. // Parameters: int channel
  72. EditChannel,
  73. // Send Mode (Edit, Performance)
  74. // /mode
  75. // Parameters: int mode
  76. PlayMode,
  77. // Send Current Clipboard (copied Pattern/Channel)
  78. // /edit/clipboard/
  79. // Parameters: int pattern, int channel
  80. EditClipboard,
  81. // Send Current Pattern Copied to clipboard [touchOSC]
  82. // /edit/pat/cpycurr
  83. // Parameters: int pattern
  84. EditPatternCpyCurr,
  85. // Send Current Channel Copied to clipboard [touchOSC]
  86. // /edit/ch/cpycurr
  87. // Parameters: int channel
  88. EditChannelCpyCurr,
  89. // Send Current Step LED [touchOSC]
  90. // /step/led/<step>
  91. // Parameters: int value
  92. PlayStepLed,
  93. // Current Step LED Color [touchOSC]
  94. // /step/led/{step}/color
  95. // Parameters: string color
  96. PlayStepLedColor,
  97. // Step Color [touchOSC]
  98. // /edit/step/{step}/color
  99. // Parameters: string color
  100. EditStepColor,
  101. // Step Grid Color [touchOSC]
  102. // /edit/stepgrid/color
  103. // Parameters: string color
  104. EditStepGridColor,
  105. NUM_OSC_OUTPUT_MSGS
  106. };
  107. // In touch osc, to change color, use same address generally, just append "/color".
  108. #define OSC_TOUCH_OSC_CHANGE_COLOR_FS "%s/color"
  109. // Send Play State (Playing/Paused) (format string).
  110. // Parameters: int playing
  111. #define OSC_SEND_PLAY_RUNNINGSTATE_FS "%s/play/state"
  112. // Send Play Toggle [touchOSC] (Playing/Paused) (format string).
  113. // Parameters: int playing
  114. #define OSC_SEND_PLAY_TOGGLERUN_FS "%s/play/state/tog"
  115. // Send Internal step clock tick or External clock pulse (format string).
  116. // Parameters: int step
  117. #define OSC_SEND_PLAY_CLOCK_FS "%s/clock"
  118. // Sequencer RESET button click (format string).
  119. // Parameters: “bang”
  120. #define OSC_SEND_PLAY_RESET_FS "%s/reset"
  121. // Send Current Playing Pattern (format string).
  122. // Parameters: int pattern
  123. #define OSC_SEND_PLAY_PATTERN_FS "%s/play/pat"
  124. // Send the Current Stored Play Pattern (format string).
  125. // Parameters: int pattern
  126. #define OSC_SEND_PLAY_PATTERN_SAV_FS "%s/play/pat/sav"
  127. // Send Current BPM (format string).
  128. // Parameters: float bpm, int divisorId
  129. #define OSC_SEND_PLAY_BPM_FS "%s/play/bpm"
  130. // Send Stored BPM (format string).
  131. // Parameters: int pattern
  132. #define OSC_SEND_PLAY_BPM_SAV_FS "%s/play/bpm/sav"
  133. // Send BPM Divisor (format string).
  134. // Parameters: int divisorId
  135. #define OSC_SEND_PLAY_BPMNOTE_FS "%s/bpmnote"
  136. // Send Step Value (format string). The step number will be part of the address (for touchOSC).
  137. // Parameters: int step, float value
  138. #define OSC_SEND_EDIT_STEP_FS "%s/edit/step/"
  139. // Send Step String (format string). The step number will be part of the address (for touchOSC).
  140. // Parameters: int step, string valStr
  141. #define OSC_SEND_EDIT_STEPSTRING_FS "%s/edit/step/lbl/"
  142. // Send Step Value (Grid/touchOSC) (format string).
  143. // %s/edit/stepgrid/<row>/<col> : row/col should be appended.
  144. // Parameters: float value
  145. #define OSC_SEND_EDIT_TOSC_GRIDSTEP_FS "%s/edit/stepgrid/"
  146. // Send Current Length (format string).
  147. // Parameters: int stepLength
  148. #define OSC_SEND_PLAY_LENGTH_FS "%s/play/len"
  149. // Send the Current Stored Play Length (format string).
  150. // Parameters: int stepLength
  151. #define OSC_SEND_PLAY_LENGTH_SAV_FS "%s/play/len/sav"
  152. // Send Current Output Mode (TRIG, RTRIG, GATE) or (VOLT, NOTE, PATT) (format string).
  153. // Parameters: int modeId
  154. #define OSC_SEND_PLAY_OUTPUTMODE_FS "%s/play/omode"
  155. // Send Current Edit Pattern (format string).
  156. // Parameters: int pattern
  157. #define OSC_SEND_EDIT_PATTERN_FS "%s/edit/pat"
  158. // Send Current Edit Channel (format string).
  159. // Parameters: int channel
  160. #define OSC_SEND_EDIT_CHANNEL_FS "%s/edit/ch"
  161. // Send Mode (Edit, Performance) (format string).
  162. // Parameters: int mode
  163. #define OSC_SEND_PLAY_MODE_FS "%s/mode"
  164. // Send Current Clipboard (copied Pattern/Channel) (format string).
  165. // Parameters: int pattern, int channel
  166. #define OSC_SEND_EDIT_CLIPBOARD_FS "%s/edit/clipboard/"
  167. // Send Current Pattern Copied to clipboard [touchOSC] (format string).
  168. // Parameters: int pattern
  169. #define OSC_SEND_EDIT_PATTERN_CPYCURR_FS "%s/edit/pat/cpycurr"
  170. // Send Current Channel Copied to clipboard [touchOSC] (format string).
  171. // Parameters: int channel
  172. #define OSC_SEND_EDIT_CHANNEL_CPYCURR_FS "%s/edit/ch/cpycurr"
  173. // Send Current Step LED (format string).
  174. // %s/step/led/<step> : step should be appended.
  175. // Parameters: int value
  176. #define OSC_SEND_PLAY_STEP_LED_FS "%s/step/led/"
  177. // Current Step LED Color [touchOSC] (format string).
  178. // Parameters: string color
  179. #define OSC_SEND_PLAY_STEP_LEDCOLOR_FS "%s/step/led/{step}/color"
  180. // Step Color [touchOSC] (format string).
  181. // %s/edit/step/{step}/color
  182. // Parameters: string color
  183. #define OSC_SEND_EDIT_STEP_COLOR_FS "%s/edit/step/{step}/color"
  184. // Step Grid Color [touchOSC] (format string).
  185. // Parameters: string color
  186. #define OSC_SEND_EDIT_STEPGRID_COLOR_FS "%s/edit/stepgrid/color"
  187. // Format strings for our output OSC messages for our sequencers.
  188. const char* const TSSeqOSCOutputFormats[] = {
  189. OSC_SEND_PLAY_RUNNINGSTATE_FS,
  190. OSC_SEND_PLAY_TOGGLERUN_FS,
  191. OSC_SEND_PLAY_CLOCK_FS,
  192. OSC_SEND_PLAY_RESET_FS,
  193. OSC_SEND_PLAY_PATTERN_FS,
  194. OSC_SEND_PLAY_PATTERN_SAV_FS,
  195. OSC_SEND_PLAY_BPM_FS,
  196. OSC_SEND_PLAY_BPM_SAV_FS,
  197. OSC_SEND_PLAY_BPMNOTE_FS,
  198. OSC_SEND_EDIT_STEP_FS,
  199. OSC_SEND_EDIT_STEPSTRING_FS,
  200. OSC_SEND_EDIT_TOSC_GRIDSTEP_FS,
  201. OSC_SEND_PLAY_LENGTH_FS,
  202. OSC_SEND_PLAY_LENGTH_SAV_FS,
  203. OSC_SEND_PLAY_OUTPUTMODE_FS,
  204. OSC_SEND_EDIT_PATTERN_FS,
  205. OSC_SEND_EDIT_CHANNEL_FS,
  206. OSC_SEND_PLAY_MODE_FS,
  207. OSC_SEND_EDIT_CLIPBOARD_FS,
  208. OSC_SEND_EDIT_PATTERN_CPYCURR_FS,
  209. OSC_SEND_EDIT_CHANNEL_CPYCURR_FS,
  210. OSC_SEND_PLAY_STEP_LED_FS,
  211. OSC_SEND_PLAY_STEP_LEDCOLOR_FS,
  212. OSC_SEND_EDIT_STEP_COLOR_FS,
  213. OSC_SEND_EDIT_STEPGRID_COLOR_FS
  214. };
  215. #endif // TSOSCSEQEUNCEROUTPUTMESSAGES_HPP