void SlideSwitchButton::init() { setCheckable( true ); #ifndef Q_OS_MAC setMouseTracking( true ); #endif m_backCheckedColorTop = TomahawkStyle::SLIDESWITCH_CHECKED_TOP; m_backCheckedColorBottom = TomahawkStyle::SLIDESWITCH_CHECKED_BOTTOM; m_backUncheckedColorTop = TomahawkStyle::SLIDESWITCH_UNCHECKED_TOP; m_backUncheckedColorBottom = TomahawkStyle::SLIDESWITCH_UNCHECKED_BOTTOM; m_baseColorTop = m_backUncheckedColorTop; m_baseColorBottom = m_backUncheckedColorBottom; m_textColor = TomahawkStyle::SLIDESWITCH_TEXT; setFocusPolicy( Qt::NoFocus ); m_knobX = 0.; m_textFont = font(); m_textFont.setBold( true ); m_textFont.setCapitalization( QFont::AllUppercase ); connect( this, SIGNAL( toggled( bool ) ), this, SLOT( onCheckedStateChanged() ) ); createKnob(); }
void DynamicController::initKnobs() { QMutableListIterator<QObject*> i(knobs); while (i.hasNext()) { QObject * o = i.next(); i.remove(); delete o; } if (!this->simple()) { if (m_type == Compressor) { //Init two knobs QQuickItem * knob1 = createKnob(); if (!knob1) { return; } knob1->setParentItem(this); knob1->setProperty("width", "parent.width * 0.1"); knob1->setProperty("height", "parent.height * 0.1"); knob1->setProperty("x", graphToNodeX(_tempModel["compx"])); knob1->setProperty("y", graphToNodeY(_tempModel["compy"])); knob1->setProperty("index", 0); QQuickItem * knob2 = createKnob(); knob2->setParentItem(this); knob2->setProperty("width", "parent.width * 0.1"); knob2->setProperty("height", "parent.height * 0.1"); knob2->setProperty("x", graphToNodeX(yAxis.max)); knob2->setProperty("y", graphToNodeY(_tempModel["compy"] * (1 - _tempModel["ratio"]))); knob2->setProperty("index", 1); knobs.append(knob1); knobs.append(knob2); } else if (m_type == Gate) { QQuickItem * knob1 = createKnob(); if (!knob1) return; knob1->setParentItem(this); knob1->setProperty("width", "parent.width * 0.1"); knob1->setProperty("height", "parent.height * 0.1"); knob1->setProperty("x", graphToNodeX(_tempModel["gatex"])); knob1->setProperty("y", graphToNodeY(_tempModel["gatey"])); knob1->setProperty("index", 0); knobs.append(knob1); } else if (m_type == GateCompressor) { QQuickItem * knob1 = createKnob(); if (!knob1) return; knob1->setParentItem(this); knob1->setProperty("width", "parent.width * 0.1"); knob1->setProperty("height", "parent.height * 0.1"); knob1->setProperty("x", graphToNodeX(_tempModel["gatex"])); knob1->setProperty("y", graphToNodeY(_tempModel["gatey"])); knob1->setProperty("index", 0); QQuickItem * knob2 = createKnob(); knob2->setParentItem(this); knob2->setProperty("width", "parent.width * 0.1"); knob2->setProperty("height", "parent.height * 0.1"); knob2->setProperty("x", graphToNodeX(_tempModel["compx"])); knob2->setProperty("y", graphToNodeY(_tempModel["compy"])); knob2->setProperty("index", 1); QQuickItem * knob3 = createKnob(); knob3->setParentItem(this); knob3->setProperty("width", "parent.width * 0.1"); knob3->setProperty("height", "parent.height * 0.1"); knob3->setProperty("x", graphToNodeX(yAxis.max)); knob3->setProperty("y", graphToNodeY(_tempModel["compy"] * (1 - _tempModel["ratio"]))); knob3->setProperty("index", 2); knobs.append(knob1); knobs.append(knob2); knobs.append(knob3); } } }
sfxrInstrumentView::sfxrInstrumentView( Instrument * _instrument, QWidget * _parent ) : InstrumentView( _instrument, _parent ) { srand(time(NULL)); setAutoFillBackground( true ); QPalette pal; pal.setBrush( backgroundRole(), PLUGIN_NAME::getIconPixmap( "artwork" ) ); setPalette( pal ); createKnob(m_attKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*0, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*0, "Attack Time"); createKnob(m_holdKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*1, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*0, "Sustain Time"); createKnob(m_susKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*2, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*0, "Sustain Punch"); createKnob(m_decKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*3, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*0, "Decay Time"); m_attKnob ->setObjectName( "envKnob" ); m_holdKnob ->setObjectName( "envKnob" ); m_susKnob ->setObjectName( "envKnob" ); m_decKnob ->setObjectName( "envKnob" ); createKnob(m_startFreqKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*0, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*1, "Start Frequency"); createKnob(m_minFreqKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*1, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*1, "Min Frequency"); createKnob(m_slideKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*2, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*1, "Slide"); createKnob(m_dSlideKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*3, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*1, "Delta Slide"); createKnob(m_vibDepthKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*4, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*1, "Vibrato Depth"); createKnob(m_vibSpeedKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*5, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*1, "Vibrato Speed"); m_startFreqKnob ->setObjectName( "freqKnob" ); m_minFreqKnob ->setObjectName( "freqKnob" ); m_slideKnob ->setObjectName( "freqKnob" ); m_dSlideKnob ->setObjectName( "freqKnob" ); m_vibDepthKnob ->setObjectName( "freqKnob" ); m_vibSpeedKnob ->setObjectName( "freqKnob" ); createKnob(m_changeAmtKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*0, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*2, "Change Amount"); createKnob(m_changeSpeedKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*1, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*2, "Change Speed"); m_changeAmtKnob ->setObjectName( "changeKnob" ); m_changeSpeedKnob ->setObjectName( "changeKnob" ); createKnob(m_sqrDutyKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*3, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*2, "Square Duty (Square wave only)"); createKnob(m_sqrSweepKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*4, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*2, "Duty Sweep (Square wave only)"); m_sqrDutyKnob ->setObjectName( "sqrKnob" ); m_sqrSweepKnob ->setObjectName( "sqrKnob" ); createKnob(m_repeatSpeedKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*0, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*3, "Repeat Speed"); m_repeatSpeedKnob ->setObjectName( "repeatKnob" ); createKnob(m_phaserOffsetKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*3, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*3, "Phaser Offset"); createKnob(m_phaserSweepKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*4, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*3, "Phaser Sweep"); m_phaserOffsetKnob ->setObjectName( "phaserKnob" ); m_phaserSweepKnob ->setObjectName( "phaserKnob" ); createKnob(m_lpFilCutKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*0, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*4, "LP Filter Cutoff"); createKnob(m_lpFilCutSweepKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*1, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*4, "LP Filter Cutoff Sweep"); createKnob(m_lpFilResoKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*2, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*4, "LP Filter Resonance"); createKnob(m_hpFilCutKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*3, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*4, "HP Filter Cutoff"); createKnob(m_hpFilCutSweepKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*4, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*4, "HP Filter Cutoff Sweep"); m_lpFilCutKnob ->setObjectName( "filterKnob" ); m_lpFilCutSweepKnob ->setObjectName( "filterKnob" ); m_lpFilResoKnob ->setObjectName( "filterKnob" ); m_hpFilCutKnob ->setObjectName( "filterKnob" ); m_hpFilCutSweepKnob ->setObjectName( "filterKnob" ); createButtonLocalGraphic(m_sqrWaveBtn, KNOBS_BASE_X+WAVEFORM_BUTTON_WIDTH*0, WAVEFORM_BASE_Y, "Square Wave", "sfxr_square_wave"); createButtonLocalGraphic(m_sawWaveBtn, KNOBS_BASE_X+WAVEFORM_BUTTON_WIDTH*1, WAVEFORM_BASE_Y, "Saw Wave", "sfxr_saw_wave"); createButtonLocalGraphic(m_sinWaveBtn, KNOBS_BASE_X+WAVEFORM_BUTTON_WIDTH*2, WAVEFORM_BASE_Y, "Sine Wave", "sfxr_sin_wave"); createButtonLocalGraphic(m_noiseWaveBtn, KNOBS_BASE_X+WAVEFORM_BUTTON_WIDTH*3, WAVEFORM_BASE_Y, "Noise", "sfxr_white_noise_wave"); m_waveBtnGroup = new automatableButtonGroup( this ); m_waveBtnGroup->addButton(m_sqrWaveBtn); m_waveBtnGroup->addButton(m_sawWaveBtn); m_waveBtnGroup->addButton(m_sinWaveBtn); m_waveBtnGroup->addButton(m_noiseWaveBtn); createButtonLocalGraphic(m_pickupBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*0, GENERATOR_BASE_Y, "Generate pick up/coin sfx", "pickup"); createButtonLocalGraphic(m_laserBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*1, GENERATOR_BASE_Y, "Generate laser/shoot sfx", "laser"); createButtonLocalGraphic(m_explosionBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*2, GENERATOR_BASE_Y, "Generate explosion sfx", "explosion"); createButtonLocalGraphic(m_powerupBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*3, GENERATOR_BASE_Y, "Generate power up sfx", "powerup"); createButtonLocalGraphic(m_hitBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*4, GENERATOR_BASE_Y, "Generate hit/hurt sfx", "hit"); createButtonLocalGraphic(m_jumpBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*5, GENERATOR_BASE_Y, "Generate jump sfx", "jump"); createButtonLocalGraphic(m_blipBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*6, GENERATOR_BASE_Y, "Generate blip/select sfx", "blip"); connect( m_pickupBtn, SIGNAL ( clicked() ), this, SLOT ( genPickup() ) ); connect( m_laserBtn, SIGNAL ( clicked() ), this, SLOT ( genLaser() ) ); connect( m_explosionBtn, SIGNAL ( clicked() ), this, SLOT ( genExplosion() ) ); connect( m_powerupBtn, SIGNAL ( clicked() ), this, SLOT ( genPowerup() ) ); connect( m_hitBtn, SIGNAL ( clicked() ), this, SLOT ( genHit() ) ); connect( m_jumpBtn, SIGNAL ( clicked() ), this, SLOT ( genJump() ) ); connect( m_blipBtn, SIGNAL ( clicked() ), this, SLOT ( genBlip() ) ); createButtonLocalGraphic(m_randomizeBtn, RAND_BUTTON_X, RAND_BUTTON_Y, "Generate random sfx", "randomize"); createButtonLocalGraphic(m_mutateBtn, MUTA_BUTTON_X, MUTA_BUTTON_Y, "Mutate sfx", "mutate"); connect( m_randomizeBtn, SIGNAL ( clicked() ), this, SLOT ( randomize() ) ); connect( m_mutateBtn, SIGNAL ( clicked() ), this, SLOT ( mutate() ) ); //preview sound on generator/random/mutate button clicked /* // disabled for now connect( m_pickupBtn, SIGNAL ( clicked() ), this, SLOT ( previewSound() ) ); connect( m_laserBtn, SIGNAL ( clicked() ), this, SLOT ( previewSound() ) ); connect( m_explosionBtn, SIGNAL ( clicked() ), this, SLOT ( previewSound() ) ); connect( m_powerupBtn, SIGNAL ( clicked() ), this, SLOT ( previewSound() ) ); connect( m_hitBtn, SIGNAL ( clicked() ), this, SLOT ( previewSound() ) ); connect( m_jumpBtn, SIGNAL ( clicked() ), this, SLOT ( previewSound() ) ); connect( m_blipBtn, SIGNAL ( clicked() ), this, SLOT ( previewSound() ) ); connect( m_randomizeBtn, SIGNAL ( clicked() ), this, SLOT ( previewSound() ) ); connect( m_mutateBtn, SIGNAL ( clicked() ), this, SLOT ( previewSound() ) ); */ }