From 188f3714d7176e80fd0032d213171aa42fe5d0e8 Mon Sep 17 00:00:00 2001 From: Dave French Date: Sun, 21 Dec 2014 16:10:43 +0000 Subject: [PATCH 1/2] Proposed fix 1080 Panning Sample tracks --- include/SampleTrack.h | 3 +++ src/tracks/SampleTrack.cpp | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/include/SampleTrack.h b/include/SampleTrack.h index 440b10e7e..c8b17b148 100644 --- a/include/SampleTrack.h +++ b/include/SampleTrack.h @@ -148,9 +148,11 @@ public: private: FloatModel m_volumeModel; + FloatModel m_panningModel; AudioPort m_audioPort; + friend class SampleTrackView; } ; @@ -181,6 +183,7 @@ private: EffectRackView * m_effectRack; QWidget * m_effWindow; Knob * m_volumeKnob; + Knob * m_panningKnob; } ; diff --git a/src/tracks/SampleTrack.cpp b/src/tracks/SampleTrack.cpp index 49d59f66c..3333e4ae4 100644 --- a/src/tracks/SampleTrack.cpp +++ b/src/tracks/SampleTrack.cpp @@ -47,6 +47,7 @@ #include "EffectRackView.h" #include "TrackLabelButton.h" #include "ConfigManager.h" +#include "panning_constants.h" SampleTCO::SampleTCO( Track * _track ) : @@ -405,9 +406,12 @@ SampleTrack::SampleTrack( TrackContainer* tc ) : Track( Track::SampleTrack, tc ), m_volumeModel( DefaultVolume, MinVolume, MaxVolume, 1.0, this, tr( "Volume" ) ), - m_audioPort( tr( "Sample track" ), true, &m_volumeModel, NULL ) + m_panningModel( DefaultPanning, PanningLeft, PanningRight, 0.1f, + this, tr( "Panning" ) ), + m_audioPort( tr( "Sample track" ), true, &m_volumeModel, &m_panningModel ) { setName( tr( "Sample track" ) ); + m_panningModel.setCenterValue( DefaultPanning ); } @@ -550,6 +554,14 @@ SampleTrackView::SampleTrackView( SampleTrack * _t, TrackContainerView* tcv ) : m_volumeKnob->setLabel( tr( "VOL" ) ); m_volumeKnob->show(); + m_panningKnob = new Knob( knobSmall_17, getTrackSettingsWidget(), + tr( "Panning" ) ); + m_panningKnob->setModel( &_t->m_panningModel ); + m_panningKnob->setHintText( tr( "Panning:" ), "%" ); + m_panningKnob->move( DEFAULT_SETTINGS_WIDGET_WIDTH-24, 2 ); + m_panningKnob->setLabel( tr( "PAN" ) ); + m_panningKnob->show(); + m_effectRack = new EffectRackView( _t->audioPort()->effects() ); m_effectRack->setFixedSize( 240, 242 ); From a4359ec5845b37ade34914f297295989a0716eda Mon Sep 17 00:00:00 2001 From: Dave French Date: Sun, 21 Dec 2014 23:36:42 +0000 Subject: [PATCH 2/2] 1080 save and load pan settings --- src/tracks/SampleTrack.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tracks/SampleTrack.cpp b/src/tracks/SampleTrack.cpp index 3333e4ae4..f55100698 100644 --- a/src/tracks/SampleTrack.cpp +++ b/src/tracks/SampleTrack.cpp @@ -496,6 +496,7 @@ void SampleTrack::saveTrackSpecificSettings( QDomDocument & _doc, _this.setAttribute( "icon", tlb->pixmapFile() ); #endif m_volumeModel.saveSettings( _doc, _this, "vol" ); + m_panningModel.saveSettings( _doc, _this, "pan" ); } @@ -517,6 +518,7 @@ void SampleTrack::loadTrackSpecificSettings( const QDomElement & _this ) node = node.nextSibling(); } m_volumeModel.loadSettings( _this, "vol" ); + m_panningModel.loadSettings( _this, "pan" ); }