/[svn]/linuxsampler/trunk/src/drivers/midi/MidiInputDevicePlugin.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/drivers/midi/MidiInputDevicePlugin.cpp

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

revision 2353 by schoenebeck, Sun Jul 12 10:35:55 2009 UTC revision 2354 by persson, Sun Jul 8 10:29:07 2012 UTC
# Line 19  Line 19 
19   ***************************************************************************/   ***************************************************************************/
20    
21  #include "MidiInputDevicePlugin.h"  #include "MidiInputDevicePlugin.h"
22    #include "../../common/global_private.h"
23    
24  namespace LinuxSampler {  namespace LinuxSampler {
25    
# Line 32  namespace LinuxSampler { Line 33  namespace LinuxSampler {
33    
34    
35    
36    // *************** ParameterPortsPlugin  ***************
37    // *
38    
39        void MidiInputDevicePlugin::ParameterPortsPlugin::ForceSetValue(int ports) {
40            OnSetValue(ports);
41            iVal = ports;
42        }
43    
44    
45  // *************** MidiInputDevicePlugin ***************  // *************** MidiInputDevicePlugin ***************
46  // *  // *
47    
48      MidiInputDevicePlugin::MidiInputDevicePlugin(std::map<String, DeviceCreationParameter*> Parameters,      MidiInputDevicePlugin::MidiInputDevicePlugin(std::map<String, DeviceCreationParameter*> Parameters,
49                                                   void* pSampler) :                                                   void* pSampler) :
50          MidiInputDevice(Parameters, pSampler) {          MidiInputDevice(Parameters, pSampler) {
51          AcquirePorts(1);          AcquirePorts(((DeviceCreationParameterInt*)Parameters["PORTS"])->ValueAsInt());
52      }      }
53    
54      MidiInputDevicePlugin::~MidiInputDevicePlugin() {      MidiInputDevicePlugin::~MidiInputDevicePlugin() {
# Line 76  namespace LinuxSampler { Line 86  namespace LinuxSampler {
86          return new MidiInputPortPlugin(this, Ports.size());          return new MidiInputPortPlugin(this, Ports.size());
87      }      }
88    
89      void MidiInputDevicePlugin::DeleteMidiPort(MidiInputPort* pPort) {      void MidiInputDevicePlugin::AddMidiPort() {
90          delete (MidiInputPortPlugin*)pPort;          static_cast<ParameterPortsPlugin*>(
91                Parameters["PORTS"])->ForceSetValue(Ports.size() + 1);
92        }
93    
94        void MidiInputDevicePlugin::RemoveMidiPort(MidiInputPort* pPort) {
95            // reorder map so pPort is last
96            int portNumber = 0;
97            std::map<int, MidiInputPort*>::iterator i = Ports.begin();
98            for ( ; i != Ports.end(); ++i, portNumber++) {
99                if (i->second == pPort) break;
100            }
101            std::map<int, MidiInputPort*>::iterator previ = i;
102            for (++i ; i != Ports.end(); ++i, portNumber++) {
103                previ->second = i->second;
104                static_cast<MidiInputPortPlugin*>(previ->second)->portNumber = portNumber;
105                previ->second->PortParameters()["NAME"]->SetValue("Port " + ToString(portNumber));
106                previ = i;
107            }
108            previ->second = pPort;
109    
110            // delete the last port
111            static_cast<ParameterPortsPlugin*>(
112                Parameters["PORTS"])->ForceSetValue(Ports.size() - 1);
113      }      }
114    
115      bool MidiInputDevicePlugin::isAutonomousDevice() {      bool MidiInputDevicePlugin::isAutonomousDevice() {

Legend:
Removed from v.2353  
changed lines
  Added in v.2354

  ViewVC Help
Powered by ViewVC