fixed lockup and renamed constant
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@449 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
@@ -331,7 +331,7 @@ void fileBrowser::openInNewInstrumentTrack( trackContainer * _tc )
|
||||
if( m_contextMenuItem->type() == fileItem::SAMPLE_FILE )
|
||||
{
|
||||
instrumentTrack * ct = dynamic_cast<instrumentTrack *>(
|
||||
track::create( track::CHANNEL_TRACK, _tc ) );
|
||||
track::create( track::INSTRUMENT_TRACK, _tc ) );
|
||||
#ifdef LMMS_DEBUG
|
||||
assert( ct != NULL );
|
||||
#endif
|
||||
@@ -346,7 +346,7 @@ void fileBrowser::openInNewInstrumentTrack( trackContainer * _tc )
|
||||
else if( m_contextMenuItem->type() == fileItem::PRESET_FILE )
|
||||
{
|
||||
multimediaProject mmp( m_contextMenuItem->fullName() );
|
||||
track * t = track::create( track::CHANNEL_TRACK, _tc );
|
||||
track * t = track::create( track::INSTRUMENT_TRACK, _tc );
|
||||
instrumentTrack * ct = dynamic_cast<instrumentTrack *>( t );
|
||||
if( ct != NULL )
|
||||
{
|
||||
@@ -418,7 +418,7 @@ void listView::contentsMouseDoubleClickEvent( QMouseEvent * _me )
|
||||
// samples are per default opened in bb-editor because
|
||||
// they're likely drum-samples etc.
|
||||
instrumentTrack * it = dynamic_cast<instrumentTrack *>(
|
||||
track::create( track::CHANNEL_TRACK,
|
||||
track::create( track::INSTRUMENT_TRACK,
|
||||
eng()->getBBEditor() ) );
|
||||
#ifdef LMMS_DEBUG
|
||||
assert( it != NULL );
|
||||
@@ -436,7 +436,7 @@ void listView::contentsMouseDoubleClickEvent( QMouseEvent * _me )
|
||||
{
|
||||
// presets are per default opened in bb-editor
|
||||
multimediaProject mmp( f->fullName() );
|
||||
track * t = track::create( track::CHANNEL_TRACK,
|
||||
track * t = track::create( track::INSTRUMENT_TRACK,
|
||||
eng()->getBBEditor() );
|
||||
instrumentTrack * it = dynamic_cast<instrumentTrack *>(
|
||||
t );
|
||||
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
{
|
||||
setJournalling( FALSE );
|
||||
m_previewInstrumentTrack = dynamic_cast<instrumentTrack *>(
|
||||
track::create( track::CHANNEL_TRACK,
|
||||
track::create( track::INSTRUMENT_TRACK,
|
||||
this ) );
|
||||
m_previewInstrumentTrack->setJournalling( FALSE );
|
||||
hide();
|
||||
|
||||
@@ -1470,11 +1470,11 @@ void songEditor::createNewProject( void )
|
||||
eng()->getProjectJournal()->setJournalling( FALSE );
|
||||
|
||||
track * t;
|
||||
t = track::create( track::CHANNEL_TRACK, this );
|
||||
t = track::create( track::INSTRUMENT_TRACK, this );
|
||||
dynamic_cast< instrumentTrack * >( t )->loadInstrument(
|
||||
"tripleoscillator" );
|
||||
track::create( track::SAMPLE_TRACK, this );
|
||||
t = track::create( track::CHANNEL_TRACK, eng()->getBBEditor() );
|
||||
t = track::create( track::INSTRUMENT_TRACK, eng()->getBBEditor() );
|
||||
dynamic_cast< instrumentTrack * >( t )->loadInstrument(
|
||||
"tripleoscillator" );
|
||||
track::create( track::BB_TRACK, this );
|
||||
|
||||
@@ -1659,7 +1659,7 @@ track * track::create( trackTypes _tt, trackContainer * _tc )
|
||||
|
||||
switch( _tt )
|
||||
{
|
||||
case CHANNEL_TRACK: t = new instrumentTrack( _tc ); break;
|
||||
case INSTRUMENT_TRACK: t = new instrumentTrack( _tc ); break;
|
||||
case BB_TRACK: t = new bbTrack( _tc ); break;
|
||||
case SAMPLE_TRACK: t = new sampleTrack( _tc ); break;
|
||||
// case EVENT_TRACK:
|
||||
|
||||
@@ -495,7 +495,7 @@ void trackContainer::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
stringPairDrag::processDragEnterEvent( _dee,
|
||||
QString( "presetfile,sampledata,samplefile,instrument,midifile,"
|
||||
"track_%1,track_%2" ).
|
||||
arg( track::CHANNEL_TRACK ).
|
||||
arg( track::INSTRUMENT_TRACK ).
|
||||
arg( track::SAMPLE_TRACK ) );
|
||||
}
|
||||
|
||||
@@ -509,7 +509,7 @@ void trackContainer::dropEvent( QDropEvent * _de )
|
||||
if( type == "instrument" )
|
||||
{
|
||||
instrumentTrack * it = dynamic_cast<instrumentTrack *>(
|
||||
track::create( track::CHANNEL_TRACK,
|
||||
track::create( track::INSTRUMENT_TRACK,
|
||||
this ) );
|
||||
it->loadInstrument( value );
|
||||
it->toggledInstrumentTrackButton( TRUE );
|
||||
@@ -518,7 +518,7 @@ void trackContainer::dropEvent( QDropEvent * _de )
|
||||
else if( type == "sampledata" || type == "samplefile" )
|
||||
{
|
||||
instrumentTrack * it = dynamic_cast<instrumentTrack *>(
|
||||
track::create( track::CHANNEL_TRACK,
|
||||
track::create( track::INSTRUMENT_TRACK,
|
||||
this ) );
|
||||
instrument * i = it->loadInstrument( "audiofileprocessor" );
|
||||
i->setParameter( type, value );
|
||||
@@ -529,7 +529,7 @@ void trackContainer::dropEvent( QDropEvent * _de )
|
||||
{
|
||||
multimediaProject mmp( value );
|
||||
instrumentTrack * it = dynamic_cast<instrumentTrack *>(
|
||||
track::create( track::CHANNEL_TRACK,
|
||||
track::create( track::INSTRUMENT_TRACK,
|
||||
this ) );
|
||||
it->loadTrackSpecificSettings( mmp.content().firstChild().
|
||||
toElement() );
|
||||
|
||||
@@ -106,8 +106,7 @@ const char * surroundarea_help = QT_TRANSLATE_NOOP( "instrumentTrack",
|
||||
"feature." );
|
||||
|
||||
|
||||
const int CHANNEL_WIDTH = 250;
|
||||
const int INSTRUMENT_WIDTH = CHANNEL_WIDTH;
|
||||
const int INSTRUMENT_WIDTH = 250;
|
||||
const int INSTRUMENT_HEIGHT = INSTRUMENT_WIDTH;
|
||||
const int PIANO_HEIGHT = 84;
|
||||
|
||||
@@ -116,7 +115,7 @@ instrumentTrack::instrumentTrack( trackContainer * _tc ) :
|
||||
QWidget( _tc->eng()->getMainWindow()->workspace() ),
|
||||
track( _tc ),
|
||||
midiEventProcessor(),
|
||||
m_trackType( CHANNEL_TRACK ),
|
||||
m_trackType( INSTRUMENT_TRACK ),
|
||||
m_midiPort( eng()->getMixer()->getMIDIClient()->addPort( this,
|
||||
tr( "unnamed_channel" ) ) ),
|
||||
m_audioPort( new audioPort( tr( "unnamed_channel" ), eng() ) ),
|
||||
@@ -314,7 +313,7 @@ instrumentTrack::instrumentTrack( trackContainer * _tc ) :
|
||||
|
||||
// setup piano-widget
|
||||
m_pianoWidget = new pianoWidget( this );
|
||||
m_pianoWidget->setFixedSize( CHANNEL_WIDTH, PIANO_HEIGHT );
|
||||
m_pianoWidget->setFixedSize( INSTRUMENT_WIDTH, PIANO_HEIGHT );
|
||||
|
||||
|
||||
vlayout->addWidget( m_generalSettingsWidget );
|
||||
@@ -380,7 +379,7 @@ instrumentTrack::instrumentTrack( trackContainer * _tc ) :
|
||||
|
||||
_tc->updateAfterTrackAdd();
|
||||
#ifndef QT3
|
||||
setFixedWidth( CHANNEL_WIDTH );
|
||||
setFixedWidth( INSTRUMENT_WIDTH );
|
||||
resize( sizeHint() );
|
||||
#endif
|
||||
|
||||
@@ -653,9 +652,17 @@ void instrumentTrack::processInEvent( const midiEvent & _me,
|
||||
_time.frames(
|
||||
eng()->framesPerTact64th() ),
|
||||
valueRanges<f_cnt_t>::max, n );
|
||||
// as mixer::addPlayHandle() might
|
||||
// delete note (when running into
|
||||
// critical XRuns) which will call
|
||||
// deleteNotePluginData which locks
|
||||
// this mutex, we have to unlock
|
||||
// it here temporarily
|
||||
m_notesMutex.unlock();
|
||||
if( eng()->getMixer()->addPlayHandle(
|
||||
nph ) )
|
||||
{
|
||||
m_notesMutex.lock();
|
||||
m_notes[_me.key()] = nph;
|
||||
}
|
||||
}
|
||||
@@ -1299,7 +1306,7 @@ void instrumentTrack::invalidateAllMyNPH( void )
|
||||
// invalidate all note-play-handles linked to this channel
|
||||
eng()->getMixer()->checkValidityOfPlayHandles();
|
||||
|
||||
m_trackType = CHANNEL_TRACK;
|
||||
m_trackType = INSTRUMENT_TRACK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user