/[svn]/qsampler/trunk/src/qsamplerChannelStrip.ui.h
ViewVC logotype

Diff of /qsampler/trunk/src/qsamplerChannelStrip.ui.h

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

revision 267 by capela, Wed Oct 6 15:42:59 2004 UTC revision 302 by capela, Wed Nov 17 17:17:18 2004 UTC
# Line 71  void qsamplerChannelStrip::setup ( qsamp Line 71  void qsamplerChannelStrip::setup ( qsamp
71      // Create a new one...      // Create a new one...
72      m_pChannel = new qsamplerChannel(pMainForm);      m_pChannel = new qsamplerChannel(pMainForm);
73      // And set appropriate settings.      // And set appropriate settings.
74      if (m_pChannel) {      if (m_pChannel && iChannelID >= 0) {
75          m_pChannel->setChannelID(iChannelID);          m_pChannel->setChannelID(iChannelID);
76          m_iDirtyChange = 0;          m_iDirtyChange = 0;
77      }      }
78        
79      // Stabilize this around.      // Stabilize this around.
80      updateChannelInfo();      updateChannelInfo();
81  }  }
# Line 132  void qsamplerChannelStrip::setDisplayBac Line 132  void qsamplerChannelStrip::setDisplayBac
132    
133    
134  // Channel setup dialog slot.  // Channel setup dialog slot.
135  void qsamplerChannelStrip::channelSetup (void)  bool qsamplerChannelStrip::channelSetup (void)
136  {  {
137      showChannelSetup(false);      bool bResult = false;
 }  
138    
   
 // Channel setup dialog.  
 void qsamplerChannelStrip::showChannelSetup ( bool bNew )  
 {  
139      qsamplerChannelForm *pChannelForm = new qsamplerChannelForm(this);      qsamplerChannelForm *pChannelForm = new qsamplerChannelForm(this);
140      if (pChannelForm) {      if (pChannelForm) {
141          pChannelForm->setup(m_pChannel, bNew);          pChannelForm->setup(m_pChannel);
142          if (pChannelForm->exec()) {          bResult = pChannelForm->exec();
             updateChannelInfo();  
             emit channelChanged(this);  
         }  
143          delete pChannelForm;          delete pChannelForm;
144      }      }
145    
146        if (bResult)
147            emit channelChanged(this);
148    
149        return bResult;
150  }  }
151    
152    
153  // Update whole channel info state.  // Update whole channel info state.
154  void qsamplerChannelStrip::updateChannelInfo (void)  bool qsamplerChannelStrip::updateChannelInfo (void)
155  {  {
156      if (m_pChannel == NULL)      if (m_pChannel == NULL)
157          return;          return false;
158                    
159      // Update strip caption.      // Update strip caption.
160      QString sText = tr("Channel %1").arg(m_pChannel->channelID());      QString sText = m_pChannel->channelName();
161      setCaption(sText);      setCaption(sText);
162      ChannelSetupPushButton->setText(sText);      ChannelSetupPushButton->setText(sText);
163    
164      // Check if we're up and connected.      // Check if we're up and connected.
165      if (m_pChannel->client() == NULL)      if (m_pChannel->client() == NULL)
166          return;          return false;
167    
168      // Read actual channel information.      // Read actual channel information.
169      m_pChannel->updateChannelInfo();      m_pChannel->updateChannelInfo();
# Line 184  void qsamplerChannelStrip::updateChannel Line 181  void qsamplerChannelStrip::updateChannel
181      if (m_pChannel->instrumentFile().isEmpty())      if (m_pChannel->instrumentFile().isEmpty())
182          InstrumentNameTextLabel->setText(sIndent + tr("(No instrument)"));          InstrumentNameTextLabel->setText(sIndent + tr("(No instrument)"));
183      else      else
184          InstrumentNameTextLabel->setText(sIndent + QString("%1 [%2]")          InstrumentNameTextLabel->setText(sIndent + qsamplerChannel::getInstrumentName(m_pChannel->instrumentFile(), m_pChannel->instrumentNr()));
             .arg(QFileInfo(m_pChannel->instrumentFile()).fileName()).arg(m_pChannel->instrumentNr()));  
185    
186      // Instrument status...      // Instrument status...
187      int iInstrumentStatus = m_pChannel->instrumentStatus();      int iInstrumentStatus = m_pChannel->instrumentStatus();
# Line 198  void qsamplerChannelStrip::updateChannel Line 194  void qsamplerChannelStrip::updateChannel
194      }      }
195    
196      // MIDI Port/Channel...      // MIDI Port/Channel...
197      if (m_pChannel->midiChannel() > 0)      if (m_pChannel->midiChannel() == LSCP_MIDI_CHANNEL_ALL)
         MidiPortChannelTextLabel->setText(QString("%1 / %2").arg(m_pChannel->midiPort()).arg(m_pChannel->midiChannel()));  
     else  
