waveform mousewheel zoom zone very small

Bug #999249 reported by Owen Williams
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Low
Thomas Vincent

Bug Description

Currently the only way to interactively zoom in on a waveform in 1.11 is to know that there is an invisible 20 pixel stripe on the right edge of the waveform, and if the user uses the mousewheel in this stripe the zoom level changes. Either skins have to show some sort of control in this area, or the stripe size restriction should be eliminated.

In my own branch, I allow the user to mousewheel anywhere in the waveform widget. I don't see any reason not to have that be the default.

Related branches

Revision history for this message
Thomas Vincent (vrince) wrote :

Skins can modify the zoom via "waveform_zoom" control (no skin use it for the moment ... I guess we adapt skins for 1.11).

If we want the zoom area to be displayed when mouse is over, we need to enable mouse tracking. Small an easy move. But don't know how it'll affect performances on really small machine fighting to make the display append.

Zoom everywhere is good enough for me.

Changed in mixxx:
importance: Undecided → Low
Revision history for this message
jus (jus) wrote :

Thanks.
Good to know, haven`t found about this strip.
I plan to add zoom control buttons to the skins waveform + a zoom shortcut to the keyboard but holded of until the waveform branch is merged.

I think some changes have to be made for the waveform zoom buttons to work as expected:
Zoom factor: Current waveform zoom range is 1-6 where 1 is default and this is too close (Zoom steps are geeky too). We have less than 1 second of audio visible per default now in the standard skin. Better use something like 100%-10% in steps of 10 where 50% is default so we can use 3 not yet added zoom buttons (In/Out/Reset to default) per deck in the GUI.

Revision history for this message
Thomas Vincent (vrince) wrote :

Consider changing default as done. Should be my mistake I wanted zoom 33% to be the default. Is that OK ?
Do you want me to add "waveform_zoom_default" control, to be able to trigger it from skin ?

For the moment zoom is based on considering a integer numbers of visual sample at a time.
I don't know if my last sentence make sens :) but we are zooming using :
1 samples => 100%, 2 samples => 50%, 3 samples => 33% ... 6 samples => 16%

I can make it go up to 10% with 10 levels of zoom but the more we de-zoom the more visual data range evaluated each frame is large and the more it's CPU demanding. With the GL implementation we have a line per visual sample ...

If we want small config to run 10% zooming with 1000 pixel long waveform widget I guess per computing waveform data for each zoom level tend to become necessary ... people finding analyzer long are not gonna be happy ...

Revision history for this message
jus (jus) wrote :

I would expect the new toggle controls to work on the waveform zoom, but nave not tested. See lp:946432
waveform_zoom_default control should not be needed.

So based on the new toggle controls this should be the assignment for the 3 zoom buttons:
waveform_zoom_set_one (Waveform max. zoomed in, Right-click on Zoom in button)
waveform_zoom_down (Waveform zoom in (steps), Left-click on Zoom in button)
waveform_zoom_set_zero (Waveform reset to default zoom, Left-click on Reset button)
waveform_zoom_toggle (Waveform toggle between min/max zoom , Right-click on Reset button)
waveform_zoom_down (Waveform zoom out (steps), Left-click on Zoom out button )
waveform_zoom_set_minus_one (Waveform max. zoomed out, Right-click on Zoom out button )

Thomas Vincent (vrince)
Changed in mixxx:
assignee: nobody → Thomas Vincent (vrince)
milestone: none → 1.11.0
status: New → In Progress
status: In Progress → Confirmed
Thomas Vincent (vrince)
Changed in mixxx:
status: Confirmed → In Progress
Revision history for this message
jus (jus) wrote :

Waveform mouse-wheel zoom in now accessible everywhere in the waveform viewer

Changed in mixxx:
status: In Progress → Fix Committed
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/6439

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.