From 22716bccf1c32814898a2aaed30006fc2595ff3b Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Thu, 11 Jun 2009 15:15:43 +0200 Subject: [PATCH] ResourceBrowser: added a PianoView widget Added a PianoView widget to ResourceBrowser so one can easily preview selected preset, sample etc. Signed-off-by: Tobias Doerffel --- include/ResourcePreviewer.h | 3 +++ src/core/ResourcePreviewer.cpp | 10 ++++++++++ src/gui/ResourceBrowser.cpp | 5 +++++ 3 files changed, 18 insertions(+) diff --git a/include/ResourcePreviewer.h b/include/ResourcePreviewer.h index 5c06a752f..242ee37ef 100644 --- a/include/ResourcePreviewer.h +++ b/include/ResourcePreviewer.h @@ -28,6 +28,7 @@ #include "track_container.h" +class Piano; class ResourceItem; class instrumentTrack; @@ -41,6 +42,8 @@ public: void preview( ResourceItem * _item ); void stopPreview(); + Piano * pianoModel(); + private: class PreviewTrackContainer : public trackContainer diff --git a/src/core/ResourcePreviewer.cpp b/src/core/ResourcePreviewer.cpp index a11658a79..b9e6c1f22 100644 --- a/src/core/ResourcePreviewer.cpp +++ b/src/core/ResourcePreviewer.cpp @@ -45,6 +45,8 @@ ResourcePreviewer::ResourcePreviewer() : m_previewTrack = dynamic_cast( track::create( track::InstrumentTrack, &m_previewTrackContainer ) ); + // make sure a default instrument is loaded + m_previewTrack->loadInstrument( "tripleoscillator" ); m_previewTrack->setJournalling( false ); } @@ -121,5 +123,13 @@ void ResourcePreviewer::stopPreview() } + + +Piano * ResourcePreviewer::pianoModel() +{ + return m_previewTrack->pianoModel(); +} + + #include "moc_ResourcePreviewer.cxx" diff --git a/src/gui/ResourceBrowser.cpp b/src/gui/ResourceBrowser.cpp index bbad7f06f..c2bd925b6 100644 --- a/src/gui/ResourceBrowser.cpp +++ b/src/gui/ResourceBrowser.cpp @@ -33,6 +33,7 @@ #include "UnifiedResourceProvider.h" #include "engine.h" #include "embed.h" +#include "piano.h" struct ActionDesc @@ -107,9 +108,13 @@ ResourceBrowser::ResourceBrowser( QWidget * _parent ) : SIGNAL( clicked( const QModelIndex & ) ), this, SLOT( stopItemPreview( const QModelIndex & ) ) ); + PianoView * pianoView = new PianoView( contentParent() ); + pianoView->setModel( m_previewer.pianoModel() ); + // add widgets/layouts to us (we're a SideBarWidget) addContentLayout( filterLayout ); addContentWidget( m_treeView ); + addContentWidget( pianoView ); // instantly apply filter when typing into filterEdit