From f539fce7e10214444916104c052a2a6528351f45 Mon Sep 17 00:00:00 2001 From: Paul Giblock Date: Wed, 27 Aug 2008 09:05:37 +0000 Subject: [PATCH] Improved triplet support in piano roll git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1506 0778d3d1-df1d-0410-868b-ea421aaaa00d --- src/gui/piano_roll.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/gui/piano_roll.cpp b/src/gui/piano_roll.cpp index ad49c6d81..bbaf9e357 100644 --- a/src/gui/piano_roll.cpp +++ b/src/gui/piano_roll.cpp @@ -1866,23 +1866,20 @@ void pianoRoll::paintEvent( QPaintEvent * _pe ) // draw vertical raster bool triplets = m_quantizeModel.value() > NUM_EVEN_LENGTHS; - int tact_16th = m_currentPosition / (triplets?8:DefaultBeatsPerTact); - // TODO: FIX OFFSET - //int spt = 2 * midiTime::stepsPerTact(); int spt = midiTime::stepsPerTact(); - float pp16th = m_ppt / spt; - + int bpt = DefaultBeatsPerTact; if ( triplets ) { spt = static_cast(1.5 * spt); + bpt = static_cast(bpt * 2.0/3.0); pp16th *= 2.0/3.0; } - printf("%d %d\n", (m_currentPosition% DefaultBeatsPerTact ), DefaultBeatsPerTact); + int tact_16th = m_currentPosition / bpt; - const int offset = ( m_currentPosition % (triplets?8:DefaultBeatsPerTact) ) * - m_ppt * (triplets?3.0/3.0:1.0) / midiTime::ticksPerTact(); + const int offset = ( m_currentPosition % bpt ) * + m_ppt / midiTime::ticksPerTact(); bool show32nds = ( m_zoomingModel.value() > 3 );