/[svn]/linuxsampler/trunk/src/engines/EngineChannel.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/EngineChannel.cpp

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

revision 3687 by schoenebeck, Thu Jan 2 22:37:07 2020 UTC revision 3697 by schoenebeck, Sat Jan 4 12:09:45 2020 UTC
# Line 43  namespace LinuxSampler { Line 43  namespace LinuxSampler {
43          uint8_t uiMidiBankLsb;          uint8_t uiMidiBankLsb;
44          uint8_t uiMidiRpnMsb; ///< MIDI Registered Parameter Number (upper 7 bits / coarse)          uint8_t uiMidiRpnMsb; ///< MIDI Registered Parameter Number (upper 7 bits / coarse)
45          uint8_t uiMidiRpnLsb; ///< MIDI Registered Parameter Number (lower 7 bits / fine)          uint8_t uiMidiRpnLsb; ///< MIDI Registered Parameter Number (lower 7 bits / fine)
46            uint8_t uiMidiRpnDataMsb; ///< New MIDI RPN Parameter Value (upper 7 bits / coarse)
47            uint8_t uiMidiRpnDataLsb; ///< New MIDI RPN Parameter Value (lower 7 bits / fine)
48          uint8_t uiMidiNrpnMsb; ///< MIDI Non-Registered Parameter Number (upper 7 bits / coarse)          uint8_t uiMidiNrpnMsb; ///< MIDI Non-Registered Parameter Number (upper 7 bits / coarse)
49          uint8_t uiMidiNrpnLsb; ///< MIDI Non-Registered Parameter Number (lower 7 bits / fine)          uint8_t uiMidiNrpnLsb; ///< MIDI Non-Registered Parameter Number (lower 7 bits / fine)
50            uint8_t uiMidiNrpnDataMsb; ///< New MIDI NRPN Parameter Value (upper 7 bits / coarse)
51            uint8_t uiMidiNrpnDataLsb; ///< New MIDI NRPN Parameter Value (lower 7 bits / fine)
52          bool    bMidiBankMsbReceived;          bool    bMidiBankMsbReceived;
53          bool    bMidiBankLsbReceived;          bool    bMidiBankLsbReceived;
54          bool    bProgramChangeReceived;          bool    bProgramChangeReceived;
# Line 242  namespace LinuxSampler { Line 246  namespace LinuxSampler {
246          SetMidiRpnParameterLsb(CtrlLSB);          SetMidiRpnParameterLsb(CtrlLSB);
247      }      }
248    
249        void EngineChannel::SetMidiRpnDataMsb(uint8_t DataMSB) {
250            p->uiMidiRpnDataMsb = DataMSB & 127;
251        }
252    
253        void EngineChannel::SetMidiRpnDataLsb(uint8_t DataLSB) {
254            p->uiMidiRpnDataLsb = DataLSB & 127;
255        }
256    
257      void EngineChannel::ResetMidiRpnParameter() {      void EngineChannel::ResetMidiRpnParameter() {
258          p->uiMidiRpnMsb = p->uiMidiRpnLsb = 0;          p->uiMidiRpnMsb = p->uiMidiRpnLsb = 0;
259            p->uiMidiRpnDataMsb = p->uiMidiRpnDataLsb = 0;
260          p->bMidiRpnReceived = false;          p->bMidiRpnReceived = false;
261      }      }
262    
# Line 261  namespace LinuxSampler { Line 274  namespace LinuxSampler {
274                 (p->uiMidiRpnMsb << 8) | p->uiMidiRpnLsb : -1;                 (p->uiMidiRpnMsb << 8) | p->uiMidiRpnLsb : -1;
275      }      }
276    
277        int EngineChannel::GetMidiRpnData() {
278            return (p->bMidiRpnReceived) ?
279                   (p->uiMidiRpnDataMsb << 7) | p->uiMidiRpnDataLsb : 0;
280        }
281    
282      // NRPNs ...      // NRPNs ...
283    
284      void EngineChannel::SetMidiNrpnParameterMsb(uint8_t ParamMSB) {      void EngineChannel::SetMidiNrpnParameterMsb(uint8_t ParamMSB) {
# Line 281  namespace LinuxSampler { Line 299  namespace LinuxSampler {
299          SetMidiNrpnParameterLsb(CtrlLSB);          SetMidiNrpnParameterLsb(CtrlLSB);
300      }      }
301    
302        void EngineChannel::SetMidiNrpnDataMsb(uint8_t DataMSB) {
303            p->uiMidiNrpnDataMsb = DataMSB & 127;
304        }
305    
306        void EngineChannel::SetMidiNrpnDataLsb(uint8_t DataLSB) {
307            p->uiMidiNrpnDataLsb = DataLSB & 127;
308        }
309    
310      void EngineChannel::ResetMidiNrpnParameter() {      void EngineChannel::ResetMidiNrpnParameter() {
311          p->uiMidiNrpnMsb = p->uiMidiNrpnLsb = 0;          p->uiMidiNrpnMsb = p->uiMidiNrpnLsb = 0;
312            p->uiMidiNrpnDataMsb = p->uiMidiNrpnDataLsb = 0;
313          p->bMidiNrpnReceived = false;          p->bMidiNrpnReceived = false;
314      }      }
315    
# Line 300  namespace LinuxSampler { Line 327  namespace LinuxSampler {
327                 (p->uiMidiNrpnMsb << 8) | p->uiMidiNrpnLsb : -1;                 (p->uiMidiNrpnMsb << 8) | p->uiMidiNrpnLsb : -1;
328      }      }
329    
330        int EngineChannel::GetMidiNrpnData() {
331            return (p->bMidiNrpnReceived) ?
332                   (p->uiMidiNrpnDataMsb << 7) | p->uiMidiNrpnDataLsb : 0;
333        }
334    
335      uint EngineChannel::GetVoiceCount() {      uint EngineChannel::GetVoiceCount() {
336          return atomic_read(&p->voiceCount);          return atomic_read(&p->voiceCount);
337      }      }

Legend:
Removed from v.3687  
changed lines
  Added in v.3697

  ViewVC Help
Powered by ViewVC