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

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

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

revision 1950 by schoenebeck, Tue Mar 11 15:20:46 2008 UTC revision 1951 by persson, Wed Jul 29 15:31:09 2009 UTC
# Line 86  namespace LinuxSampler { Line 86  namespace LinuxSampler {
86      }      }
87    
88      void MidiInputDeviceAlsa::MidiInputPortAlsa::ParameterAlsaSeqBindings::OnSetValue(std::vector<String> vS) throw (Exception) {      void MidiInputDeviceAlsa::MidiInputPortAlsa::ParameterAlsaSeqBindings::OnSetValue(std::vector<String> vS) throw (Exception) {
89          std::vector<snd_seq_port_subscribe_t*>::iterator it = pPort->subscriptions.begin();          pPort->UnsubscribeAll();
         for (; it != pPort->subscriptions.end(); it++) {  
             if(snd_seq_unsubscribe_port(pPort->pDevice->hAlsaSeq, *it)) {  
                 dmsg(1,("ParameterAlsaSeqBindings::OnSetValue: Can't unsubscribe port connection!.\n"));  
             }  
             snd_seq_port_subscribe_free(*it);  
         }  
         pPort->subscriptions.clear();  
90    
91          std::vector<String>::iterator iter = vS.begin();          std::vector<String>::iterator iter = vS.begin();
92          for (; iter != vS.end(); iter++) pPort->ConnectToAlsaMidiSource((*iter).c_str());          for (; iter != vS.end(); iter++) pPort->ConnectToAlsaMidiSource((*iter).c_str());
# Line 146  namespace LinuxSampler { Line 139  namespace LinuxSampler {
139      }      }
140    
141      MidiInputDeviceAlsa::MidiInputPortAlsa::~MidiInputPortAlsa() {      MidiInputDeviceAlsa::MidiInputPortAlsa::~MidiInputPortAlsa() {
142              snd_seq_delete_simple_port(pDevice->hAlsaSeq, portNumber);          UnsubscribeAll();
143            snd_seq_delete_simple_port(pDevice->hAlsaSeq, portNumber);
144      }      }
145    
146      /**      /**
# Line 180  namespace LinuxSampler { Line 174  namespace LinuxSampler {
174          subscriptions.push_back(subs);          subscriptions.push_back(subs);
175      }      }
176    
177        void MidiInputDeviceAlsa::MidiInputPortAlsa::UnsubscribeAll() {
178            for (std::vector<snd_seq_port_subscribe_t*>::iterator it = subscriptions.begin();
179                 it != subscriptions.end(); it++) {
180                if (snd_seq_unsubscribe_port(pDevice->hAlsaSeq, *it)) {
181                    dmsg(1,("MidiInputPortAlsa::UnsubscribeAll: Can't unsubscribe port connection!.\n"));
182                }
183                snd_seq_port_subscribe_free(*it);
184            }
185            subscriptions.clear();
186        }
187    
188  // *************** MidiInputDeviceAlsa ***************  // *************** MidiInputDeviceAlsa ***************
189  // *  // *
# Line 234  namespace LinuxSampler { Line 237  namespace LinuxSampler {
237      }      }
238    
239      String MidiInputDeviceAlsa::Version() {      String MidiInputDeviceAlsa::Version() {
240              String s = "$Revision: 1.22 $";              String s = "$Revision: 1.23 $";
241              return s.substr(11, s.size() - 13); // cut dollar signs, spaces and CVS macro keyword              return s.substr(11, s.size() - 13); // cut dollar signs, spaces and CVS macro keyword
242      }      }
243    

Legend:
Removed from v.1950  
changed lines
  Added in v.1951

  ViewVC Help
Powered by ViewVC