Changeset 1293
- Timestamp:
- 10/29/07 21:05:04 (10 months ago)
- Location:
- trunk/src/buzelib
- Files:
-
- 9 modified
-
Document.cpp (modified) (1 diff)
-
Document.h (modified) (2 diffs)
-
FileBrowserView.cpp (modified) (1 diff)
-
MachineParameterView.cpp (modified) (2 diffs)
-
WaveEntryList.cpp (modified) (2 diffs)
-
WaveTableList.cpp (modified) (3 diffs)
-
WaveTableList.h (modified) (3 diffs)
-
WaveTableView.cpp (modified) (13 diffs)
-
WaveTableView.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/buzelib/Document.cpp
r1283 r1293 1125 1125 } 1126 1126 1127 void CDocument::setMachinePreset(zzub::metaplugin* plugin, std::string name) { 1128 lastPreset[plugin] = name; 1129 } 1130 1131 std::string CDocument::getMachinePreset(zzub::metaplugin* plugin) { 1132 map<metaplugin*, std::string>::iterator name = lastPreset.find(plugin); 1133 if (name == lastPreset.end()) 1134 return ""; 1135 return name->second; 1136 } 1137 1127 1138 pattern_position CDocument::getPatternPosition(zzub::metaplugin* plugin, zzub::pattern* pattern) { 1128 1139 pattern_position pos; -
trunk/src/buzelib/Document.h
r1268 r1293 92 92 93 93 std::map<zzub::metaplugin*, zzub::pattern*> m_pFocusedPattern; 94 std::map<zzub::metaplugin*, std::string> lastPreset; 94 95 95 96 std::vector<CView*> views; … … 273 274 // play back the specified pattern 274 275 void playPattern(zzub::metaplugin* machine, zzub::pattern* pattern, int row=0); 276 void setMachinePreset(zzub::metaplugin* plugin, std::string name); 277 std::string getMachinePreset(zzub::metaplugin* plugin); 275 278 276 279 void playStream(int note, std::string dataUrl, std::string pluginUri); -
trunk/src/buzelib/FileBrowserView.cpp
r1275 r1293 147 147 148 148 fileList.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_VSCROLL | LBS_NOTIFY | LVS_SHOWSELALWAYS, 0, IDC_FILELIST); 149 fileList.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT |WS_EX_CLIENTEDGE,LVS_EX_FULLROWSELECT|WS_EX_CLIENTEDGE);149 fileList.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT,LVS_EX_FULLROWSELECT); 150 150 updateFiles(); 151 151 -
trunk/src/buzelib/MachineParameterView.cpp
r1282 r1293 96 96 bindPresets(); 97 97 98 // default to the last preset 99 100 std::string lastPreset = document->getMachinePreset(machine); 101 if (lastPreset.size()) { 102 int index = presetDropDown.FindStringExact(0, lastPreset.c_str()); 103 if (index > 0) { 104 presetDropDown.SetCurSel(index); 105 } 106 } 107 98 108 document->addView(this); 99 109 return lres; … … 390 400 valueIndex++; 391 401 } 402 document->setMachinePreset(machine, pi.name); 403 /* machine->setLastPreset((char*)pi.name.c_str()); */ 392 404 return 0; 393 405 } -
trunk/src/buzelib/WaveEntryList.cpp
r1241 r1293 51 51 LRESULT CWaveEntryList::OnDropFiles(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { 52 52 MessageBox("Wave level drop", "Wave level", MB_OK); 53 int waveIndex = view->waveTableList.Get CurSel();53 int waveIndex = view->waveTableList.GetSelectedIndex(); 54 54 if (waveIndex == -1) return 0; 55 55 … … 82 82 LRESULT CWaveEntryList::OnRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { 83 83 84 int waveIndex = view->waveTableList.Get CurSel();84 int waveIndex = view->waveTableList.GetSelectedIndex(); 85 85 if (waveIndex == -1) return 0; 86 86 -
trunk/src/buzelib/WaveTableList.cpp
r1279 r1293 27 27 28 28 LRESULT CWaveTableList::OnDropFiles(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { 29 BOOL bOutside;30 29 POINT pt; 31 30 GetCursorPos(&pt); 32 31 ScreenToClient(&pt); 33 int curWave = this-> ItemFromPoint(pt, bOutside);32 int curWave = this->HitTest(pt, 0); 34 33 35 34 SetRedraw(FALSE); 36 Se tCurSel(curWave);35 SelectItem(curWave); 37 36 38 37 HDROP hDropInfo=(HDROP)wParam; … … 110 109 111 110 POINT pt={LOWORD(lParam), HIWORD(lParam) }; 112 BOOL outside; 113 int waveIndex = ItemFromPoint(pt, outside);111 112 int waveIndex = HitTest(pt, 0); 114 113 if (waveIndex == -1) return 0; 115 114 116 Se tCurSel(waveIndex);115 SelectItem(waveIndex); 117 116 118 117 CMenu menu; … … 132 131 return 0; 133 132 } 133 134 LRESULT CWaveTableList::OnSize(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/) { 135 RECT rcClient; 136 GetClientRect(&rcClient); 137 SetColumnWidth(0, rcClient.right - rcClient.left - 2); 138 return 0; 139 } 140 -
trunk/src/buzelib/WaveTableList.h
r1273 r1293 5 5 class CWaveTableView; 6 6 7 class CWaveTableList : public CWindowImpl<CWaveTableList, CList Box> {7 class CWaveTableList : public CWindowImpl<CWaveTableList, CListViewCtrl> { 8 8 CWaveTableView* view; 9 9 public: 10 DECLARE_WND_SUPERCLASS("WaveTableList", CList Box::GetWndClassName())10 DECLARE_WND_SUPERCLASS("WaveTableList", CListViewCtrl::GetWndClassName()) 11 11 12 12 BEGIN_MSG_MAP(CWaveTableList) … … 17 17 MESSAGE_HANDLER(WM_DROPFILES, OnDropFiles) 18 18 MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRButtonDown) 19 MESSAGE_HANDLER(WM_SIZE, OnSize) 19 20 END_MSG_MAP() 20 21 … … 30 31 LRESULT OnDropFiles(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 31 32 LRESULT OnRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 33 LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 32 34 }; -
trunk/src/buzelib/WaveTableView.cpp
r1286 r1293 239 239 mainSplitter.SetSplitterPanes(waveLevelSplitter, waveTabSplitter); 240 240 241 waveTableList.Create(waveLevelSplitter, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_VSCROLL | LBS_NOTIFY, WS_EX_CLIENTEDGE, IDC_WAVELIST); 241 waveTableList.Create(waveLevelSplitter, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_VSCROLL | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_REPORT | LVS_SHOWSELALWAYS, 0, IDC_WAVELIST); 242 waveTableList.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT,LVS_EX_FULLROWSELECT); 243 waveTableList.AddColumn("Instrument", 0); 244 242 245 waveEntryList.Create(waveLevelSplitter, rcDefault, 0, WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS |WS_CLIPCHILDREN | WS_VSCROLL | LVS_SINGLESEL | LVS_REPORT | LVS_SHOWSELALWAYS, 0, IDC_ENTRYLIST); 243 waveEntryList.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT |WS_EX_CLIENTEDGE,LVS_EX_FULLROWSELECT|WS_EX_CLIENTEDGE);246 waveEntryList.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT,LVS_EX_FULLROWSELECT); 244 247 245 248 waveLevelSplitter.SetSplitterPanes(waveTableList, waveEntryList); … … 247 250 waveEditorCtrl.Create(waveTabSplitter, rcDefault, 0, WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS |WS_CLIPCHILDREN | WS_HSCROLL, WS_EX_CLIENTEDGE, IDC_FILELIST); 248 251 249 waveTabs.Create(waveTabSplitter, rcDefault, 0, 0, 0, IDC_WAVETABS);252 waveTabs.Create(waveTabSplitter, rcDefault, 0, WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN, 0, IDC_WAVETABS); 250 253 251 254 //editTab.Create(waveTabs);//, rcDefault, 0, WS_CHILD); … … 266 269 waveTabSplitter.SetSplitterPos(rcClient.bottom - 200); 267 270 268 waveTableList.SetCurSel(0);269 271 270 272 updateFromWaveTable(); 273 274 waveTableList.SelectItem(0); 271 275 272 276 updateToolbar(); … … 348 352 int note = midi_to_buzz_note(keyboard_mapper::map_code_to_note(document->octave, wParam)); 349 353 if (note == -1) return 0; 350 int index = waveTableList.Get CurSel();354 int index = waveTableList.GetSelectedIndex(); 351 355 if (index >= player->getWaves()) return 0; 352 356 if (index < 0) return 0; … … 397 401 398 402 LRESULT CWaveTableView::OnPlayWave(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { 399 int wavePos=waveTableList.Get CurSel();403 int wavePos=waveTableList.GetSelectedIndex(); 400 404 if (wavePos==LB_ERR) return 0; // nothing selected 401 405 … … 409 413 410 414 LRESULT CWaveTableView::OnClearWave(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { 411 int index=waveTableList.Get CurSel();415 int index=waveTableList.GetSelectedIndex(); 412 416 if (index>=player->getWaves()) return 0; 413 417 if (index<0) return 0; … … 423 427 } 424 428 425 LRESULT CWaveTableView::OnLbnDblClkWaveList( WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) {426 int index = waveTableList.Get CurSel();429 LRESULT CWaveTableView::OnLbnDblClkWaveList(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) { 430 int index = waveTableList.GetSelectedIndex(); 427 431 if (index >= player->getWaves()) return 0; 428 432 if (index < 0) return 0; … … 438 442 439 443 void CWaveTableView::updateEntry() { 440 int index=waveTableList.Get CurSel();444 int index=waveTableList.GetSelectedIndex(); 441 445 if (index<0 || index>=player->getWaves()) return ; 442 446 … … 475 479 476 480 void CWaveTableView::updateSelection() { 477 int index=waveTableList.Get CurSel();481 int index=waveTableList.GetSelectedIndex(); 478 482 if (index==LB_ERR) return ; // nothing selected 479 483 … … 489 493 mainFrame->document->selectWave(entry); 490 494 491 // recordTab.bindWavePlugins();492 495 } 493 496 494 497 void CWaveTableView::updateFromWaveTable() { 495 int sel = waveTableList.GetCurSel(); 496 int scroll = waveTableList.GetScrollPos(SB_VERT); 497 498 waveTableList.ResetContent(); 498 int sel = waveTableList.GetSelectedIndex(); 499 POINT zeroPt = { 0, 0 }; 500 int first = waveTableList.HitTest(zeroPt, 0); 501 502 waveTableList.DeleteAllItems(); 499 503 500 504 size_t wavecount = player->getWaves(); … … 503 507 char pc[256]; 504 508 sprintf(pc, "%02x %s", i+1, wave->name.c_str()); 505 waveTableList. AddString(pc);509 waveTableList.InsertItem(i, pc); 506 510 } 507 511 508 512 if (sel != -1) 509 waveTableList.SetCurSel(sel); 510 511 waveTableList.SendMessage(WM_VSCROLL, MAKEWPARAM(SB_THUMBPOSITION, scroll), 0); 512 } 513 514 LRESULT CWaveTableView::OnLbnSelChangeWaveList(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { 513 waveTableList.SelectItem(sel); 514 515 int first2 = waveTableList.HitTest(zeroPt, 0); 516 517 RECT rcItem; 518 waveTableList.GetSubItemRect(0, 0, LVIR_BOUNDS, &rcItem); 519 int itemHeight = rcItem.bottom - rcItem.top; 520 SIZE scrollSize = { 0, (first - first2) * itemHeight }; 521 waveTableList.Scroll(scrollSize); 522 } 523 524 LRESULT CWaveTableView::OnLbnSelChangeWaveList(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) { 515 525 updateSelection(); 516 526 return 0; … … 528 538 529 539 int CWaveTableView::getSelectedWaveIndex() { 530 int index=waveTableList.Get CurSel();540 int index=waveTableList.GetSelectedIndex(); 531 541 if (index==LB_ERR) return -1; // nothing selected 532 542 if (index>=player->getWaves()) return -1; … … 537 547 538 548 wave_info_ex* CWaveTableView::getSelectedWave() { 539 int index=waveTableList.Get CurSel();549 int index=waveTableList.GetSelectedIndex(); 540 550 if (index==LB_ERR) return 0; // nothing selected 541 551 if (index>=player->getWaves()) return 0; -
trunk/src/buzelib/WaveTableView.h
r1285 r1293 68 68 { 69 69 ClientViewListener* clientViewListener; 70 CListBox sampleList;71 70 CTrackBarCtrl waveVolumeSlider; 72 71 CWaveEntryList waveEntryList; … … 112 111 MESSAGE_HANDLER(WM_DESTROY, OnDestroy) 113 112 114 COMMAND_HANDLER(IDC_WAVELIST, LBN_DBLCLK, OnLbnDblClkWaveList) 115 COMMAND_HANDLER(IDC_WAVELIST, LBN_SELCHANGE, OnLbnSelChangeWaveList) 113 NOTIFY_HANDLER(IDC_WAVELIST, LVN_ITEMCHANGED, OnLbnSelChangeWaveList) 114 NOTIFY_HANDLER(IDC_WAVELIST, NM_DBLCLK, OnLbnDblClkWaveList) 115 116 116 NOTIFY_HANDLER(IDC_ENTRYLIST, LVN_ITEMCHANGED, OnLbnItemChangedEntryList) 117 117 118 COMMAND_HANDLER(IDC_PLAYWAVEBUTTON, BN_CLICKED, OnPlayWave) 118 119 COMMAND_HANDLER(IDC_STOPWAVEBUTTON, BN_CLICKED, OnStopWave) … … 142 143 NOTIFY_HANDLER(IDC_WAVETABS, TCN_SELCHANGE, OnTcnSelchangeWavetab) 143 144 145 // From CWTLTabViewCtrl: 146 // Parent windows must have REFLECT_NOTIFICATIONS() in the message map 147 // to pass along the TCN_SELCHANGE message to 144 148 END_MSG_MAP() 145 149 … … 179 183 LRESULT OnZoomSelection(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 180 184 LRESULT OnZoomAll(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 181 LRESULT OnLbnDblClkWaveList( WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);182 LRESULT OnLbnSelChangeWaveList( WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);185 LRESULT OnLbnDblClkWaveList(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/); 186 LRESULT OnLbnSelChangeWaveList(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/); 183 187 LRESULT OnLbnItemChangedEntryList(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/); 184 188 LRESULT OnTcnSelchangeWavetab(int /*idCtrl*/, LPNMHDR pNMHDR, BOOL& /*bHandled*/);
