Ejemplo n.º 1
0
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);
        }
    }
}
Ejemplo n.º 3
0
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() ) );
    */
}