track-window-creation on-demand - makes loading/unloading projects ultra-fastsvn diff
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms-mv@711 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
15
ChangeLog
15
ChangeLog
@@ -1,5 +1,20 @@
|
||||
2008-02-25 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
|
||||
|
||||
* include/oscillator.h:
|
||||
cleanups
|
||||
|
||||
* src/lib/mmp.cpp:
|
||||
fixed tag-renaming-loops
|
||||
|
||||
* include/automatable_model_templates.h:
|
||||
instantiate automation-pattern before loading settings of it - fixes
|
||||
crashes when loading projects with automation inside
|
||||
|
||||
* include/instrument_track.h:
|
||||
* src/tracks/instrument_track.cpp:
|
||||
track-window-creation on-demand - makes loading/unloading projects
|
||||
ultra-fast!!
|
||||
|
||||
* plugins/triple_oscillator/triple_oscillator.cpp:
|
||||
fixed wrong index for saving/restoring modulation-algo-settings -
|
||||
now projects sound like they did in pre-MV
|
||||
|
||||
@@ -206,10 +206,7 @@ public:
|
||||
instrumentTrackView( instrumentTrack * _it, trackContainerView * _tc );
|
||||
virtual ~instrumentTrackView();
|
||||
|
||||
instrumentTrackWindow * getInstrumentTrackWindow( void )
|
||||
{
|
||||
return( m_window );
|
||||
}
|
||||
instrumentTrackWindow * getInstrumentTrackWindow( void );
|
||||
|
||||
instrumentTrack * model( void )
|
||||
{
|
||||
@@ -223,6 +220,7 @@ public:
|
||||
|
||||
|
||||
private slots:
|
||||
void toggledInstrumentTrackButton( bool _on );
|
||||
void activityIndicatorPressed( void );
|
||||
void activityIndicatorReleased( void );
|
||||
|
||||
|
||||
@@ -762,13 +762,14 @@ void instrumentTrack::loadTrackSpecificSettings( const QDomElement & _this )
|
||||
m_audioPort.getEffects()->restoreState(
|
||||
node.toElement() );
|
||||
}
|
||||
else if( automationPattern::classNodeName()
|
||||
!= node.nodeName() )
|
||||
else if( automationPattern::classNodeName() !=
|
||||
node.nodeName() )
|
||||
{
|
||||
// if node-name doesn't match any known one,
|
||||
// we assume that it is an instrument-plugin
|
||||
// which we'll try to load
|
||||
delete m_instrument;
|
||||
m_instrument = NULL;
|
||||
m_instrument = instrument::instantiate(
|
||||
node.nodeName(), this );
|
||||
if( m_instrument->nodeName() ==
|
||||
@@ -831,7 +832,8 @@ void instrumentTrack::invalidateAllMyNPH( void )
|
||||
|
||||
instrumentTrackView::instrumentTrackView( instrumentTrack * _it,
|
||||
trackContainerView * _tcv ) :
|
||||
trackView( _it, _tcv )
|
||||
trackView( _it, _tcv ),
|
||||
m_window( NULL )
|
||||
{
|
||||
setAcceptDrops( TRUE );
|
||||
setFixedHeight( 32 );
|
||||
@@ -910,9 +912,8 @@ instrumentTrackView::instrumentTrackView( instrumentTrack * _it,
|
||||
|
||||
setModel( _it );
|
||||
|
||||
m_window = new instrumentTrackWindow( this );
|
||||
connect( m_tswInstrumentTrackButton, SIGNAL( toggled( bool ) ),
|
||||
m_window, SLOT( toggledInstrumentTrackButton( bool ) ) );
|
||||
this, SLOT( toggledInstrumentTrackButton( bool ) ) );
|
||||
|
||||
}
|
||||
|
||||
@@ -927,6 +928,28 @@ instrumentTrackView::~instrumentTrackView()
|
||||
|
||||
|
||||
|
||||
instrumentTrackWindow * instrumentTrackView::getInstrumentTrackWindow( void )
|
||||
{
|
||||
if( m_window == NULL )
|
||||
{
|
||||
m_window = new instrumentTrackWindow( this );
|
||||
connect( m_tswInstrumentTrackButton, SIGNAL( toggled( bool ) ),
|
||||
this, SLOT( toggledInstrumentTrackButton( bool ) ) );
|
||||
}
|
||||
return( m_window );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void instrumentTrackView::toggledInstrumentTrackButton( bool _on )
|
||||
{
|
||||
getInstrumentTrackWindow()->toggledInstrumentTrackButton( _on );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void instrumentTrackView::activityIndicatorPressed( void )
|
||||
{
|
||||
model()->processInEvent( midiEvent( NOTE_ON, 0,
|
||||
@@ -1418,7 +1441,8 @@ void instrumentTrackButton::paintEvent( QPaintEvent * _pe )
|
||||
|
||||
void instrumentTrackButton::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
{
|
||||
m_instrumentTrackView->m_window->dragEnterEvent( _dee );
|
||||
m_instrumentTrackView->getInstrumentTrackWindow()->
|
||||
dragEnterEvent( _dee );
|
||||
}
|
||||
|
||||
|
||||
@@ -1426,7 +1450,7 @@ void instrumentTrackButton::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
|
||||
void instrumentTrackButton::dropEvent( QDropEvent * _de )
|
||||
{
|
||||
m_instrumentTrackView->m_window->dropEvent( _de );
|
||||
m_instrumentTrackView->getInstrumentTrackWindow()->dropEvent( _de );
|
||||
setChecked( TRUE );
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user