/[svn]/linuxsampler/trunk/src/engines/common/Event.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/common/Event.h

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

revision 2598 by schoenebeck, Fri Jun 6 12:38:54 2014 UTC revision 2600 by schoenebeck, Sat Jun 7 00:16:03 2014 UTC
# Line 83  namespace LinuxSampler { Line 83  namespace LinuxSampler {
83              union {              union {
84                  /// Note-on and note-off event specifics                  /// Note-on and note-off event specifics
85                  struct _Note {                  struct _Note {
86                        uint8_t Channel;     ///< MIDI channel (0..15)
87                      uint8_t Key;         ///< MIDI key number of note-on / note-off event.                      uint8_t Key;         ///< MIDI key number of note-on / note-off event.
88                      uint8_t Velocity;    ///< Trigger or release velocity of note-on / note-off event.                      uint8_t Velocity;    ///< Trigger or release velocity of note-on / note-off event.
                     uint8_t Channel;     ///< MIDI channel (0..15)  
89                      int8_t  Layer;       ///< Layer index (usually only used if a note-on event has to be postponed, e.g. due to shortage of free voices).                      int8_t  Layer;       ///< Layer index (usually only used if a note-on event has to be postponed, e.g. due to shortage of free voices).
90                      int8_t  ReleaseTrigger; ///< If new voice should be a release triggered voice (actually boolean field and usually only used if a note-on event has to be postponed, e.g. due to shortage of free voices).                      int8_t  ReleaseTrigger; ///< If new voice should be a release triggered voice (actually boolean field and usually only used if a note-on event has to be postponed, e.g. due to shortage of free voices).
91                      void*   pRegion;     ///< Engine specific pointer to instrument region                      void*   pRegion;     ///< Engine specific pointer to instrument region
92                  } Note;                  } Note;
93                  /// Control change event specifics                  /// Control change event specifics
94                  struct _CC {                  struct _CC {
95                        uint8_t Channel;     ///< MIDI channel (0..15)
96                      uint8_t Controller;  ///< MIDI controller number of control change event.                      uint8_t Controller;  ///< MIDI controller number of control change event.
97                      uint8_t Value;       ///< Controller Value of control change event.                      uint8_t Value;       ///< Controller Value of control change event.
                     uint8_t Channel;     ///< MIDI channel (0..15)  
98                  } CC;                  } CC;
99                  /// Pitchbend event specifics                  /// Pitchbend event specifics
100                  struct _Pitch {                  struct _Pitch {
                     int16_t Pitch;       ///< Pitch value of pitchbend event.  
101                      uint8_t Channel;     ///< MIDI channel (0..15)                      uint8_t Channel;     ///< MIDI channel (0..15)
102                        int16_t Pitch;       ///< Pitch value of pitchbend event.
103                  } Pitch;                  } Pitch;
104                  /// MIDI system exclusive event specifics                  /// MIDI system exclusive event specifics
105                  struct _Sysex {                  struct _Sysex {
# Line 107  namespace LinuxSampler { Line 107  namespace LinuxSampler {
107                  } Sysex;                  } Sysex;
108                  /// Channel Pressure (aftertouch) event specifics                  /// Channel Pressure (aftertouch) event specifics
109                  struct _ChannelPressure {                  struct _ChannelPressure {
                     uint8_t Value;   ///< New aftertouch / pressure value for keys on that channel.  
110                      uint8_t Channel; ///< MIDI channel (0..15)                      uint8_t Channel; ///< MIDI channel (0..15)
111                        uint8_t Value;   ///< New aftertouch / pressure value for keys on that channel.
112                  } ChannelPressure;                  } ChannelPressure;
113                  /// Polyphonic Note Pressure (aftertouch) event specifics                  /// Polyphonic Note Pressure (aftertouch) event specifics
114                  struct _NotePressure {                  struct _NotePressure {
115                        uint8_t Channel; ///< MIDI channel (0..15)
116                      uint8_t Key;     ///< MIDI note number where key pressure (polyphonic aftertouch) changed.                      uint8_t Key;     ///< MIDI note number where key pressure (polyphonic aftertouch) changed.
117                      uint8_t Value;   ///< New pressure value for note.                      uint8_t Value;   ///< New pressure value for note.
                     uint8_t Channel; ///< MIDI channel (0..15)  
118                  } NotePressure;                  } NotePressure;
119              } Param;              } Param;
120                /// Sampler format specific informations and variables.
121                union {
122                    /// Gigasampler/GigaStudio format specifics.
123                    struct _Gig {
124                        uint8_t DimMask; ///< May be used to override the Dimension zone to be selected for a new voice: each 1 bit means that respective bit shall be overridden by taking the respective bit from DimBits instead.
125                        uint8_t DimBits; ///< Used only in conjunction with DimMask: Dimension bits that shall be selected.
126                    } Gig;
127                } Format;
128              EngineChannel* pEngineChannel; ///< Pointer to the EngineChannel where this event occured on, NULL means Engine global event (e.g. SysEx message).              EngineChannel* pEngineChannel; ///< Pointer to the EngineChannel where this event occured on, NULL means Engine global event (e.g. SysEx message).
129              MidiInputPort* pMidiInputPort; ///< Pointer to the MIDI input port on which this event occured (NOTE: currently only for global events, that is SysEx messages)              MidiInputPort* pMidiInputPort; ///< Pointer to the MIDI input port on which this event occured (NOTE: currently only for global events, that is SysEx messages)
130    

Legend:
Removed from v.2598  
changed lines
  Added in v.2600

  ViewVC Help
Powered by ViewVC