diff options
author | Tim E. Real <termtech@rogers.com> | 2011-01-02 07:53:30 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2011-01-02 07:53:30 +0000 |
commit | 2b6b35d94ace955c3a2d468ee761fa3afe59d5d9 (patch) | |
tree | 440411c08e63f1843fbdc1cd71975693c0e6c21f /muse2/muse/arranger | |
parent | 89f610ac96d0bf1d40abe4849d9fb9d4b2ec84ba (diff) |
Focussing, shortcuts, transport position snapping.
Diffstat (limited to 'muse2/muse/arranger')
-rw-r--r-- | muse2/muse/arranger/arranger.cpp | 12 | ||||
-rw-r--r-- | muse2/muse/arranger/pcanvas.cpp | 29 | ||||
-rw-r--r-- | muse2/muse/arranger/tlist.cpp | 8 |
3 files changed, 38 insertions, 11 deletions
diff --git a/muse2/muse/arranger/arranger.cpp b/muse2/muse/arranger/arranger.cpp index 6d722f34..b27a47d1 100644 --- a/muse2/muse/arranger/arranger.cpp +++ b/muse2/muse/arranger/arranger.cpp @@ -138,6 +138,8 @@ Arranger::Arranger(QMainWindow* parent, const char* name) for (int i = 0; i < 6; i++) raster->insertItem(i, tr(rastval[i])); raster->setCurrentIndex(1); + // Set the audio record part snapping. Set to 0 (bar), the same as this combo box intial raster. + song->setArrangerRaster(0); toolbar->addWidget(raster); connect(raster, SIGNAL(activated(int)), SLOT(_setRaster(int))); ///raster->setFocusPolicy(Qt::NoFocus); @@ -266,6 +268,7 @@ Arranger::Arranger(QMainWindow* parent, const char* name) ib->setText(tr("TrackInfo")); ib->setCheckable(true); ib->setChecked(showTrackinfoFlag); + ib->setFocusPolicy(Qt::NoFocus); connect(ib, SIGNAL(toggled(bool)), SLOT(showTrackInfo(bool))); header = new Header(tracklist, "header"); @@ -337,6 +340,7 @@ Arranger::Arranger(QMainWindow* parent, const char* name) int offset = AL::sigmap.ticksMeasure(0); hscroll = new ScrollScale(-1000, -10, xscale, song->len(), Qt::Horizontal, editor, -offset); + hscroll->setFocusPolicy(Qt::NoFocus); ib->setFixedHeight(hscroll->sizeHint().height()); // Changed p3.3.43 Too small steps for me... @@ -370,7 +374,7 @@ Arranger::Arranger(QMainWindow* parent, const char* name) canvas->setCanvasTools(arrangerTools); canvas->setOrigin(-offset, 0); canvas->setFocus(); - parent->setFocusProxy(canvas); // Tim. + //parent->setFocusProxy(canvas); // Tim. connect(canvas, SIGNAL(setUsedTool(int)), this, SIGNAL(setUsedTool(int))); connect(canvas, SIGNAL(trackChanged(Track*)), list, SLOT(selectTrack(Track*))); @@ -430,8 +434,8 @@ Arranger::Arranger(QMainWindow* parent, const char* name) setTabOrder(trackInfo, infoScroll); setTabOrder(infoScroll, list); setTabOrder(list, canvas); - setTabOrder(canvas, ib); - setTabOrder(ib, hscroll); + //setTabOrder(canvas, ib); + //setTabOrder(ib, hscroll); } //--------------------------------------------------------- @@ -698,7 +702,7 @@ void Arranger::_setRaster(int index) }; _raster = rasterTable[index]; // Set the audio record part snapping. - song->setRecRaster(_raster); + song->setArrangerRaster(_raster); canvas->redraw(); } diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp index ae0392d8..b57f524f 100644 --- a/muse2/muse/arranger/pcanvas.cpp +++ b/muse2/muse/arranger/pcanvas.cpp @@ -1103,16 +1103,35 @@ void PartCanvas::keyPress(QKeyEvent* event) return; } else if (key == shortcuts[SHRT_POS_DEC].key) { - int frames = pos[0] - AL::sigmap.rasterStep(pos[0], *_raster); - if (frames < 0) - frames = 0; - Pos p(frames,true); + int spos = pos[0]; + if(spos > 0) + { + spos -= 1; // Nudge by -1, then snap down with raster1. + spos = AL::sigmap.raster1(spos, *_raster); + } + if(spos < 0) + spos = 0; + Pos p(spos,true); song->setPos(0, p, true, true, true); return; } else if (key == shortcuts[SHRT_POS_INC].key) { + int spos = AL::sigmap.raster2(pos[0] + 1, *_raster); // Nudge by +1, then snap up with raster2. + Pos p(spos,true); + song->setPos(0, p, true, true, true); + return; + } + else if (key == shortcuts[SHRT_POS_DEC_NOSNAP].key) { + int spos = pos[0] - AL::sigmap.rasterStep(pos[0], *_raster); + if(spos < 0) + spos = 0; + Pos p(spos,true); + song->setPos(0, p, true, true, true); + return; + } + else if (key == shortcuts[SHRT_POS_INC_NOSNAP].key) { Pos p(pos[0] + AL::sigmap.rasterStep(pos[0], *_raster), true); - song->setPos(0, p, true, true, true); //CDW + song->setPos(0, p, true, true, true); return; } else if (key == shortcuts[SHRT_TOOL_POINTER].key) { diff --git a/muse2/muse/arranger/tlist.cpp b/muse2/muse/arranger/tlist.cpp index d419866a..4c104e0b 100644 --- a/muse2/muse/arranger/tlist.cpp +++ b/muse2/muse/arranger/tlist.cpp @@ -679,7 +679,11 @@ void TList::keyPressEvent(QKeyEvent* e) } } emit keyPressExt(e); //redirect keypress events to main app - e->ignore(); + + // p4.0.10 Removed by Tim. keyPressExt are sent to part canvas, where they are + // ignored *only* if necessary. + //e->ignore(); + /* int key = e->key(); switch (key) { @@ -1402,7 +1406,7 @@ void TList::setYPos(int y) // resizeEvent //--------------------------------------------------------- -void TList::resizeEvent(QResizeEvent* ev) +void TList::resizeEvent(QResizeEvent* /*ev*/) { } |