void FxMixerView::refreshDisplay() { // delete all views and re-add them for( int i = 1; i<m_fxChannelViews.size(); ++i ) { chLayout->removeWidget(m_fxChannelViews[i]->m_fxLine); delete m_fxChannelViews[i]->m_fader; delete m_fxChannelViews[i]->m_muteBtn; delete m_fxChannelViews[i]->m_soloBtn; delete m_fxChannelViews[i]->m_fxLine; delete m_fxChannelViews[i]; m_racksLayout->removeWidget( m_fxChannelViews[i]->m_rackView ); } m_channelAreaWidget->adjustSize(); // re-add the views m_fxChannelViews.resize(engine::fxMixer()->numChannels()); for( int i = 1; i < m_fxChannelViews.size(); ++i ) { m_fxChannelViews[i] = new FxChannelView(m_channelAreaWidget, this, i); chLayout->addWidget(m_fxChannelViews[i]->m_fxLine); m_racksLayout->addWidget( m_fxChannelViews[i]->m_rackView ); } // set selected fx line to 0 setCurrentFxLine( 0 ); // update all fx lines for( int i = 0; i < m_fxChannelViews.size(); ++i ) { updateFxLine( i ); } updateMaxChannelSelector(); }
void FxMixerView::setCurrentFxLine( FxLine * _line ) { // select m_currentFxLine = _line; m_racksLayout->setCurrentWidget( m_fxChannelViews[ _line->channelIndex() ]->m_rackView ); // set up send knob for(int i = 0; i < m_fxChannelViews.size(); ++i) { updateFxLine(i); } }
void FxMixerView::setCurrentFxLine( FxLine * _line ) { // select m_currentFxLine = _line; m_rackView->setModel( &engine::fxMixer()->m_fxChannels[_line->channelIndex()]->m_fxChain ); // set up send knob for(int i = 0; i < m_fxChannelViews.size(); ++i) { updateFxLine(i); } }
void FxMixerView::addNewChannel() { // add new fx mixer channel and redraw the form. FxMixer * mix = engine::fxMixer(); int newChannelIndex = mix->createChannel(); m_fxChannelViews.push_back(new FxChannelView(m_channelAreaWidget, this, newChannelIndex)); chLayout->addWidget(m_fxChannelViews[newChannelIndex]->m_fxLine); updateFxLine(newChannelIndex); updateMaxChannelSelector(); }