From 599e920c3f5f4c2b828e3ec2de53743e3ed2b102 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Thu, 11 Jun 2009 00:50:07 +0200 Subject: [PATCH] ResourcePreviewer: support for previewing samples and soundfonts Implemented previewing of samples and soundfonts. This requires further work as the current implementation only works for local resources. Signed-off-by: Tobias Doerffel --- src/core/ResourcePreviewer.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/core/ResourcePreviewer.cpp b/src/core/ResourcePreviewer.cpp index f6bde8a60..754287ad9 100644 --- a/src/core/ResourcePreviewer.cpp +++ b/src/core/ResourcePreviewer.cpp @@ -23,9 +23,12 @@ */ +#include + #include "ResourcePreviewer.h" #include "ResourceItem.h" #include "engine.h" +#include "instrument.h" #include "instrument_track.h" #include "mmp.h" #include "project_journal.h" @@ -77,6 +80,25 @@ void ResourcePreviewer::preview( ResourceItem * _item ) m_previewTrack->getMidiPort()->setMode( midiPort::Disabled ); break; + case ResourceItem::TypeSample: + case ResourceItem::TypeSoundFont: + { + 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 ) + { + // TODO: only works with local resources! + i->loadFile( _item->fullName() ); + } + break; + } } // re-enable journalling