Make use of new ResourceAction class
Replaced deprecated (duplicate) code for loading various kind of files with ResourceAction-based code. Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
|
||||
#include <QtCore/QFileInfo>
|
||||
|
||||
#include "ResourceAction.h"
|
||||
#include "ResourcePreviewer.h"
|
||||
#include "ResourceFileMapper.h"
|
||||
#include "ResourceItem.h"
|
||||
@@ -87,11 +88,7 @@ void ResourcePreviewer::preview( ResourceItem * _item )
|
||||
m_previewTrack->loadTrackSpecificSettings(
|
||||
m_defaultSettings.content().
|
||||
firstChild().toElement() );
|
||||
// fetch data, load into multimedia project and
|
||||
// load it as preset
|
||||
m_previewTrack->loadTrackSpecificSettings(
|
||||
multimediaProject( _item->fetchData() ).
|
||||
content().firstChild().toElement() );
|
||||
ResourceAction( _item ).loadPreset( m_previewTrack );
|
||||
m_previewTrack->getMidiPort()->setMode(
|
||||
midiPort::Disabled );
|
||||
break;
|
||||
@@ -104,22 +101,7 @@ void ResourcePreviewer::preview( ResourceItem * _item )
|
||||
m_previewTrack->loadTrackSpecificSettings(
|
||||
m_defaultSettings.content().
|
||||
firstChild().toElement() );
|
||||
// if neccessary, load according instrument for the
|
||||
// file to be previewed
|
||||
instrument * i = m_previewTrack->getInstrument();
|
||||
const QString ext = QFileInfo( _item->name() ).
|
||||
suffix().toLower();
|
||||
if( i == NULL ||
|
||||
!i->getDescriptor()->supportsFileType( ext ) )
|
||||
{
|
||||
i = m_previewTrack->loadInstrument(
|
||||
engine::pluginFileHandling()[ext] );
|
||||
}
|
||||
if( i != NULL )
|
||||
{
|
||||
ResourceFileMapper mapper( _item );
|
||||
i->loadFile( mapper.fileName() );
|
||||
}
|
||||
ResourceAction( _item ).loadByPlugin( m_previewTrack );
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <QtGui/QScrollBar>
|
||||
#include <QtGui/QWheelEvent>
|
||||
|
||||
#include "ResourceAction.h"
|
||||
#include "ResourceDB.h"
|
||||
#include "ResourceItem.h"
|
||||
#include "ResourceFileMapper.h"
|
||||
@@ -40,7 +41,6 @@
|
||||
#include "bb_track.h"
|
||||
#include "main_window.h"
|
||||
#include "debug.h"
|
||||
#include "file_browser.h"
|
||||
#include "import_filter.h"
|
||||
#include "instrument.h"
|
||||
#include "instrument_track.h"
|
||||
@@ -383,7 +383,6 @@ void trackContainerView::dropEvent( QDropEvent * _de )
|
||||
QString type = stringPairDrag::decodeKey( _de );
|
||||
QString value = stringPairDrag::decodeValue( _de );
|
||||
engine::getMixer()->lock();
|
||||
/* begin{obsolete code} - remove together with fileBrowser */
|
||||
if( type == "instrument" )
|
||||
{
|
||||
instrumentTrack * it = dynamic_cast<instrumentTrack *>(
|
||||
@@ -393,33 +392,6 @@ void trackContainerView::dropEvent( QDropEvent * _de )
|
||||
//it->toggledInstrumentTrackButton( true );
|
||||
_de->accept();
|
||||
}
|
||||
else if( type == "samplefile" || type == "pluginpresetfile" )
|
||||
{
|
||||
instrumentTrack * it = dynamic_cast<instrumentTrack *>(
|
||||
track::create( track::InstrumentTrack,
|
||||
m_tc ) );
|
||||
instrument * i = it->loadInstrument(
|
||||
engine::pluginFileHandling()[fileItem::extension(
|
||||
value )]);
|
||||
i->loadFile( value );
|
||||
//it->toggledInstrumentTrackButton( true );
|
||||
_de->accept();
|
||||
}
|
||||
else if( type == "presetfile" )
|
||||
{
|
||||
multimediaProject mmp( value );
|
||||
instrumentTrack * it = dynamic_cast<instrumentTrack *>(
|
||||
track::create( track::InstrumentTrack,
|
||||
m_tc ) );
|
||||
it->loadSettings( mmp.content().toElement() );
|
||||
//it->toggledInstrumentTrackButton( true );
|
||||
_de->accept();
|
||||
}
|
||||
else if( type == "importedproject" )
|
||||
{
|
||||
importFilter::import( value, m_tc );
|
||||
_de->accept();
|
||||
}
|
||||
else if( type.left( 6 ) == "track_" )
|
||||
{
|
||||
multimediaProject mmp( value.toUtf8() );
|
||||
@@ -436,39 +408,26 @@ void trackContainerView::dropEvent( QDropEvent * _de )
|
||||
itemByHash( value );
|
||||
if( item )
|
||||
{
|
||||
ResourceAction action( item );
|
||||
switch( item->type() )
|
||||
{
|
||||
|
||||
case ResourceItem::TypePreset:
|
||||
{
|
||||
instrumentTrack * it = dynamic_cast<instrumentTrack *>(
|
||||
action.loadPreset(
|
||||
dynamic_cast<instrumentTrack *>(
|
||||
track::create( track::InstrumentTrack,
|
||||
m_tc ) );
|
||||
// fetch data, load into multimedia project and
|
||||
// load it as preset
|
||||
it->loadTrackSpecificSettings(
|
||||
multimediaProject( item->fetchData() ).
|
||||
content().firstChild().toElement() );
|
||||
m_tc ) ) );
|
||||
break;
|
||||
}
|
||||
case ResourceItem::TypeSample:
|
||||
case ResourceItem::TypeSoundFont:
|
||||
{
|
||||
instrumentTrack * it = dynamic_cast<instrumentTrack *>(
|
||||
action.loadByPlugin(
|
||||
dynamic_cast<instrumentTrack *>(
|
||||
track::create( track::InstrumentTrack,
|
||||
m_tc ) );
|
||||
const QString ext = QFileInfo( item->name() ).
|
||||
suffix().toLower();
|
||||
instrument * i = it->loadInstrument(
|
||||
engine::pluginFileHandling()[ext] );
|
||||
if( i != NULL )
|
||||
{
|
||||
ResourceFileMapper mapper( item );
|
||||
i->loadFile( mapper.fileName() );
|
||||
}
|
||||
m_tc ) ) );
|
||||
break;
|
||||
case ResourceItem::TypeForeignProject:
|
||||
action.importProject( m_tc );
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,6 +39,10 @@
|
||||
#include <QtGui/QMdiSubWindow>
|
||||
#include <QtGui/QPainter>
|
||||
|
||||
#include "ResourceAction.h"
|
||||
#include "ResourceDB.h"
|
||||
#include "UnifiedResourceProvider.h"
|
||||
|
||||
#include "instrument_track.h"
|
||||
#include "audio_port.h"
|
||||
#include "automation_pattern.h"
|
||||
@@ -49,7 +53,6 @@
|
||||
#include "effect_rack_view.h"
|
||||
#include "embed.h"
|
||||
#include "engine.h"
|
||||
#include "file_browser.h"
|
||||
#include "fx_mixer.h"
|
||||
#include "fx_mixer_view.h"
|
||||
#include "instrument_sound_shaping.h"
|
||||
@@ -1495,26 +1498,26 @@ void instrumentTrackWindow::dropEvent( QDropEvent * _de )
|
||||
engine::getSong()->setModified();
|
||||
_de->accept();
|
||||
}
|
||||
else if( type == "presetfile" )
|
||||
else if( type == ResourceItem::mimeKey() )
|
||||
{
|
||||
multimediaProject mmp( value );
|
||||
instrumentTrack::removeMidiPortNode( mmp );
|
||||
m_track->setSimpleSerializing();
|
||||
m_track->loadSettings( mmp.content().toElement() );
|
||||
engine::getSong()->setModified();
|
||||
_de->accept();
|
||||
}
|
||||
else if( type == "pluginpresetfile" )
|
||||
{
|
||||
const QString ext = fileItem::extension( value );
|
||||
instrument * i = m_track->getInstrument();
|
||||
if( !i->getDescriptor()->supportsFileType( ext ) )
|
||||
const ResourceItem * item =
|
||||
engine::resourceProvider()->database()->
|
||||
itemByHash( value );
|
||||
if( !item )
|
||||
{
|
||||
i = m_track->loadInstrument(
|
||||
engine::pluginFileHandling()[ext] );
|
||||
return;
|
||||
}
|
||||
ResourceAction action( item );
|
||||
if( action.loadByPlugin( m_track ) )
|
||||
{
|
||||
_de->accept();
|
||||
}
|
||||
else if( item->type() == ResourceItem::TypePreset &&
|
||||
action.loadPreset( m_track ) )
|
||||
{
|
||||
engine::getSong()->setModified();
|
||||
_de->accept();
|
||||
}
|
||||
i->loadFile( value );
|
||||
_de->accept();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user