Changeset 762

Show
Ignore:
Timestamp:
02/02/09 02:35:26 (4 years ago)
Author:
wolke
Message:

merge rev 756:761 from trunk

Location:
branches/new_fx_rack_and_sample_fun
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • branches/new_fx_rack_and_sample_fun

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • branches/new_fx_rack_and_sample_fun/gui/src/PatternEditor/PatternEditorPanel.cpp

    r723 r762  
    837837        int nSelected = str.toInt(); 
    838838 
     839        if ( !m_pPattern ) { 
     840                return; 
     841        } 
     842 
    839843        if ( m_pPattern->get_lenght() == nEighth * nSelected ) { 
    840844                // non e' necessario aggiornare 
     
    842846        } 
    843847 
    844  
    845         if ( !m_pPattern ) { 
    846                 return; 
    847         } 
    848848 
    849849        if ( !m_bEnablePatternResize ) { 
  • branches/new_fx_rack_and_sample_fun/gui/src/PatternPropertiesDialog.cpp

    r377 r762  
    6565                } 
    6666        } 
     67 
     68        defaultNameCheck( pattern->get_name() ); 
     69        okBtn->setEnabled(true); 
    6770} 
    6871 
     
    107110} 
    108111 
     112void PatternPropertiesDialog::defaultNameCheck( QString pattName ) 
     113{ 
     114 
     115        PatternList *patternList = Hydrogen::get_instance()->getSong()->get_pattern_list(); 
     116         
     117        for (uint i = 0; i < patternList->get_size(); i++) { 
     118                if ( patternList->get(i)->get_name() == pattName) { 
     119                                patternNameTxt->setText( trUtf8( "%1#2").arg(patternList->get(i)->get_name()) ); 
     120                } 
     121        } 
     122} 
     123 
    109124 
    110125bool PatternPropertiesDialog::nameCheck( QString pattName ) 
  • branches/new_fx_rack_and_sample_fun/gui/src/PatternPropertiesDialog.h

    r377 r762  
    4747                /// Does some name check 
    4848                static bool nameCheck( QString ); 
     49                void defaultNameCheck( QString ); 
    4950 
    5051        private slots: 
  • branches/new_fx_rack_and_sample_fun/gui/src/SongEditor/SongEditor.cpp

    r756 r762  
    11191119        } 
    11201120        else { 
    1121                 // there's no patterns.. 
    1122                 pEngine->setSelectedPatternNumber( -1 );        // cosi' il pattern editor viene costretto ad aggiornarsi 
     1121                // there's no patterns..         
     1122                Pattern *emptyPattern = Pattern::get_empty_pattern(); 
     1123                emptyPattern->set_name( trUtf8("Pattern 1") ); 
     1124                emptyPattern->set_category( trUtf8("not_categorized") ); 
     1125                pSongPatternList->add( emptyPattern ); 
     1126                pEngine->setSelectedPatternNumber( -1 ); 
     1127                pEngine->setSelectedPatternNumber( 0 ); 
    11231128        } 
    11241129 
  • branches/new_fx_rack_and_sample_fun/gui/src/SongEditor/SongEditorPanel.cpp

    r377 r762  
    339339        Song *song = engine->getSong(); 
    340340        PatternList *patternList = song->get_pattern_list(); 
     341        int emptyPatternNo = patternList->get_size() + 1; 
    341342 
    342343        Pattern *emptyPattern = Pattern::get_empty_pattern(); 
    343         emptyPattern->set_name( trUtf8("Pattern") ); 
     344        emptyPattern->set_name( trUtf8("Pattern %1").arg(emptyPatternNo) ); 
    344345        emptyPattern->set_category( trUtf8("not_categorized") ); 
    345346 
  • branches/new_fx_rack_and_sample_fun/libs/hydrogen/src/hydrogen.cpp

    r742 r762  
    24152415        } else { 
    24162416                getSong()->purge_instrument( pInstr ); 
     2417        } 
     2418 
     2419        Song *pSong = getSong(); 
     2420        InstrumentList* pList = pSong->get_instrument_list(); 
     2421        if(pList->get_size()==1){ 
     2422                AudioEngine::get_instance()->lock("HYdrogen::removeInstrument remove last instrument"); 
     2423                Instrument* pInstr = pList->get( 0 ); 
     2424                pInstr->set_name( (QString( "Instrument 1" )) ); 
     2425                // remove all layers 
     2426                for ( int nLayer = 0; nLayer < MAX_LAYERS; nLayer++ ) { 
     2427                        InstrumentLayer* pLayer = pInstr->get_layer( nLayer ); 
     2428                        delete pLayer; 
     2429                        pInstr->set_layer( NULL, nLayer ); 
     2430                }                
     2431        AudioEngine::get_instance()->unlock(); 
     2432        EventQueue::get_instance()->push_event( EVENT_SELECTED_INSTRUMENT_CHANGED, -1 ); 
     2433        INFOLOG("clear last instrument to empty instrument 1 instead delete the last instrument"); 
     2434        return; 
    24172435        } 
    24182436