/[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 3686 by schoenebeck, Mon Mar 12 15:14:31 2012 UTC revision 3687 by schoenebeck, Thu Jan 2 22:37:07 2020 UTC
# Line 3  Line 3 
3   *   LinuxSampler - modular, streaming capable sampler                     *   *   LinuxSampler - modular, streaming capable sampler                     *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *
6   *   Copyright (C) 2005 - 2012 Christian Schoenebeck                       *   *   Copyright (C) 2005 - 2020 Christian Schoenebeck                       *
7   *                                                                         *   *                                                                         *
8   *   This program is free software; you can redistribute it and/or modify  *   *   This program is free software; you can redistribute it and/or modify  *
9   *   it under the terms of the GNU General Public License as published by  *   *   it under the terms of the GNU General Public License as published by  *
# Line 41  namespace LinuxSampler { Line 41  namespace LinuxSampler {
41          uint8_t uiMidiProgram;          uint8_t uiMidiProgram;
42          uint8_t uiMidiBankMsb;          uint8_t uiMidiBankMsb;
43          uint8_t uiMidiBankLsb;          uint8_t uiMidiBankLsb;
44          uint8_t uiMidiRpnMsb; ///< MIDI Registered Parameter Number (upper 8 bits / coarse)          uint8_t uiMidiRpnMsb; ///< MIDI Registered Parameter Number (upper 7 bits / coarse)
45          uint8_t uiMidiRpnLsb; ///< MIDI Registered Parameter Number (lower 8 bits / fine)          uint8_t uiMidiRpnLsb; ///< MIDI Registered Parameter Number (lower 7 bits / fine)
46          uint8_t uiMidiNrpnMsb; ///< MIDI Non-Registered Parameter Number (upper 8 bits / coarse)          uint8_t uiMidiNrpnMsb; ///< MIDI Non-Registered Parameter Number (upper 7 bits / coarse)
47          uint8_t uiMidiNrpnLsb; ///< MIDI Non-Registered Parameter Number (lower 8 bits / fine)          uint8_t uiMidiNrpnLsb; ///< MIDI Non-Registered Parameter Number (lower 7 bits / fine)
48          bool    bMidiBankMsbReceived;          bool    bMidiBankMsbReceived;
49          bool    bMidiBankLsbReceived;          bool    bMidiBankLsbReceived;
50          bool    bProgramChangeReceived;          bool    bProgramChangeReceived;
# Line 70  namespace LinuxSampler { Line 70  namespace LinuxSampler {
70          SetVoiceCount(0);          SetVoiceCount(0);
71          SetDiskStreamCount(0);          SetDiskStreamCount(0);
72          p->pSamplerChannel = NULL;          p->pSamplerChannel = NULL;
73          ResetMidiRpnController();          ResetMidiRpnParameter();
74          ResetMidiNrpnController();          ResetMidiNrpnParameter();
75      }      }
76    
77      EngineChannel::~EngineChannel() {      EngineChannel::~EngineChannel() {
# Line 224  namespace LinuxSampler { Line 224  namespace LinuxSampler {
224    
225      // RPNs ...      // RPNs ...
226    
227      void EngineChannel::SetMidiRpnControllerMsb(uint8_t CtrlMSB) {      void EngineChannel::SetMidiRpnParameterMsb(uint8_t ParamMSB) {
228          p->uiMidiRpnMsb = CtrlMSB;          p->uiMidiRpnMsb = ParamMSB & 127;
229          p->bMidiRpnReceived = true;          p->bMidiRpnReceived = true;
230      }      }
231    
232      void EngineChannel::SetMidiRpnControllerLsb(uint8_t CtrlLSB) {      void EngineChannel::SetMidiRpnControllerMsb(uint8_t CtrlMSB) { // deprecated API
233          p->uiMidiRpnLsb = CtrlLSB;          SetMidiRpnParameterMsb(CtrlMSB);
234        }
235    
236        void EngineChannel::SetMidiRpnParameterLsb(uint8_t ParamLSB) {
237            p->uiMidiRpnLsb = ParamLSB & 127;
238          p->bMidiRpnReceived = true;          p->bMidiRpnReceived = true;
239      }      }
240    
241      void EngineChannel::ResetMidiRpnController() {      void EngineChannel::SetMidiRpnControllerLsb(uint8_t CtrlLSB) { // deprecated API
242            SetMidiRpnParameterLsb(CtrlLSB);
243        }
244    
245        void EngineChannel::ResetMidiRpnParameter() {
246          p->uiMidiRpnMsb = p->uiMidiRpnLsb = 0;          p->uiMidiRpnMsb = p->uiMidiRpnLsb = 0;
247          p->bMidiRpnReceived = false;          p->bMidiRpnReceived = false;
248      }      }
249    
250      int EngineChannel::GetMidiRpnController() {      void EngineChannel::ResetMidiRpnController() { // deprecated API
251            ResetMidiRpnParameter();
252        }
253    
254        int EngineChannel::GetMidiRpnParameter() {
255            return (p->bMidiRpnReceived) ?
256                   (p->uiMidiRpnMsb << 7) | p->uiMidiRpnLsb : -1;
257        }
258    
259        int EngineChannel::GetMidiRpnController() { // deprecated API
260          return (p->bMidiRpnReceived) ?          return (p->bMidiRpnReceived) ?
261                 (p->uiMidiRpnMsb << 8) | p->uiMidiRpnLsb : -1;                 (p->uiMidiRpnMsb << 8) | p->uiMidiRpnLsb : -1;
262      }      }
263    
264      // NRPNs ...      // NRPNs ...
265    
266      void EngineChannel::SetMidiNrpnControllerMsb(uint8_t CtrlMSB) {      void EngineChannel::SetMidiNrpnParameterMsb(uint8_t ParamMSB) {
267          p->uiMidiNrpnMsb = CtrlMSB;          p->uiMidiNrpnMsb = ParamMSB & 127;
268          p->bMidiNrpnReceived = true;          p->bMidiNrpnReceived = true;
269      }      }
270    
271      void EngineChannel::SetMidiNrpnControllerLsb(uint8_t CtrlLSB) {      void EngineChannel::SetMidiNrpnControllerMsb(uint8_t CtrlMSB) { // deprecated API
272          p->uiMidiNrpnLsb = CtrlLSB;          SetMidiNrpnParameterMsb(CtrlMSB);
273        }
274    
275        void EngineChannel::SetMidiNrpnParameterLsb(uint8_t ParamLSB) {
276            p->uiMidiNrpnLsb = ParamLSB & 127;
277          p->bMidiNrpnReceived = true;          p->bMidiNrpnReceived = true;
278      }      }
279    
280      void EngineChannel::ResetMidiNrpnController() {      void EngineChannel::SetMidiNrpnControllerLsb(uint8_t CtrlLSB) { // deprecated API
281            SetMidiNrpnParameterLsb(CtrlLSB);
282        }
283    
284        void EngineChannel::ResetMidiNrpnParameter() {
285          p->uiMidiNrpnMsb = p->uiMidiNrpnLsb = 0;          p->uiMidiNrpnMsb = p->uiMidiNrpnLsb = 0;
286          p->bMidiNrpnReceived = false;          p->bMidiNrpnReceived = false;
287      }      }
288    
289      int EngineChannel::GetMidiNrpnController() {      void EngineChannel::ResetMidiNrpnController() { // deprecated API
290            ResetMidiNrpnParameter();
291        }
292    
293        int EngineChannel::GetMidiNrpnParameter() {
294            return (p->bMidiNrpnReceived) ?
295                   (p->uiMidiNrpnMsb << 7)  | p->uiMidiNrpnLsb : -1;
296        }
297    
298        int EngineChannel::GetMidiNrpnController() { // deprecated API
299          return (p->bMidiNrpnReceived) ?          return (p->bMidiNrpnReceived) ?
300                 (p->uiMidiNrpnMsb << 8) | p->uiMidiNrpnLsb : -1;                 (p->uiMidiNrpnMsb << 8) | p->uiMidiNrpnLsb : -1;
301      }      }

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

  ViewVC Help
Powered by ViewVC