/[svn]/libgig/trunk/src/gig.h
ViewVC logotype

Diff of /libgig/trunk/src/gig.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3327 by schoenebeck, Sun Jul 23 18:18:30 2017 UTC revision 3398 by schoenebeck, Sat Dec 9 16:39:27 2017 UTC
# Line 120  namespace gig { Line 120  namespace gig {
120       * @see enumCount(), enumKey(), enumKeys(), enumValue()       * @see enumCount(), enumKey(), enumKeys(), enumValue()
121       */       */
122      GIG_DECLARE_ENUM(loop_type_t,      GIG_DECLARE_ENUM(loop_type_t,
123          loop_type_normal        = 0x00000000,  ///< Loop forward (normal)          loop_type_normal        = 0x00000000,  /**< Loop forward (normal) */
124          loop_type_bidirectional = 0x00000001,  ///< Alternating loop (forward/backward, also known as Ping Pong)          loop_type_bidirectional = 0x00000001,  /**< Alternating loop (forward/backward, also known as Ping Pong) */
125          loop_type_backward      = 0x00000002   ///< Loop backward (reverse)          loop_type_backward      = 0x00000002   /**< Loop backward (reverse) */
126      );      );
127    
128      /** Society of Motion Pictures and Television E time format.      /** Society of Motion Pictures and Television E time format.
# Line 130  namespace gig { Line 130  namespace gig {
130       * @see enumCount(), enumKey(), enumKeys(), enumValue()       * @see enumCount(), enumKey(), enumKeys(), enumValue()
131       */       */
132      GIG_DECLARE_ENUM(smpte_format_t,      GIG_DECLARE_ENUM(smpte_format_t,
133          smpte_format_no_offset          = 0x00000000,  ///< no SMPTE offset          smpte_format_no_offset          = 0x00000000,  /**< no SMPTE offset */
134          smpte_format_24_frames          = 0x00000018,  ///< 24 frames per second          smpte_format_24_frames          = 0x00000018,  /**< 24 frames per second */
135          smpte_format_25_frames          = 0x00000019,  ///< 25 frames per second          smpte_format_25_frames          = 0x00000019,  /**< 25 frames per second */
136          smpte_format_30_frames_dropping = 0x0000001D,  ///< 30 frames per second with frame dropping (30 drop)          smpte_format_30_frames_dropping = 0x0000001D,  /**< 30 frames per second with frame dropping (30 drop) */
137          smpte_format_30_frames          = 0x0000001E   ///< 30 frames per second          smpte_format_30_frames          = 0x0000001E   /**< 30 frames per second */
138      );      );
139    
140      /** Defines the shape of a function graph.      /** Defines the shape of a function graph.
# Line 142  namespace gig { Line 142  namespace gig {
142       * @see enumCount(), enumKey(), enumKeys(), enumValue()       * @see enumCount(), enumKey(), enumKeys(), enumValue()
143       */       */
144      GIG_DECLARE_ENUM(curve_type_t,      GIG_DECLARE_ENUM(curve_type_t,
145          curve_type_nonlinear = 0,          curve_type_nonlinear = 0,          /**< Non-linear curve type. */
146          curve_type_linear    = 1,          curve_type_linear    = 1,          /**< Linear curve type. */
147          curve_type_special   = 2,          curve_type_special   = 2,          /**< Special curve type. */
148          curve_type_unknown   = 0xffffffff          curve_type_unknown   = 0xffffffff  /**< Unknown curve type. */
149      );      );
150    
151      /** Dimensions allow to bypass one of the following controllers.      /** Dimensions allow to bypass one of the following controllers.
# Line 153  namespace gig { Line 153  namespace gig {
153       * @see enumCount(), enumKey(), enumKeys(), enumValue()       * @see enumCount(), enumKey(), enumKeys(), enumValue()
154       */       */
155      GIG_DECLARE_ENUM(dim_bypass_ctrl_t,      GIG_DECLARE_ENUM(dim_bypass_ctrl_t,
156          dim_bypass_ctrl_none,          dim_bypass_ctrl_none, /**< No controller bypass. */
157          dim_bypass_ctrl_94,   ///< Effect 4 Depth (MIDI Controller 94)          dim_bypass_ctrl_94,   /**< Effect 4 Depth (MIDI Controller 94) */
158          dim_bypass_ctrl_95    ///< Effect 5 Depth (MIDI Controller 95)          dim_bypass_ctrl_95    /**< Effect 5 Depth (MIDI Controller 95) */
159      );      );
160    
161      /** Defines how LFO3 is controlled by.      /** Defines how LFO3 is controlled by.
# Line 163  namespace gig { Line 163  namespace gig {
163       * @see enumCount(), enumKey(), enumKeys(), enumValue()       * @see enumCount(), enumKey(), enumKeys(), enumValue()
164       */       */
165      GIG_DECLARE_ENUM(lfo3_ctrl_t,      GIG_DECLARE_ENUM(lfo3_ctrl_t,
166          lfo3_ctrl_internal            = 0x00, ///< Only internally controlled.          lfo3_ctrl_internal            = 0x00, /**< Only internally controlled. */
167          lfo3_ctrl_modwheel            = 0x01, ///< Only controlled by external modulation wheel.          lfo3_ctrl_modwheel            = 0x01, /**< Only controlled by external modulation wheel. */
168          lfo3_ctrl_aftertouch          = 0x02, ///< Only controlled by aftertouch controller.          lfo3_ctrl_aftertouch          = 0x02, /**< Only controlled by aftertouch controller. */
169          lfo3_ctrl_internal_modwheel   = 0x03, ///< Controlled internally and by external modulation wheel.          lfo3_ctrl_internal_modwheel   = 0x03, /**< Controlled internally and by external modulation wheel. */
170          lfo3_ctrl_internal_aftertouch = 0x04  ///< Controlled internally and by aftertouch controller.          lfo3_ctrl_internal_aftertouch = 0x04  /**< Controlled internally and by aftertouch controller. */
171      );      );
172    
173      /** Defines how LFO2 is controlled by.      /** Defines how LFO2 is controlled by.
# Line 175  namespace gig { Line 175  namespace gig {
175       * @see enumCount(), enumKey(), enumKeys(), enumValue()       * @see enumCount(), enumKey(), enumKeys(), enumValue()
176       */       */
177      GIG_DECLARE_ENUM(lfo2_ctrl_t,      GIG_DECLARE_ENUM(lfo2_ctrl_t,
178          lfo2_ctrl_internal            = 0x00, ///< Only internally controlled.          lfo2_ctrl_internal            = 0x00, /**< Only internally controlled. */
179          lfo2_ctrl_modwheel            = 0x01, ///< Only controlled by external modulation wheel.          lfo2_ctrl_modwheel            = 0x01, /**< Only controlled by external modulation wheel. */
180          lfo2_ctrl_foot                = 0x02, ///< Only controlled by external foot controller.          lfo2_ctrl_foot                = 0x02, /**< Only controlled by external foot controller. */
181          lfo2_ctrl_internal_modwheel   = 0x03, ///< Controlled internally and by external modulation wheel.          lfo2_ctrl_internal_modwheel   = 0x03, /**< Controlled internally and by external modulation wheel. */
182          lfo2_ctrl_internal_foot       = 0x04  ///< Controlled internally and by external foot controller.          lfo2_ctrl_internal_foot       = 0x04  /**< Controlled internally and by external foot controller. */
183      );      );
184    
185      /** Defines how LFO1 is controlled by.      /** Defines how LFO1 is controlled by.
# Line 187  namespace gig { Line 187  namespace gig {
187       * @see enumCount(), enumKey(), enumKeys(), enumValue()       * @see enumCount(), enumKey(), enumKeys(), enumValue()
188       */       */
189      GIG_DECLARE_ENUM(lfo1_ctrl_t,      GIG_DECLARE_ENUM(lfo1_ctrl_t,
190          lfo1_ctrl_internal            = 0x00, ///< Only internally controlled.          lfo1_ctrl_internal            = 0x00, /**< Only internally controlled. */
191          lfo1_ctrl_modwheel            = 0x01, ///< Only controlled by external modulation wheel.          lfo1_ctrl_modwheel            = 0x01, /**< Only controlled by external modulation wheel. */
192          lfo1_ctrl_breath              = 0x02, ///< Only controlled by external breath controller.          lfo1_ctrl_breath              = 0x02, /**< Only controlled by external breath controller. */
193          lfo1_ctrl_internal_modwheel   = 0x03, ///< Controlled internally and by external modulation wheel.          lfo1_ctrl_internal_modwheel   = 0x03, /**< Controlled internally and by external modulation wheel. */
194          lfo1_ctrl_internal_breath     = 0x04  ///< Controlled internally and by external breath controller.          lfo1_ctrl_internal_breath     = 0x04  /**< Controlled internally and by external breath controller. */
195      );      );
196    
197      /** Defines how the filter cutoff frequency is controlled by.      /** Defines how the filter cutoff frequency is controlled by.
# Line 199  namespace gig { Line 199  namespace gig {
199       * @see enumCount(), enumKey(), enumKeys(), enumValue()       * @see enumCount(), enumKey(), enumKeys(), enumValue()
200       */       */
201      GIG_DECLARE_ENUM(vcf_cutoff_ctrl_t,      GIG_DECLARE_ENUM(vcf_cutoff_ctrl_t,
202          vcf_cutoff_ctrl_none         = 0x00,          vcf_cutoff_ctrl_none         = 0x00,  /**< No MIDI controller assigned for filter cutoff frequency. */
203          vcf_cutoff_ctrl_none2        = 0x01,  ///< The difference between none and none2 is unknown          vcf_cutoff_ctrl_none2        = 0x01,  /**< The difference between none and none2 is unknown */
204          vcf_cutoff_ctrl_modwheel     = 0x81,  ///< Modulation Wheel (MIDI Controller 1)          vcf_cutoff_ctrl_modwheel     = 0x81,  /**< Modulation Wheel (MIDI Controller 1) */
205          vcf_cutoff_ctrl_effect1      = 0x8c,  ///< Effect Controller 1 (Coarse, MIDI Controller 12)          vcf_cutoff_ctrl_effect1      = 0x8c,  /**< Effect Controller 1 (Coarse, MIDI Controller 12) */
206          vcf_cutoff_ctrl_effect2      = 0x8d,  ///< Effect Controller 2 (Coarse, MIDI Controller 13)          vcf_cutoff_ctrl_effect2      = 0x8d,  /**< Effect Controller 2 (Coarse, MIDI Controller 13) */
207          vcf_cutoff_ctrl_breath       = 0x82,  ///< Breath Controller (Coarse, MIDI Controller 2)          vcf_cutoff_ctrl_breath       = 0x82,  /**< Breath Controller (Coarse, MIDI Controller 2) */
208          vcf_cutoff_ctrl_foot         = 0x84,  ///< Foot Pedal (Coarse, MIDI Controller 4)          vcf_cutoff_ctrl_foot         = 0x84,  /**< Foot Pedal (Coarse, MIDI Controller 4) */
209          vcf_cutoff_ctrl_sustainpedal = 0xc0,  ///< Sustain Pedal (MIDI Controller 64)          vcf_cutoff_ctrl_sustainpedal = 0xc0,  /**< Sustain Pedal (MIDI Controller 64) */
210          vcf_cutoff_ctrl_softpedal    = 0xc3,  ///< Soft Pedal (MIDI Controller 67)          vcf_cutoff_ctrl_softpedal    = 0xc3,  /**< Soft Pedal (MIDI Controller 67) */
211          vcf_cutoff_ctrl_genpurpose7  = 0xd2,  ///< General Purpose Controller 7 (Button, MIDI Controller 82)          vcf_cutoff_ctrl_genpurpose7  = 0xd2,  /**< General Purpose Controller 7 (Button, MIDI Controller 82) */
212          vcf_cutoff_ctrl_genpurpose8  = 0xd3,  ///< General Purpose Controller 8 (Button, MIDI Controller 83)          vcf_cutoff_ctrl_genpurpose8  = 0xd3,  /**< General Purpose Controller 8 (Button, MIDI Controller 83) */
213          vcf_cutoff_ctrl_aftertouch   = 0x80   ///< Key Pressure          vcf_cutoff_ctrl_aftertouch   = 0x80   /**< Key Pressure */
214      );      );
215    
216      /** Defines how the filter resonance is controlled by.      /** Defines how the filter resonance is controlled by.
# Line 218  namespace gig { Line 218  namespace gig {
218       * @see enumCount(), enumKey(), enumKeys(), enumValue()       * @see enumCount(), enumKey(), enumKeys(), enumValue()
219       */       */
220      GIG_DECLARE_ENUM(vcf_res_ctrl_t,      GIG_DECLARE_ENUM(vcf_res_ctrl_t,
221          vcf_res_ctrl_none        = 0xffffffff,          vcf_res_ctrl_none        = 0xffffffff,  /**< No MIDI controller assigned for filter resonance. */
222          vcf_res_ctrl_genpurpose3 = 0,           ///< General Purpose Controller 3 (Slider, MIDI Controller 18)          vcf_res_ctrl_genpurpose3 = 0,           /**< General Purpose Controller 3 (Slider, MIDI Controller 18) */
223          vcf_res_ctrl_genpurpose4 = 1,           ///< General Purpose Controller 4 (Slider, MIDI Controller 19)          vcf_res_ctrl_genpurpose4 = 1,           /**< General Purpose Controller 4 (Slider, MIDI Controller 19) */
224          vcf_res_ctrl_genpurpose5 = 2,           ///< General Purpose Controller 5 (Button, MIDI Controller 80)          vcf_res_ctrl_genpurpose5 = 2,           /**< General Purpose Controller 5 (Button, MIDI Controller 80) */
225          vcf_res_ctrl_genpurpose6 = 3            ///< General Purpose Controller 6 (Button, MIDI Controller 81)          vcf_res_ctrl_genpurpose6 = 3            /**< General Purpose Controller 6 (Button, MIDI Controller 81) */
226      );      );
227    
228      /**      /**
# Line 239  namespace gig { Line 239  namespace gig {
239           * @see enumCount(), enumKey(), enumKeys(), enumValue()           * @see enumCount(), enumKey(), enumKeys(), enumValue()
240           */           */
241          GIG_DECLARE_ENUM(type_t,          GIG_DECLARE_ENUM(type_t,
242              type_none              = 0x00, ///< No controller defined              type_none              = 0x00, /**< No controller defined */
243              type_channelaftertouch = 0x2f, ///< Channel Key Pressure              type_channelaftertouch = 0x2f, /**< Channel Key Pressure */
244              type_velocity          = 0xff, ///< Key Velocity              type_velocity          = 0xff, /**< Key Velocity */
245              type_controlchange     = 0xfe  ///< Ordinary MIDI control change controller, see field 'controller_number'              type_controlchange     = 0xfe  /**< Ordinary MIDI control change controller, see field 'controller_number' */
246          );          );
247    
248          type_t type;              ///< Controller type          type_t type;              ///< Controller type
# Line 282  namespace gig { Line 282  namespace gig {
282       * @see enumCount(), enumKey(), enumKeys(), enumValue()       * @see enumCount(), enumKey(), enumKeys(), enumValue()
283       */       */
284      GIG_DECLARE_ENUM(dimension_t,      GIG_DECLARE_ENUM(dimension_t,
285          dimension_none              = 0x00, ///< Dimension not in use.          dimension_none              = 0x00, /**< Dimension not in use. */
286          dimension_samplechannel     = 0x80, ///< If used sample has more than one channel (thus is not mono).          dimension_samplechannel     = 0x80, /**< If used sample has more than one channel (thus is not mono). */
287          dimension_layer             = 0x81, ///< For layering of up to 8 instruments (and eventually crossfading of 2 or 4 layers).          dimension_layer             = 0x81, /**< For layering of up to 8 instruments (and eventually crossfading of 2 or 4 layers). */
288          dimension_velocity          = 0x82, ///< Key Velocity (this is the only dimension in gig2 where the ranges can exactly be defined).          dimension_velocity          = 0x82, /**< Key Velocity (this is the only dimension in gig2 where the ranges can exactly be defined). */
289          dimension_channelaftertouch = 0x83, ///< Channel Key Pressure          dimension_channelaftertouch = 0x83, /**< Channel Key Pressure */
290          dimension_releasetrigger    = 0x84, ///< Special dimension for triggering samples on releasing a key.          dimension_releasetrigger    = 0x84, /**< Special dimension for triggering samples on releasing a key. */
291          dimension_keyboard          = 0x85, ///< Dimension for keyswitching          dimension_keyboard          = 0x85, /**< Dimension for keyswitching */
292          dimension_roundrobin        = 0x86, ///< Different samples triggered each time a note is played, dimension regions selected in sequence          dimension_roundrobin        = 0x86, /**< Different samples triggered each time a note is played, dimension regions selected in sequence */
293          dimension_random            = 0x87, ///< Different samples triggered each time a note is played, random order          dimension_random            = 0x87, /**< Different samples triggered each time a note is played, random order */
294          dimension_smartmidi         = 0x88, ///< For MIDI tools like legato and repetition mode          dimension_smartmidi         = 0x88, /**< For MIDI tools like legato and repetition mode */
295          dimension_roundrobinkeyboard = 0x89, ///< Different samples triggered each time a note is played, any key advances the counter          dimension_roundrobinkeyboard = 0x89, /**< Different samples triggered each time a note is played, any key advances the counter */
296          dimension_modwheel          = 0x01, ///< Modulation Wheel (MIDI Controller 1)          dimension_modwheel          = 0x01, /**< Modulation Wheel (MIDI Controller 1) */
297          dimension_breath            = 0x02, ///< Breath Controller (Coarse, MIDI Controller 2)          dimension_breath            = 0x02, /**< Breath Controller (Coarse, MIDI Controller 2) */
298          dimension_foot              = 0x04, ///< Foot Pedal (Coarse, MIDI Controller 4)          dimension_foot              = 0x04, /**< Foot Pedal (Coarse, MIDI Controller 4) */
299          dimension_portamentotime    = 0x05, ///< Portamento Time (Coarse, MIDI Controller 5)          dimension_portamentotime    = 0x05, /**< Portamento Time (Coarse, MIDI Controller 5) */
300          dimension_effect1           = 0x0c, ///< Effect Controller 1 (Coarse, MIDI Controller 12)          dimension_effect1           = 0x0c, /**< Effect Controller 1 (Coarse, MIDI Controller 12) */
301          dimension_effect2           = 0x0d, ///< Effect Controller 2 (Coarse, MIDI Controller 13)          dimension_effect2           = 0x0d, /**< Effect Controller 2 (Coarse, MIDI Controller 13) */
302          dimension_genpurpose1       = 0x10, ///< General Purpose Controller 1 (Slider, MIDI Controller 16)          dimension_genpurpose1       = 0x10, /**< General Purpose Controller 1 (Slider, MIDI Controller 16) */
303          dimension_genpurpose2       = 0x11, ///< General Purpose Controller 2 (Slider, MIDI Controller 17)          dimension_genpurpose2       = 0x11, /**< General Purpose Controller 2 (Slider, MIDI Controller 17) */
304          dimension_genpurpose3       = 0x12, ///< General Purpose Controller 3 (Slider, MIDI Controller 18)          dimension_genpurpose3       = 0x12, /**< General Purpose Controller 3 (Slider, MIDI Controller 18) */
305          dimension_genpurpose4       = 0x13, ///< General Purpose Controller 4 (Slider, MIDI Controller 19)          dimension_genpurpose4       = 0x13, /**< General Purpose Controller 4 (Slider, MIDI Controller 19) */
306          dimension_sustainpedal      = 0x40, ///< Sustain Pedal (MIDI Controller 64)          dimension_sustainpedal      = 0x40, /**< Sustain Pedal (MIDI Controller 64) */
307          dimension_portamento        = 0x41, ///< Portamento (MIDI Controller 65)          dimension_portamento        = 0x41, /**< Portamento (MIDI Controller 65) */
308          dimension_sostenutopedal    = 0x42, ///< Sostenuto Pedal (MIDI Controller 66)          dimension_sostenutopedal    = 0x42, /**< Sostenuto Pedal (MIDI Controller 66) */
309          dimension_softpedal         = 0x43, ///< Soft Pedal (MIDI Controller 67)          dimension_softpedal         = 0x43, /**< Soft Pedal (MIDI Controller 67) */
310          dimension_genpurpose5       = 0x30, ///< General Purpose Controller 5 (Button, MIDI Controller 80)          dimension_genpurpose5       = 0x30, /**< General Purpose Controller 5 (Button, MIDI Controller 80) */
311          dimension_genpurpose6       = 0x31, ///< General Purpose Controller 6 (Button, MIDI Controller 81)          dimension_genpurpose6       = 0x31, /**< General Purpose Controller 6 (Button, MIDI Controller 81) */
312          dimension_genpurpose7       = 0x32, ///< General Purpose Controller 7 (Button, MIDI Controller 82)          dimension_genpurpose7       = 0x32, /**< General Purpose Controller 7 (Button, MIDI Controller 82) */
313          dimension_genpurpose8       = 0x33, ///< General Purpose Controller 8 (Button, MIDI Controller 83)          dimension_genpurpose8       = 0x33, /**< General Purpose Controller 8 (Button, MIDI Controller 83) */
314          dimension_effect1depth      = 0x5b, ///< Effect 1 Depth (MIDI Controller 91)          dimension_effect1depth      = 0x5b, /**< Effect 1 Depth (MIDI Controller 91) */
315          dimension_effect2depth      = 0x5c, ///< Effect 2 Depth (MIDI Controller 92)          dimension_effect2depth      = 0x5c, /**< Effect 2 Depth (MIDI Controller 92) */
316          dimension_effect3depth      = 0x5d, ///< Effect 3 Depth (MIDI Controller 93)          dimension_effect3depth      = 0x5d, /**< Effect 3 Depth (MIDI Controller 93) */
317          dimension_effect4depth      = 0x5e, ///< Effect 4 Depth (MIDI Controller 94)          dimension_effect4depth      = 0x5e, /**< Effect 4 Depth (MIDI Controller 94) */
318          dimension_effect5depth      = 0x5f  ///< Effect 5 Depth (MIDI Controller 95)          dimension_effect5depth      = 0x5f  /**< Effect 5 Depth (MIDI Controller 95) */
319      );      );
320    
321      /**      /**
# Line 325  namespace gig { Line 325  namespace gig {
325       * @see enumCount(), enumKey(), enumKeys(), enumValue()       * @see enumCount(), enumKey(), enumKeys(), enumValue()
326       */       */
327      GIG_DECLARE_ENUM(split_type_t,      GIG_DECLARE_ENUM(split_type_t,
328          split_type_normal,         ///< dimension value between 0-127          split_type_normal,         /**< dimension value between 0-127 */
329          split_type_bit             ///< dimension values are already the sought bit number          split_type_bit             /**< dimension values are already the sought bit number */
330      );      );
331    
332      /** General dimension definition. */      /** General dimension definition. */
# Line 343  namespace gig { Line 343  namespace gig {
343       * @see enumCount(), enumKey(), enumKeys(), enumValue()       * @see enumCount(), enumKey(), enumKeys(), enumValue()
344       */       */
345      GIG_DECLARE_ENUM(vcf_type_t,      GIG_DECLARE_ENUM(vcf_type_t,
346          vcf_type_lowpass      = 0x00,          vcf_type_lowpass      = 0x00, /**< Standard lowpass filter type. */
347          vcf_type_lowpassturbo = 0xff, ///< More poles than normal lowpass          vcf_type_lowpassturbo = 0xff, /**< More poles than normal lowpass. */
348          vcf_type_bandpass     = 0x01,          vcf_type_bandpass     = 0x01, /**< Bandpass filter type. */
349          vcf_type_highpass     = 0x02,          vcf_type_highpass     = 0x02, /**< Highpass filter type. */
350          vcf_type_bandreject   = 0x03          vcf_type_bandreject   = 0x03  /**< Highpass filter type. */
351      );      );
352    
353      /**      /**

Legend:
Removed from v.3327  
changed lines
  Added in v.3398

  ViewVC Help
Powered by ViewVC