198          MidiPortChannelTextLabel->setText(QString("%1 / *").arg(m_pChannel->midiPort()));          MidiPortChannelTextLabel->setText(QString("%1 / *").arg(m_pChannel->midiPort()));
199        else
200            MidiPortChannelTextLabel->setText(QString("%1 / %2").arg(m_pChannel->midiPort()).arg(m_pChannel->midiChannel() + 1));
201    
202      // And update the both GUI volume elements.      // And update the both GUI volume elements.
203      updateChannelVolume();      return updateChannelVolume();
204  }  }
205    
206    
207  // Do the dirty volume change.  // Do the dirty volume change.
208  void qsamplerChannelStrip::updateChannelVolume (void)  bool qsamplerChannelStrip::updateChannelVolume (void)
209  {  {
210      if (m_pChannel == NULL)      if (m_pChannel == NULL)
211          return;          return false;
212    
213      // Convert...      // Convert...
214  #ifdef CONFIG_ROUND  #ifdef CONFIG_ROUND
# Line 237  void qsamplerChannelStrip::updateChannel Line 233  void qsamplerChannelStrip::updateChannel
233      VolumeSlider->setValue(iVolume);      VolumeSlider->setValue(iVolume);
234      VolumeSpinBox->setValue(iVolume);      VolumeSpinBox->setValue(iVolume);
235      m_iDirtyChange--;      m_iDirtyChange--;
236        
237        return true;
238  }  }
239    
240    
241  // Update whole channel usage state.  // Update whole channel usage state.
242  void qsamplerChannelStrip::updateChannelUsage (void)  bool qsamplerChannelStrip::updateChannelUsage (void)
243  {  {
244      if (m_pChannel == NULL)      if (m_pChannel == NULL)
245          return;          return false;
246      if (m_pChannel->client() == NULL)      if (m_pChannel->client() == NULL)
247          return;          return false;
248    
249      // Conditionally update whole channel status info.      // Update whole channel status info,
250      if (m_pChannel->instrumentStatus() >= 0 && m_pChannel->instrumentStatus() < 100) {      // if instrument load is still pending...
251        if (m_pChannel->instrumentStatus() < 100) {
252          updateChannelInfo();          updateChannelInfo();
253          // Once we get a complete instrument load, try a implied reset channel....          // Check (updated) status again...
254          if (m_pChannel->instrumentStatus() == 100)          if (m_pChannel->instrumentStatus() < 100)
255              m_pChannel->resetChannel();              return false;
256            // Once we get a complete instrument load,
257            // we'll try an implied channel reset...
258            m_pChannel->resetChannel();
259      }      }
260      // Leave, if we still have an erroneus or incomplete instrument load.      
261        // Check again that we're clean.
262      if (m_pChannel->instrumentStatus() < 100)      if (m_pChannel->instrumentStatus() < 100)
263          return;          return false;
264    
265      // Get current channel voice count.      // Get current channel voice count.
266      int iVoiceCount  = ::lscp_get_channel_voice_count(m_pChannel->client(), m_pChannel->channelID());      int iVoiceCount  = ::lscp_get_channel_voice_count(m_pChannel->client(), m_pChannel->channelID());
# Line 271  void qsamplerChannelStrip::updateChannel Line 274  void qsamplerChannelStrip::updateChannel
274      // Update the GUI elements...      // Update the GUI elements...
275      StreamUsageProgressBar->setProgress(iStreamUsage);      StreamUsageProgressBar->setProgress(iStreamUsage);
276      StreamVoiceCountTextLabel->setText(QString("%1 / %2").arg(iStreamCount).arg(iVoiceCount));      StreamVoiceCountTextLabel->setText(QString("%1 / %2").arg(iStreamCount).arg(iVoiceCount));
277        
278        // We're clean.
279        return true;
280  }  }
281    
282    

Legend:
Removed from v.267  
changed lines
  Added in v.302

  ViewVC Help
Powered by ViewVC