/[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 265 by capela, Wed Sep 29 16:05:24 2004 UTC revision 299 by capela, Wed Nov 17 15:41:58 2004 UTC
# Line 25  Line 25 
25  #include <qfileinfo.h>  #include <qfileinfo.h>
26  #include <qtooltip.h>  #include <qtooltip.h>
27  #include <qpopupmenu.h>  #include <qpopupmenu.h>
28    #include <qobjectlist.h>
29    
30  #include <math.h>  #include <math.h>
31    
# Line 70  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      }      }
# Line 101  void qsamplerChannelStrip::setDisplayFon Line 102  void qsamplerChannelStrip::setDisplayFon
102  }  }
103    
104    
105  // Channel setup dialog slot.  // Channel display background effect.
106  void qsamplerChannelStrip::channelSetup (void)  void qsamplerChannelStrip::setDisplayEffect ( bool bDisplayEffect )
107    {
108        QPixmap pm;
109        if (bDisplayEffect)
110            pm = QPixmap::fromMimeSource("displaybg1.png");
111        setDisplayBackground(pm);
112    }
113    
114    
115    // Update main display background pixmap.
116    void qsamplerChannelStrip::setDisplayBackground ( const QPixmap& pm )
117  {  {
118      showChannelSetup(false);      // Set the main origin...
119        ChannelInfoFrame->setPaletteBackgroundPixmap(pm);
120    
121        // Iterate for every child text label...
122        QObjectList *pList = ChannelInfoFrame->queryList("QLabel");
123        if (pList) {
124            for (QLabel *pLabel = (QLabel *) pList->first(); pLabel; pLabel = (QLabel *) pList->next())
125                pLabel->setPaletteBackgroundPixmap(pm);
126            delete pList;
127        }
128        
129        // And this standalone too.
130        StreamVoiceCountTextLabel->setPaletteBackgroundPixmap(pm);
131  }  }
132    
133    
134  // Channel setup dialog.  // Channel setup dialog slot.
135  void qsamplerChannelStrip::showChannelSetup ( bool bNew )  bool qsamplerChannelStrip::channelSetup (void)
136  {  {
137        bool bResult = false;
138    
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 154  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 168  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 207  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.      // Conditionally update whole channel status info.
250      if (m_pChannel->instrumentStatus() >= 0 && m_pChannel->instrumentStatus() < 100) {      if (m_pChannel->instrumentStatus() >= 0 && m_pChannel->instrumentStatus() < 100) {
# Line 227  void qsamplerChannelStrip::updateChannel Line 255  void qsamplerChannelStrip::updateChannel
255      }      }
256      // Leave, if we still have an erroneus or incomplete instrument load.      // Leave, if we still have an erroneus or incomplete instrument load.
257      if (m_pChannel->instrumentStatus() < 100)      if (m_pChannel->instrumentStatus() < 100)
258          return;          return false;
259    
260      // Get current channel voice count.      // Get current channel voice count.
261      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 241  void qsamplerChannelStrip::updateChannel Line 269  void qsamplerChannelStrip::updateChannel
269      // Update the GUI elements...      // Update the GUI elements...
270      StreamUsageProgressBar->setProgress(iStreamUsage);      StreamUsageProgressBar->setProgress(iStreamUsage);
271      StreamVoiceCountTextLabel->setText(QString("%1 / %2").arg(iStreamCount).arg(iVoiceCount));      StreamVoiceCountTextLabel->setText(QString("%1 / %2").arg(iStreamCount).arg(iVoiceCount));
272        
273        // We're clean.
274        return true;
275  }  }
276    
277    

Legend:
Removed from v.265  
changed lines
  Added in v.299

  ViewVC Help
Powered by ViewVC