Changeset 1289

Show
Ignore:
Timestamp:
10/20/07 13:17:21 (12 months ago)
Author:
calvin
Message:

pattern editor beat toolbar works again, added accelerators for ctrl-0-9: sets step in sequencer and pattern editor, pattern editor right click -> clear works, hidden parameters are not shown in pattern editor

Location:
trunk/src/buzelib
Files:
6 modified

Legend:

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

    r1288 r1289  
    1818 
    1919namespace { 
     20 
     21struct beat_type { 
     22        int verydark, dark; 
     23}; 
     24 
     25beat_type all_beats[] = { 
     26        { 8, 4 }, 
     27        { 9, 3 }, 
     28        { 12, 3 }, 
     29        { 12, 4 }, 
     30        { 16, 4 }, 
     31        { 16, 8 }, 
     32        { 18, 3 }, 
     33        { 18, 6 }, 
     34        { 18, 9 }, 
     35}; 
     36 
     37int all_beats_count = sizeof(all_beats) / sizeof(beat_type); 
    2038 
    2139bool isShiftDown() { 
     
    442460        int sel = beatDropDown.GetCurSel(); 
    443461        if (sel == -1) return 0; 
     462        beat_type& bt = all_beats[sel]; 
     463        patternEditor.editor.SetHighlightRows(bt.verydark, bt.dark); 
    444464//    patternEditor.beat = sel; 
    445465        patternEditor.Invalidate(); 
     
    482502                        if (updatePlugin == machine) { 
    483503                                bindPatternEditor(); 
    484                                 patternEditor.ScrollToView(); 
    485504                                patternEditor.UpdateScrollbars(); 
    486505                                patternEditor.UpdateCaret(); 
     506                                patternEditor.ScrollToView(); 
    487507                                patternEditor.Invalidate(FALSE); 
    488508                                patternEditor.editor.Invalidate(FALSE); 
     
    594614 
    595615        if (GetFocus() != beatDropDown) { 
    596                 //beatDropDown.SetCurSel(patternEditor.beat); 
     616                for (int i = 0; i < all_beats_count; i++) { 
     617                        beat_type& bt = all_beats[i]; 
     618                        if (bt.verydark == patternEditor.editor.verydark_row && bt.dark == patternEditor.editor.dark_row) { 
     619                                beatDropDown.SetCurSel(i); 
     620                                break; 
     621                        } 
     622                } 
    597623        } 
    598624 
     
    11171143 
    11181144        for (size_t i = 0; i< machine->loader->plugin_info->global_parameters.size(); i++, parameter_index++) { 
    1119                 //TODO: document->configuration->getMachineParameterVisibility(machine->machineInfo->uri, parameter_index); 
     1145                // if parameter was marked hidden in parameterview, dont add the column to the pattern editor 
     1146                if (mainFrame->getMachineParameterHidden(machine, 1, 0, i)) continue; 
     1147 
    11201148                const zzub::parameter* paraGlobal = machine->loader->plugin_info->global_parameters[i]; 
    11211149                 
     
    11341162                parameter_index = first_track_index; 
    11351163                for (size_t i = 0; i< machine->loader->plugin_info->track_parameters.size(); i++, parameter_index++) { 
    1136                         //TODO: document->configuration->getMachineParameterVisibility(machine->machineInfo->uri, parameter_index); 
     1164                        // if parameter was marked hidden in parameterview, dont add the column to the pattern editor 
     1165                        if (mainFrame->getMachineParameterHidden(machine, 2, j, i)) continue; 
     1166 
    11371167                        const zzub::parameter* paraTrack = machine->loader->plugin_info->track_parameters[i]; 
    11381168                        patternEditor.AddColumn(2, j, i, paraTrack->type, getNoValue(paraTrack), getParamMinValue(paraTrack), getParamMaxValue(paraTrack)); 
     
    11541184        patternEditor.MoveCursor(pos.group, pos.track, pos.column, pos.editPos, pos.row, false); 
    11551185         
    1156         // TODO: scroll editor to pos.scroll* 
     1186        // scroll editor to pos.scroll* 
    11571187        POINT scroll = { pos.scrollColumns, pos.scrollRows }; 
    11581188        patternEditor.ScrollTo(scroll); 
     
    13441374 
    13451375        // see also CPatternEditor::getRowColor() for more beat stuff 
    1346         beatDropDown.AddString("3 / 3"); 
    1347         beatDropDown.AddString("4 / 3"); 
    1348         beatDropDown.AddString("3 / 4"); 
    1349         beatDropDown.AddString("4 / 4"); 
    1350         beatDropDown.AddString("5 / 4"); 
    1351         beatDropDown.AddString("5 / 5"); 
    1352         beatDropDown.AddString("6 / 6"); 
    1353         beatDropDown.AddString("6 / 8"); 
    1354         beatDropDown.AddString("8 / 8"); 
     1376        for (int i = 0; i < all_beats_count; i++) { 
     1377                beat_type& bt = all_beats[i]; 
     1378                std::stringstream strm; 
     1379                strm << bt.verydark << " / " << bt.dark; 
     1380                beatDropDown.AddString(strm.str().c_str()); 
     1381        } 
    13551382 
    13561383        octaveDropDown.SetRedraw(); 
     
    17131740} 
    17141741 
    1715 LRESULT CPatternView::OnClear(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { 
    1716         patternEditor.Clear(); 
    1717         return 0; 
    1718 } 
    1719  
    17201742LRESULT CPatternView::OnRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { 
    17211743 
     
    17551777        menu.InsertMenu(-1, (!hasPattern||!patternEditor.HasSelection()?MF_GRAYED:0)|MF_BYPOSITION|MF_STRING, (UINT_PTR)ID_EDIT_COPY, "Copy\tCtrl+C"); 
    17561778        menu.InsertMenu(-1, (!hasPattern?MF_GRAYED:0)|MF_BYPOSITION|MF_STRING, (UINT_PTR)ID_EDIT_PASTE, "Paste\tCtrl+V"); 
    1757         menu.InsertMenu(-1, (!hasPattern||!patternEditor.HasSelection()?MF_GRAYED:0)|MF_BYPOSITION|MF_STRING, (UINT_PTR)ID_EDIT_CLEAR, "Clear\tDelete"); 
     1779        menu.InsertMenu(-1, (!hasPattern||!patternEditor.HasSelection()?MF_GRAYED:0)|MF_BYPOSITION|MF_STRING, (UINT_PTR)ID_EDIT_DELETE, "Clear\tDelete"); 
    17581780 
    17591781        ClientToScreen(&pt); 
     
    18591881        return false; 
    18601882} 
     1883 
     1884LRESULT CPatternView::OnSetStepRange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { 
     1885        int step = wID - ID_EDIT_STEP_0; 
     1886 
     1887        MessageBox("HAHA", stringFromInt(step, 0, ' ').c_str()); 
     1888        if (step < 0 || step > 9) return 0; 
     1889        patternEditor.editor.step = step; 
     1890        return 0; 
     1891} 
  • trunk/src/buzelib/PatternView.h

    r1286 r1289  
    206206                COMMAND_ID_HANDLER(ID_PATTERNEDITOR_MOVECURSOR, OnMoveCursor) 
    207207 
     208                COMMAND_RANGE_HANDLER(ID_EDIT_STEP_0, ID_EDIT_STEP_9, OnSetStepRange) 
     209 
    208210        END_MSG_MAP() 
    209211 
     
    268270        LRESULT OnMoveNextTrack(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    269271        LRESULT OnMovePrevTrack(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    270         LRESULT OnClear(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    271272        LRESULT OnToggleColumnControl(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    272273        LRESULT OnOctaveUp(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
     
    315316        LRESULT OnEdit(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    316317        LRESULT OnMoveCursor(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
     318        LRESULT OnSetStepRange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    317319 
    318320    virtual BOOL OnIdle(); 
  • trunk/src/buzelib/SequenceView.cpp

    r1285 r1289  
    766766        return 0; 
    767767} 
     768 
     769LRESULT CSequenceView::OnSetStepRange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { 
     770        int step = wID - ID_EDIT_STEP_0; 
     771        if (step < 0 || step > 9) return 0; 
     772        editor.step = step; 
     773        return 0; 
     774} 
  • trunk/src/buzelib/SequenceView.h

    r1285 r1289  
    110110                COMMAND_ID_HANDLER(ID_PATTERN_CLONE, OnPatternClone) 
    111111                COMMAND_ID_HANDLER(ID_MACHINE_PARAMETERS, OnMachineParameters) 
     112                COMMAND_RANGE_HANDLER(ID_EDIT_STEP_0, ID_EDIT_STEP_9, OnSetStepRange) 
    112113 
    113114        END_MSG_MAP() 
     
    185186        LRESULT OnPatternCreate(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    186187        LRESULT OnMachineParameters(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
     188        LRESULT OnSetStepRange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    187189 
    188190        virtual BOOL OnIdle(); 
  • trunk/src/buzelib/buze.rc

    r1282 r1289  
    879879        ">",                    ID_PATTERNEDITOR_NEXTWAVE, ASCII, NOINVERT 
    880880        "<",                    ID_PATTERNEDITOR_PREVWAVE, ASCII, NOINVERT 
     881        "0",                    ID_EDIT_STEP_0, VIRTKEY, CONTROL, NOINVERT 
     882        "1",                    ID_EDIT_STEP_1, VIRTKEY, CONTROL, NOINVERT 
     883        "2",                    ID_EDIT_STEP_2, VIRTKEY, CONTROL, NOINVERT 
     884        "3",                    ID_EDIT_STEP_3, VIRTKEY, CONTROL, NOINVERT 
     885        "4",                    ID_EDIT_STEP_4, VIRTKEY, CONTROL, NOINVERT 
     886        "5",                    ID_EDIT_STEP_5, VIRTKEY, CONTROL, NOINVERT 
     887        "6",                    ID_EDIT_STEP_6, VIRTKEY, CONTROL, NOINVERT 
     888        "7",                    ID_EDIT_STEP_7, VIRTKEY, CONTROL, NOINVERT 
     889        "8",                    ID_EDIT_STEP_8, VIRTKEY, CONTROL, NOINVERT 
     890        "9",                    ID_EDIT_STEP_9, VIRTKEY, CONTROL, NOINVERT 
    881891END 
    882892 
     
    939949    VK_RETURN,      ID_PATTERN_CLONE,       VIRTKEY, SHIFT, CONTROL,  
    940950                                                    NOINVERT 
     951        "0",                    ID_EDIT_STEP_0, VIRTKEY, CONTROL, NOINVERT 
     952        "1",                    ID_EDIT_STEP_1, VIRTKEY, CONTROL, NOINVERT 
     953        "2",                    ID_EDIT_STEP_2, VIRTKEY, CONTROL, NOINVERT 
     954        "3",                    ID_EDIT_STEP_3, VIRTKEY, CONTROL, NOINVERT 
     955        "4",                    ID_EDIT_STEP_4, VIRTKEY, CONTROL, NOINVERT 
     956        "5",                    ID_EDIT_STEP_5, VIRTKEY, CONTROL, NOINVERT 
     957        "6",                    ID_EDIT_STEP_6, VIRTKEY, CONTROL, NOINVERT 
     958        "7",                    ID_EDIT_STEP_7, VIRTKEY, CONTROL, NOINVERT 
     959        "8",                    ID_EDIT_STEP_8, VIRTKEY, CONTROL, NOINVERT 
     960        "9",                    ID_EDIT_STEP_9, VIRTKEY, CONTROL, NOINVERT 
    941961END 
    942962 
  • trunk/src/buzelib/resource.h

    r1282 r1289  
    388388#define ID_PATTERNVIEW_TRANSPOSENOTESONLYDOWN 53422 
    389389#define ID_WAVE_ZOOM_WORD              53423 
     390#define ID_EDIT_STEP_0                 53424 
     391#define ID_EDIT_STEP_1                 53425 
     392#define ID_EDIT_STEP_2                 53426 
     393#define ID_EDIT_STEP_3                 53427 
     394#define ID_EDIT_STEP_4                 53428 
     395#define ID_EDIT_STEP_5                 53429 
     396#define ID_EDIT_STEP_6                 53430 
     397#define ID_EDIT_STEP_7                 53431 
     398#define ID_EDIT_STEP_8                 53432 
     399#define ID_EDIT_STEP_9                 53433 
    390400 
    391401// Next default values for new objects 
     
    394404#ifndef APSTUDIO_READONLY_SYMBOLS 
    395405#define _APS_NEXT_RESOURCE_VALUE        238 
    396 #define _APS_NEXT_COMMAND_VALUE         53424 
     406#define _APS_NEXT_COMMAND_VALUE         53434 
    397407#define _APS_NEXT_CONTROL_VALUE         1082 
    398408#define _APS_NEXT_SYMED_VALUE           101