InstrumentView: added generic DnD support, renamed/splitted files

Added generic drag'n'drop support for all instrument views. All
resources supported by the according instrument now can be dropped
onto instrument view without any extra code in actual instrument.

Additionally renamed some files and classes related to InstrumentView
class to match new style.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
This commit is contained in:
Tobias Doerffel
2009-06-30 01:19:48 +02:00
parent 65668f9489
commit f943df139e
35 changed files with 251 additions and 380 deletions

View File

@@ -79,8 +79,8 @@ audioFileProcessor::audioFileProcessor( instrumentTrack * _instrument_track ) :
m_ampModel( 100, 0, 500, 1, this, tr( "Amplify" ) ),
m_startPointModel( 0, 0, 1, 0.0000001f, this, tr( "Start of sample") ),
m_endPointModel( 1, 0, 1, 0.0000001f, this, tr( "End of sample" ) ),
m_reverseModel( FALSE, this, tr( "Reverse sample" ) ),
m_loopModel( FALSE, this, tr( "Loop") )
m_reverseModel( false, this, tr( "Reverse sample" ) ),
m_loopModel( false, this, tr( "Loop") )
{
connect( &m_reverseModel, SIGNAL( dataChanged() ),
this, SLOT( reverseModelChanged() ) );
@@ -115,7 +115,7 @@ void audioFileProcessor::playNote( notePlayHandle * _n,
if( m_sampleBuffer.play( _working_buffer,
(handleState *)_n->m_pluginData,
frames, _n->frequency(),
m_loopModel.value() ) == TRUE )
m_loopModel.value() ) == true )
{
applyRelease( _working_buffer, _n );
getInstrumentTrack()->processAudioBuffer( _working_buffer,
@@ -158,7 +158,7 @@ void audioFileProcessor::loadSettings( const QDomElement & _this )
{
if( _this.attribute( "src" ) != "" )
{
setAudioFile( _this.attribute( "src" ), FALSE );
setAudioFile( _this.attribute( "src" ), false );
}
else if( _this.attribute( "sampledata" ) != "" )
{
@@ -186,9 +186,9 @@ void audioFileProcessor::loadResource( const ResourceItem * _resourceItem )
QString audioFileProcessor::nodeName( void ) const
QString audioFileProcessor::nodeName() const
{
return( audiofileprocessor_plugin_descriptor.name );
return audiofileprocessor_plugin_descriptor.name;
}
@@ -200,9 +200,9 @@ Uint32 audioFileProcessor::getBeatLen( notePlayHandle * _n ) const
engine::getMixer()->processingSampleRate() /
engine::getMixer()->baseSampleRate();
return( static_cast<Uint32>( floorf( ( m_sampleBuffer.endFrame() -
return static_cast<Uint32>( floorf( ( m_sampleBuffer.endFrame() -
m_sampleBuffer.startFrame() ) *
freq_factor ) ) );
freq_factor ) );
}
@@ -210,7 +210,7 @@ Uint32 audioFileProcessor::getBeatLen( notePlayHandle * _n ) const
pluginView * audioFileProcessor::instantiateView( QWidget * _parent )
{
return( new audioFileProcessorView( this, _parent ) );
return new AudioFileProcessorView( this, _parent );
}
@@ -238,7 +238,7 @@ void audioFileProcessor::setAudioFile( const QString & _audio_file,
void audioFileProcessor::reverseModelChanged( void )
void audioFileProcessor::reverseModelChanged()
{
m_sampleBuffer.setReversed( m_reverseModel.value() );
}
@@ -246,7 +246,7 @@ void audioFileProcessor::reverseModelChanged( void )
void audioFileProcessor::ampModelChanged( void )
void audioFileProcessor::ampModelChanged()
{
m_sampleBuffer.setAmplification( m_ampModel.value() / 100.0f );
}
@@ -254,7 +254,7 @@ void audioFileProcessor::ampModelChanged( void )
void audioFileProcessor::loopPointChanged( void )
void audioFileProcessor::loopPointChanged()
{
const f_cnt_t f1 = static_cast<f_cnt_t>( m_startPointModel.value() *
( m_sampleBuffer.frames()-1 ) );
@@ -284,12 +284,12 @@ public:
QPixmap * audioFileProcessorView::s_artwork = NULL;
QPixmap * AudioFileProcessorView::s_artwork = NULL;
audioFileProcessorView::audioFileProcessorView( instrument * _instrument,
AudioFileProcessorView::AudioFileProcessorView( instrument * _instrument,
QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
if( s_artwork == NULL )
{
@@ -316,7 +316,7 @@ audioFileProcessorView::audioFileProcessorView( instrument * _instrument,
"sound like the original sample.") );
m_reverseButton = new pixmapButton( this );
m_reverseButton->setCheckable( TRUE );
m_reverseButton->setCheckable( true );
m_reverseButton->move( 184, 124 );
m_reverseButton->setActiveGraphic( PLUGIN_NAME::getIconPixmap(
"reverse_on" ) );
@@ -329,7 +329,7 @@ audioFileProcessorView::audioFileProcessorView( instrument * _instrument,
"crash." ) );
m_loopButton = new pixmapButton( this );
m_loopButton->setCheckable( TRUE );
m_loopButton->setCheckable( true );
m_loopButton->move( 220, 124 );
m_loopButton->setActiveGraphic( PLUGIN_NAME::getIconPixmap(
"loop_on" ) );
@@ -345,7 +345,7 @@ audioFileProcessorView::audioFileProcessorView( instrument * _instrument,
"samples." ) );
m_ampKnob = new knob( knobStyled, this );
m_ampKnob->setVolumeKnob( TRUE );
m_ampKnob->setVolumeKnob( true );
m_ampKnob->move( 17, 108 );
m_ampKnob->setFixedSize( 37, 47 );
m_ampKnob->setHintText( tr( "Amplify:" )+" ", "%" );
@@ -374,75 +374,19 @@ audioFileProcessorView::audioFileProcessorView( instrument * _instrument,
"If you enable looping-mode, this is the point where "
"AudioFileProcessor returns if a note is longer than "
"the sample between the start and end-points." ) );
setAcceptDrops( TRUE );
}
audioFileProcessorView::~audioFileProcessorView()
AudioFileProcessorView::~AudioFileProcessorView()
{
}
void audioFileProcessorView::dragEnterEvent( QDragEnterEvent * _dee )
{
if( _dee->mimeData()->hasFormat( stringPairDrag::mimeType() ) )
{
QString txt = _dee->mimeData()->data(
stringPairDrag::mimeType() );
if( txt.section( ':', 0, 0 ) == QString( "tco_%1" ).arg(
track::SampleTrack ) )
{
_dee->acceptProposedAction();
}
else if( txt.section( ':', 0, 0 ) == "samplefile" )
{
_dee->acceptProposedAction();
}
else
{
_dee->ignore();
}
}
else
{
_dee->ignore();
}
}
void audioFileProcessorView::dropEvent( QDropEvent * _de )
{
QString type = stringPairDrag::decodeKey( _de );
QString value = stringPairDrag::decodeValue( _de );
if( type == "samplefile" )
{
castModel<audioFileProcessor>()->setAudioFile( value );
_de->accept();
return;
}
else if( type == QString( "tco_%1" ).arg( track::SampleTrack ) )
{
multimediaProject mmp( value.toUtf8() );
castModel<audioFileProcessor>()->setAudioFile( mmp.content().
firstChild().toElement().attribute( "src" ) );
_de->accept();
return;
}
_de->ignore();
}
void audioFileProcessorView::paintEvent( QPaintEvent * )
void AudioFileProcessorView::paintEvent( QPaintEvent * )
{
QPainter p( this );
@@ -497,7 +441,7 @@ void audioFileProcessorView::paintEvent( QPaintEvent * )
void audioFileProcessorView::sampleUpdated( void )
void AudioFileProcessorView::sampleUpdated()
{
m_graph = QPixmap( 245, 75 );
m_graph.fill( Qt::transparent );
@@ -513,7 +457,7 @@ void audioFileProcessorView::sampleUpdated( void )
void audioFileProcessorView::openAudioFile( void )
void AudioFileProcessorView::openAudioFile()
{
QString af = castModel<audioFileProcessor>()->m_sampleBuffer.
openAudioFile();
@@ -527,7 +471,7 @@ void audioFileProcessorView::openAudioFile( void )
void audioFileProcessorView::modelChanged( void )
void AudioFileProcessorView::modelChanged()
{
audioFileProcessor * a = castModel<audioFileProcessor>();
connect( &a->m_sampleBuffer, SIGNAL( sampleUpdated() ),
@@ -550,8 +494,8 @@ extern "C"
// neccessary for getting instance out of shared lib
plugin * PLUGIN_EXPORT lmms_plugin_main( model *, void * _data )
{
return( new audioFileProcessor(
static_cast<instrumentTrack *>( _data ) ) );
return new audioFileProcessor(
static_cast<instrumentTrack *>( _data ) );
}

View File

@@ -30,7 +30,7 @@
#include <QtGui/QPixmap>
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "sample_buffer.h"
#include "knob.h"
#include "pixmap_button.h"
@@ -88,18 +88,18 @@ private:
boolModel m_loopModel;
friend class audioFileProcessorView;
friend class AudioFileProcessorView;
} ;
class audioFileProcessorView : public instrumentView
class AudioFileProcessorView : public InstrumentView
{
Q_OBJECT
public:
audioFileProcessorView( instrument * _instrument, QWidget * _parent );
virtual ~audioFileProcessorView();
AudioFileProcessorView( instrument * _instrument, QWidget * _parent );
virtual ~AudioFileProcessorView();
protected slots:
@@ -108,8 +108,6 @@ protected slots:
protected:
virtual void dragEnterEvent( QDragEnterEvent * _dee );
virtual void dropEvent( QDropEvent * _de );
virtual void paintEvent( QPaintEvent * );

View File

@@ -323,7 +323,7 @@ pluginView * bitInvader::instantiateView( QWidget * _parent )
bitInvaderView::bitInvaderView( instrument * _instrument,
QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
setAutoFillBackground( TRUE );
QPalette pal;

View File

@@ -29,7 +29,7 @@
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "graph.h"
#include "knob.h"
#include "pixmap_button.h"
@@ -109,7 +109,7 @@ private:
class bitInvaderView : public instrumentView
class bitInvaderView : public InstrumentView
{
Q_OBJECT
public:

View File

@@ -198,7 +198,7 @@ public:
kickerInstrumentView::kickerInstrumentView( instrument * _instrument,
QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
m_startFreqKnob = new kickerKnob( this );
m_startFreqKnob->setHintText( tr( "Start frequency:" ) + " ", "Hz" );

View File

@@ -28,7 +28,7 @@
#include <QtCore/QObject>
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "knob.h"
@@ -73,7 +73,7 @@ private:
class kickerInstrumentView : public instrumentView
class kickerInstrumentView : public InstrumentView
{
Q_OBJECT
public:

View File

@@ -803,7 +803,7 @@ pluginView * lb302Synth::instantiateView( QWidget * _parent )
lb302SynthView::lb302SynthView( instrument * _instrument, QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
// GUI
m_vcfCutKnob = new knob( knobBright_26, this );

View File

@@ -34,7 +34,7 @@
#include "effect_lib.h"
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "led_checkbox.h"
#include "knob.h"
#include "mixer.h"
@@ -238,7 +238,7 @@ private:
} ;
class lb302SynthView : public instrumentView
class lb302SynthView : public InstrumentView
{
public:
lb302SynthView( instrument * _instrument,

View File

@@ -737,7 +737,7 @@ pluginView * lb303Synth::instantiateView( QWidget * _parent )
lb303SynthView::lb303SynthView( instrument * _instrument, QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
// GUI
m_vcfCutKnob = new knob( knobBright_26, this );

View File

@@ -34,7 +34,7 @@
#include "effect_lib.h"
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "led_checkbox.h"
#include "knob.h"
#include "mixer.h"
@@ -239,7 +239,7 @@ private:
} ;
class lb303SynthView : public instrumentView
class lb303SynthView : public InstrumentView
{
public:
lb303SynthView( instrument * _instrument,

View File

@@ -377,7 +377,7 @@ public:
organicInstrumentView::organicInstrumentView( instrument * _instrument,
QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
organicInstrument * oi = castModel<organicInstrument>();

View File

@@ -28,7 +28,7 @@
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "oscillator.h"
#include "automatable_model.h"
@@ -133,7 +133,7 @@ private slots:
} ;
class organicInstrumentView : public instrumentView
class organicInstrumentView : public InstrumentView
{
Q_OBJECT
public:

View File

@@ -445,7 +445,7 @@ public:
papuInstrumentView::papuInstrumentView( instrument * _instrument,
QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
setAutoFillBackground( true );

View File

@@ -28,7 +28,7 @@
#include <QtCore/QObject>
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "knob.h"
#include "graph.h"
@@ -106,7 +106,7 @@ private:
} ;
class papuInstrumentView : public instrumentView
class papuInstrumentView : public InstrumentView
{
Q_OBJECT
public:

View File

@@ -432,7 +432,7 @@ void patmanInstrument::selectSample( notePlayHandle * _n )
pluginView * patmanInstrument::instantiateView( QWidget * _parent )
{
return new patmanView( this, _parent );
return new PatmanView( this, _parent );
}
@@ -444,8 +444,8 @@ pluginView * patmanInstrument::instantiateView( QWidget * _parent )
patmanView::patmanView( instrument * _instrument, QWidget * _parent ) :
instrumentView( _instrument, _parent ),
PatmanView::PatmanView( instrument * _instrument, QWidget * _parent ) :
InstrumentView( _instrument, _parent ),
m_pi( NULL )
{
setAutoFillBackground( true );
@@ -500,21 +500,19 @@ patmanView::patmanView( instrument * _instrument, QWidget * _parent ) :
"frequency." ) );
m_displayFilename = tr( "No file selected" );
setAcceptDrops( true );
}
patmanView::~patmanView()
PatmanView::~PatmanView()
{
}
void patmanView::openFile()
void PatmanView::openFile()
{
QFileDialog ofd( NULL, tr( "Open patch file" ) );
ofd.setFileMode( QFileDialog::ExistingFiles );
@@ -566,7 +564,7 @@ void patmanView::openFile()
void patmanView::updateFilename()
void PatmanView::updateFilename()
{
m_displayFilename = "";
Uint16 idx = m_pi->m_patchFile.length();
@@ -593,48 +591,7 @@ void patmanView::updateFilename()
void patmanView::dragEnterEvent( QDragEnterEvent * _dee )
{
if( _dee->mimeData()->hasFormat( stringPairDrag::mimeType() ) )
{
QString txt = _dee->mimeData()->data(
stringPairDrag::mimeType() );
if( txt.section( ':', 0, 0 ) == "samplefile" )
{
_dee->acceptProposedAction();
}
else
{
_dee->ignore();
}
}
else
{
_dee->ignore();
}
}
void patmanView::dropEvent( QDropEvent * _de )
{
QString type = stringPairDrag::decodeKey( _de );
QString value = stringPairDrag::decodeValue( _de );
if( type == "samplefile" )
{
m_pi->setFile( value );
_de->accept();
return;
}
_de->ignore();
}
void patmanView::paintEvent( QPaintEvent * )
void PatmanView::paintEvent( QPaintEvent * )
{
QPainter p( this );
@@ -647,7 +604,7 @@ void patmanView::paintEvent( QPaintEvent * )
void patmanView::modelChanged()
void PatmanView::modelChanged()
{
m_pi = castModel<patmanInstrument>();
m_loopButton->setModel( &m_pi->m_loopedModel );

View File

@@ -27,7 +27,7 @@
#define _PATMAN_H_
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "sample_buffer.h"
#include "automatable_model.h"
@@ -106,7 +106,7 @@ private:
void selectSample( notePlayHandle * _n );
friend class patmanView;
friend class PatmanView;
signals:
void fileChanged();
@@ -115,12 +115,12 @@ signals:
class patmanView : public instrumentView
class PatmanView : public InstrumentView
{
Q_OBJECT
public:
patmanView( instrument * _instrument, QWidget * _parent );
virtual ~patmanView();
PatmanView( instrument * _instrument, QWidget * _parent );
virtual ~PatmanView();
public slots:
@@ -129,8 +129,6 @@ public slots:
protected:
virtual void dragEnterEvent( QDragEnterEvent * _dee );
virtual void dropEvent( QDropEvent * _de );
virtual void paintEvent( QPaintEvent * );

View File

@@ -742,7 +742,7 @@ public:
sf2InstrumentView::sf2InstrumentView( instrument * _instrument,
QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
// QVBoxLayout * vl = new QVBoxLayout( this );
// QHBoxLayout * hl = new QHBoxLayout();

View File

@@ -31,7 +31,7 @@
#include "instrument.h"
#include "pixmap_button.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "knob.h"
#include "lcd_spinbox.h"
#include "led_checkbox.h"
@@ -181,7 +181,7 @@ public:
class sf2InstrumentView : public instrumentView
class sf2InstrumentView : public InstrumentView
{
Q_OBJECT
public:

View File

@@ -476,7 +476,7 @@ public:
sidInstrumentView::sidInstrumentView( instrument * _instrument,
QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
setAutoFillBackground( TRUE );

View File

@@ -29,7 +29,7 @@
#include <QtCore/QObject>
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "knob.h"
@@ -131,7 +131,7 @@ private:
class sidInstrumentView : public instrumentView
class sidInstrumentView : public InstrumentView
{
Q_OBJECT
public:

View File

@@ -307,7 +307,7 @@ pluginView * malletsInstrument::instantiateView( QWidget * _parent )
malletsInstrumentView::malletsInstrumentView( malletsInstrument * _instrument,
QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
m_modalBarWidget = setupModalBarControls( this );
setWidgetBackground( m_modalBarWidget, "artwork" );

View File

@@ -31,7 +31,7 @@
#include "combobox.h"
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "knob.h"
#include "note_play_handle.h"
#include "led_checkbox.h"
@@ -177,7 +177,7 @@ private:
} ;
class malletsInstrumentView: public instrumentView
class malletsInstrumentView: public InstrumentView
{
Q_OBJECT
public:

View File

@@ -482,7 +482,7 @@ public:
tripleOscillatorView::tripleOscillatorView( instrument * _instrument,
QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
setAutoFillBackground( TRUE );
QPalette pal;

View File

@@ -28,7 +28,7 @@
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "oscillator.h"
#include "automatable_model.h"
@@ -148,7 +148,7 @@ private:
class tripleOscillatorView : public instrumentView
class tripleOscillatorView : public InstrumentView
{
Q_OBJECT
public:

View File

@@ -70,7 +70,7 @@ plugin::descriptor vestige_plugin_descriptor =
}
QPixmap * vestigeInstrumentView::s_artwork = NULL;
QPixmap * VestigeInstrumentView::s_artwork = NULL;
vestigeInstrument::vestigeInstrument( instrumentTrack * _instrument_track ) :
@@ -246,7 +246,7 @@ void vestigeInstrument::loadFile( const QString & _file )
pluginView * vestigeInstrument::instantiateView( QWidget * _parent )
{
return new vestigeInstrumentView( this, _parent );
return new VestigeInstrumentView( this, _parent );
}
@@ -257,9 +257,9 @@ pluginView * vestigeInstrument::instantiateView( QWidget * _parent )
vestigeInstrumentView::vestigeInstrumentView( instrument * _instrument,
VestigeInstrumentView::VestigeInstrumentView( instrument * _instrument,
QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
if( s_artwork == NULL )
{
@@ -301,21 +301,19 @@ vestigeInstrumentView::vestigeInstrumentView( instrument * _instrument,
note_off_all_btn->setFont( pointSize<8>( note_off_all_btn->font() ) );
connect( note_off_all_btn, SIGNAL( clicked() ), this,
SLOT( noteOffAll() ) );
setAcceptDrops( true );
}
vestigeInstrumentView::~vestigeInstrumentView()
VestigeInstrumentView::~VestigeInstrumentView()
{
}
void vestigeInstrumentView::modelChanged()
void VestigeInstrumentView::modelChanged()
{
m_vi = castModel<vestigeInstrument>();
}
@@ -323,7 +321,7 @@ void vestigeInstrumentView::modelChanged()
void vestigeInstrumentView::openPlugin()
void VestigeInstrumentView::openPlugin()
{
QFileDialog ofd( NULL, tr( "Open VST-plugin" ) );
@@ -367,7 +365,7 @@ void vestigeInstrumentView::openPlugin()
void vestigeInstrumentView::toggleGUI()
void VestigeInstrumentView::toggleGUI()
{
QMutexLocker ml( &m_vi->m_pluginMutex );
if( m_vi->m_plugin == NULL )
@@ -392,7 +390,7 @@ void vestigeInstrumentView::toggleGUI()
void vestigeInstrumentView::noteOffAll()
void VestigeInstrumentView::noteOffAll()
{
m_vi->m_pluginMutex.lock();
if( m_vi->m_plugin != NULL )
@@ -409,47 +407,7 @@ void vestigeInstrumentView::noteOffAll()
void vestigeInstrumentView::dragEnterEvent( QDragEnterEvent * _dee )
{
if( _dee->mimeData()->hasFormat( stringPairDrag::mimeType() ) )
{
QString txt = _dee->mimeData()->data(
stringPairDrag::mimeType() );
if( txt.section( ':', 0, 0 ) == "vstplugin" )
{
_dee->acceptProposedAction();
}
else
{
_dee->ignore();
}
}
else
{
_dee->ignore();
}
}
void vestigeInstrumentView::dropEvent( QDropEvent * _de )
{
QString type = stringPairDrag::decodeKey( _de );
QString value = stringPairDrag::decodeValue( _de );
if( type == "vstplugin" )
{
m_vi->loadFile( value );
_de->accept();
return;
}
_de->ignore();
}
void vestigeInstrumentView::paintEvent( QPaintEvent * )
void VestigeInstrumentView::paintEvent( QPaintEvent * )
{
QPainter p( this );

View File

@@ -26,12 +26,10 @@
#ifndef _VESTIGE_H
#define _VESTIGE_H
#include <QtCore/QMutex>
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "midi.h"
#include "note.h"
@@ -83,18 +81,18 @@ private:
QString m_pluginDLL;
friend class vestigeInstrumentView;
friend class VestigeInstrumentView;
} ;
class vestigeInstrumentView : public instrumentView
class VestigeInstrumentView : public InstrumentView
{
Q_OBJECT
public:
vestigeInstrumentView( instrument * _instrument, QWidget * _parent );
virtual ~vestigeInstrumentView();
VestigeInstrumentView( instrument * _instrument, QWidget * _parent );
virtual ~VestigeInstrumentView();
protected slots:
@@ -104,8 +102,6 @@ protected slots:
protected:
virtual void dragEnterEvent( QDragEnterEvent * _dee );
virtual void dropEvent( QDropEvent * _de );
virtual void paintEvent( QPaintEvent * _pe );

View File

@@ -355,7 +355,7 @@ pluginView * vibed::instantiateView( QWidget * _parent )
vibedView::vibedView( instrument * _instrument,
QWidget * _parent ) :
instrumentView( _instrument, _parent )
InstrumentView( _instrument, _parent )
{
setAutoFillBackground( TRUE );
QPalette pal;

View File

@@ -25,7 +25,7 @@
#define _VIBED_H
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "sample_buffer.h"
#include "graph.h"
#include "knob.h"
@@ -82,7 +82,7 @@ private:
class vibedView : public instrumentView
class vibedView : public InstrumentView
{
Q_OBJECT
public:

View File

@@ -248,7 +248,7 @@ void zynAddSubFx::initRemotePlugin( void )
pluginView * zynAddSubFx::instantiateView( QWidget * _parent )
{
return new zynAddSubFxView( this, _parent );
return new ZynAddSubFxView( this, _parent );
}
@@ -257,8 +257,8 @@ pluginView * zynAddSubFx::instantiateView( QWidget * _parent )
zynAddSubFxView::zynAddSubFxView( instrument * _instrument, QWidget * _parent ) :
instrumentView( _instrument, _parent )
ZynAddSubFxView::ZynAddSubFxView( instrument * _instrument, QWidget * _parent ) :
InstrumentView( _instrument, _parent )
{
setAutoFillBackground( true );
QPalette pal;
@@ -277,62 +277,19 @@ zynAddSubFxView::zynAddSubFxView( instrument * _instrument, QWidget * _parent )
m_toggleUIButton->setWhatsThis(
tr( "Click here to show or hide the graphical user interface "
"(GUI) of ZynAddSubFX." ) );
setAcceptDrops( true );
}
zynAddSubFxView::~zynAddSubFxView()
ZynAddSubFxView::~ZynAddSubFxView()
{
}
void zynAddSubFxView::dragEnterEvent( QDragEnterEvent * _dee )
{
if( _dee->mimeData()->hasFormat( stringPairDrag::mimeType() ) )
{
QString txt = _dee->mimeData()->data(
stringPairDrag::mimeType() );
if( txt.section( ':', 0, 0 ) == "pluginpresetfile" )
{
_dee->acceptProposedAction();
}
else
{
_dee->ignore();
}
}
else
{
_dee->ignore();
}
}
void zynAddSubFxView::dropEvent( QDropEvent * _de )
{
const QString type = stringPairDrag::decodeKey( _de );
const QString value = stringPairDrag::decodeValue( _de );
if( type == "pluginpresetfile" )
{
// TODO: replace by generic approach
// castModel<zynAddSubFx>()->loadFile( value );
_de->accept();
return;
}
_de->ignore();
}
void zynAddSubFxView::modelChanged( void )
void ZynAddSubFxView::modelChanged( void )
{
toggleUI();
}
@@ -340,7 +297,7 @@ void zynAddSubFxView::modelChanged( void )
void zynAddSubFxView::toggleUI( void )
void ZynAddSubFxView::toggleUI( void )
{
if( m_toggleUIButton->isChecked() )
{

View File

@@ -30,13 +30,13 @@
#include <QtCore/QThread>
#include "instrument.h"
#include "instrument_view.h"
#include "InstrumentView.h"
#include "remote_plugin.h"
class QPushButton;
class zynAddSubFxView;
class ZynAddSubFxView;
class notePlayHandle;
@@ -78,7 +78,7 @@ private:
QMutex m_pluginMutex;
remotePlugin * m_plugin;
friend class zynAddSubFxView;
friend class ZynAddSubFxView;
signals:
@@ -88,17 +88,12 @@ signals:
class zynAddSubFxView : public instrumentView
class ZynAddSubFxView : public InstrumentView
{
Q_OBJECT
public:
zynAddSubFxView( instrument * _instrument, QWidget * _parent );
virtual ~zynAddSubFxView();
protected:
virtual void dragEnterEvent( QDragEnterEvent * _dee );
virtual void dropEvent( QDropEvent * _de );
ZynAddSubFxView( instrument * _instrument, QWidget * _parent );
virtual ~ZynAddSubFxView();
private: