From: Dan M. <al...@gm...> - 2013-01-26 10:03:58
|
Great work/improvement Tim! Thanks! On Sat, Jan 26, 2013 at 1:47 AM, Tim E. Real <ter...@ro...> wrote: > Continuing with some usability fixes... > > Here's a fix I guarantee that we will *all* appreciate, for the Arranger, > PianoRoll, DrumEditor, and /especially/ for those who work with > WaveEditor: > > Zoom about the cursor! > > The Zoom In and Out shortcuts Ctl+PgUp/PgDown (defaults) and > Ctl+MouseWheel now zoom about the mouse cursor position. > > Until now, all zooming was done relative to the canvas' left edge. > > I can't tell you how many frustrating years I've worked with > wave parts in MusE, where one frequently needs to zoom in and out > from low to high magnification just to find those unwanted spikes > or do some fades or curious viewing or whatever. > Since the zooming was relative to the left canvas edge, we would zoom > and our reference position would go whipping waaaay to the right > leaving us completely lost - "where the heck am I?" - and adding insult > by forcing us to do a long painful squint-eyed scroll back to the place > we were looking at. > At high magnifications, this was hell. > > No more. Be gone! > Mag... ...nificant! > > Try 'er out. > > Note that due to the fact that MusE does not allow the left edge of > a canvas to "pull in" ie does not allow bar zero to be "anywhere", > when you cross over the threshold of the horizontal scroll bar > thumb track being "full" or completely left, you will *lose* the > point you are zooming about, as it *must* shift. > Not much I can do there. Maybe someday we can allow it, so that > you *never* lose you zoom-about point, no matter what zoom > level you are at. > > Also, due to rounding and conversions etc, the zoom-about point > may shift slightly as you zoom. It's only worse at higher magnifications. > > Tim. > > > >From ChangeLog: > ------------------------------ > Feature/fix: Zoom at cursor! Zoom Ctl+PgUp/PgDown (defaults) and > Ctl+MouseWheel now zoom about cursor. > > Eliminated redundant call in ScrollScale::setMag(), by blocking signals. > Consolidated all HorizontalZoomIn and HorizontalZoomOut functions > into a single HorizontalZoom. > Added eight more 'quick zoom' levels to class ScrollScale. > Modified all HorizontalZoom functions to pass cursor offset, and use it > in ScrollScale::setScale(). > > > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnnow-d2d > _______________________________________________ > Lmuse-user mailing list > Lmu...@li... > https://lists.sourceforge.net/lists/listinfo/lmuse-user > |