Changeset 1268

Show
Ignore:
Timestamp:
09/25/07 13:51:21 (13 months ago)
Author:
calvin
Message:

minor cleanups, fixed envelope sustain, wave table double click uses the stream player

Location:
trunk/src/buzelib
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/buzelib/Document.cpp

    r1267 r1268  
    878878                m->mute(false); 
    879879 
     880        if (state) m->stop(); 
     881 
    880882        updateAllViews(0, UpdateSelectedMachine, m); 
    881883} 
     
    13451347        player->lock(); 
    13461348        streamplayer->machine->init(&archive); 
    1347         playMachineNote(streamplayer, note); 
     1349        playMachineNote(streamplayer, note, 0); 
    13481350/*      streamplayer->setParameter(1, 0, 0, note, false);       // note 
    13491351        streamplayer->setParameter(3, 0, 0, 0, false);          // offset*/ 
    1350         streamplayer->tickAsync(); 
     1352        //streamplayer->tickAsync(); 
    13511353        player->unlock(); 
    13521354} 
  • trunk/src/buzelib/Document.h

    r1260 r1268  
    270270        bool isNotePlaying(zzub::metaplugin* m, int note); 
    271271        // note = buzz note or NOTE_OFF, prevNote = note for which NOTE_OFF is set or -1 
    272         void playMachineNote(zzub::metaplugin* m, int note, int prevNote = zzub::note_value_off); 
     272        void playMachineNote(zzub::metaplugin* m, int note, int prevNote); 
    273273        // play back the specified pattern 
    274274        void playPattern(zzub::metaplugin* machine, zzub::pattern* pattern, int row=0); 
  • trunk/src/buzelib/MachineParameterView.cpp

    r1267 r1268  
    142142        if (document->isNotePlaying(plugin, note)) return 0; 
    143143 
    144         document->playMachineNote(plugin, note); 
     144        document->playMachineNote(plugin, note, 0); 
    145145        return 0; 
    146146} 
  • trunk/src/buzelib/MachineView.cpp

    r1264 r1268  
    193193        if (m->getType() != plugin_type_generator) return 0;    // only generators 
    194194 
    195         document->playMachineNote(m, note); 
     195        document->playMachineNote(m, note, 0); 
    196196        return 0; 
    197197} 
  • trunk/src/buzelib/PatternEditor/PatternEditorControl.cpp

    r1267 r1268  
    304304} 
    305305 
    306 void CPatternEditorControl::ScrollPattern(int x, int y) { 
    307 } 
    308  
    309306void CPatternEditorControl::ClearSelection() { 
    310307        SelectRange(-1, -1, -1, -1); 
  • trunk/src/buzelib/PatternEditor/PatternEditorControl.h

    r1263 r1268  
    7777        POINT GetCursor() { return editor.cursor; } 
    7878        int GetColumns() { return editor.columns.size(); } 
    79         void ScrollPattern(int x, int y); 
    8079        void ClearSelection(); 
    8180        void SetValue(int group, int track, int column, int row, int value); 
  • trunk/src/buzelib/WaveTableView.cpp

    r1264 r1268  
    167167                //points.push_back(ee.points[i].flags); 
    168168        } 
    169         envelopeCtrl->SetEnvelope(env->points.size(), -1, &points.front()); 
     169        envelopeCtrl->SetEnvelope(env->points.size(), env->sustain, &points.front()); 
    170170 
    171171        // TODO: update disable-checkbox 
     
    412412 
    413413LRESULT CWaveTableView::OnLbnDblClkWaveList(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { 
    414         int index=waveTableList.GetCurSel(); 
    415         if (index>=player->getWaves()) return 0; 
    416         if (index<0) return 0; 
    417  
    418         wave_info_ex* entry=player->getWave(index); 
    419         if (entry==0) return 0; 
     414        int index = waveTableList.GetCurSel(); 
     415        if (index >= player->getWaves()) return 0; 
     416        if (index < 0) return 0; 
     417 
     418        wave_info_ex* entry = player->getWave(index); 
     419        if (entry == 0) return 0; 
    420420         
    421         if (entry->get_levels()==0) return 0; 
    422  
    423         player->getWavePlayer()->play(entry, 0, NOTE_C4); 
     421        if (entry->get_levels() == 0) return 0; 
     422 
     423        document->playStream(zzub::note_value_c4, "@zzub.org/stream/wavetable;1", stringFromInt(index+1)); 
    424424        return 0; 
    425425} 
     
    578578                entry->points.push_back(pt); 
    579579        } 
     580 
     581        entry->sustain = sustainIndex; 
    580582 
    581583}