Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

Reply
 
Thread Tools Display Modes
Old 12-06-2017, 08:34 AM   #121
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by snooks View Post
What about when it zooms right in to a bar, at an unknown location somewhere maybe 25 bars ahead or behind and all context is lost?
Are you referring to what happens when you activate a tiny and faraway MIDI item in an existing MIDI editor's track list? Or to what happens when you open a larger MIDI item in a new editor and REAPER recalls the previous zoom level of the item?
juliansader is offline   Reply With Quote
Old 12-06-2017, 09:29 AM   #122
snooks
Banned
 
Join Date: Sep 2015
Posts: 1,650
Default

Yes, small item that's out of view, not necessarily far away, activated in the track list.. existing editor. It might be 1 bar ahead of view, or maybe 40 behind. In particular the type of small item with one note in it that nobody has ever intentionally zoomed to fit a screen in the history of MIDI editing.
snooks is offline   Reply With Quote
Old 12-08-2017, 06:50 PM   #123
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

Quote:
Originally Posted by juliansader View Post
I have to admit that (despite sometimes commenting in these threads) the zooming issues don't really bother me. I have a "Zoom to 3 measures at mouse cursor" script linked to Z, so whenever my MIDI editor suddenly zooms out, I simply move the mouse to where I want to edit and with one click, I am there.
Thanks Julian! Just found your script in the repro. I added an "open editor" and removed some code that isn't necessary, since the script will always be triggered from the arrangement. This now perfectly fits my needs! I assigned it to the Enter key.

Code:
-- USER AREA
number_of_measures = 5

-- End of USER AREA
-------------------

-- Open MIDI Editor
reaper.Main_OnCommand(40153, 0) 

--------------------------------------
-- Is SWS installed?
if not reaper.APIExists("BR_GetMouseCursorContext") then
    reaper.MB("This script requires the SWS/S&M extension, which adds all kinds of nifty features to REAPER.\n\nThe extension can be downloaded from www.sws-extension.org.", "ERROR", 0)
    return
end

   
-- Is there an active MIDI editor?
editor = reaper.MIDIEditor_GetActive()
if editor == nil then return end
    
reaper.PreventUIRefresh(1)

-- Store any pre-existing loop range
loopStart, loopEnd = reaper.GetSet_LoopTimeRange2(0, false, true, 0, 0, false)

mouseTimePos = reaper.GetCursorPositionEx(0)
beats, measures = reaper.TimeMap2_timeToBeats(0, mouseTimePos)

-- Zoom!
zoomStart = reaper.TimeMap2_beatsToTime(0, 0, measures-math.floor(number_of_measures/2))
zoomEnd   = reaper.TimeMap2_beatsToTime(0, 0, measures+math.ceil(number_of_measures/2))
reaper.GetSet_LoopTimeRange2(0, true, true, zoomStart, zoomEnd, false)
reaper.MIDIEditor_OnCommand(editor, 40726) -- Zoom to project loop selection

-- Reset the pre-existing loop range
reaper.GetSet_LoopTimeRange2(0, true, true, loopStart, loopEnd, false)

reaper.PreventUIRefresh(-1)
reaper.UpdateTimeline()
_Stevie_ is offline   Reply With Quote
Old 12-09-2017, 02:37 AM   #124
ivansc
Human being with feelings
 
Join Date: Aug 2007
Location: Near Cambridge UK and Near Questembert, France
Posts: 22,754
Default

stevie - added to reapack?
__________________
Ici on parles Franglais
ivansc is offline   Reply With Quote
Old 12-09-2017, 04:57 AM   #125
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

Nah, it's not my code, I just modified Julians script
But maybe Julian wants to share it?

Last edited by _Stevie_; 12-09-2017 at 05:08 AM.
_Stevie_ is offline   Reply With Quote
Old 12-28-2017, 02:45 PM   #126
thevisi0nary
Human being with feelings
 
thevisi0nary's Avatar
 
Join Date: Nov 2011
Posts: 530
Default

Bump don’t give up.
thevisi0nary is offline   Reply With Quote
Old 02-26-2018, 10:09 AM   #127
thevisi0nary
Human being with feelings
 
thevisi0nary's Avatar
 
Join Date: Nov 2011
Posts: 530
Default

Bump. Fix this.
thevisi0nary is offline   Reply With Quote
Old 03-29-2018, 04:29 AM   #128
EgM
Human being with feelings
 
EgM's Avatar
 
Join Date: Jul 2006
Location: NB, Canada
Posts: 124
Default

Yes, Please.
__________________
Eric E. Hache
www.gamemusic.ca
EgM is offline   Reply With Quote
Old 03-31-2018, 11:10 AM   #129
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by EvilDragon View Post
just SCROLL to the items, never ZOOM, and while at it, also NEVER truncate the ruler!
The truncation is indeed a nuisance.

When scrolling to the new item, where should the viewport scroll to?
* Edge of item closest to current position
* Beginning of item
* Last-edited position?
juliansader is offline   Reply With Quote
Old 03-31-2018, 12:38 PM   #130
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

I think it should scroll to the beginning of the item, without changed zoom level (obviously).
EvilDragon is offline   Reply With Quote
Old 03-31-2018, 01:07 PM   #131
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,812
Default

Quote:
Originally Posted by EvilDragon View Post
I think it should scroll to the beginning of the item, without changed zoom level (obviously).
maybe last horizontal scroll length (or similar calculation) should be taken in account too, because if item has much bigger length then the item before (or vice versa) , the user still loose focus of the time he was previously editing.
deeb is offline   Reply With Quote
Old 03-31-2018, 02:22 PM   #132
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Well, not sure. If you have things set so that item selection mirrors visibility and editability, then all you really care about is the zoom level staying constant, you don't care about previous item that was shown. When you click on another item, you just want to go to THAT item...
EvilDragon is offline   Reply With Quote
Old 03-31-2018, 03:58 PM   #133
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

When activating an item that doesn't overlap the current viewport, I would strongly prefer that the MIDI editor recalls the last-used zoom level and position for that item. (This is the default behavior when opening an item in a new MIDI editor, so it should be straightforward to apply it to switching items in an existing MIDI editor.)

If I switch back and forth between items that don't overlap, I don't want to have to scroll (or zoom) to my previous position each time.

In the case of items that have not previously been opened in an editor, I actually prefer the current zoom-to-fit behavior, rather than scroll-to-beginning. I find it easier and faster to zoom to my intended position, rather than scroll.

Of course, if we get more customization options, everyone can be happy!
juliansader is offline   Reply With Quote
Old 04-01-2018, 12:08 AM   #134
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

I think in one MIDI editor per project, there should NEVER EVER be zoom changes that aren't made by the user. AFAIK that's also how all other DAWs which have a similar mode work.
EvilDragon is offline   Reply With Quote
Old 04-01-2018, 06:31 AM   #135
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Would the following FRs satisfy everyone?

When activating (via the track list) an item that doesn't overlap the current viewport

New option to toggle between auto-zoom and never-zoom:
(Something like "Option: Auto-zoom horizontally when activating item outside current viewport".)

If NEVER-zoom is on, the MIDI editor will never change horizontal zoom level. (I guess it won't make much difference whether the horizontal zoom level is measured in beats or in time?) When activating and moving to an item that has been viewed before, recall last-used position, without changing zoom level. When moving to an item that has never been viewed before, move to the leftmost edge of the item.

If AUTO-zoom is toggled on, the MIDI editor will recall last-used position *and* zoom level when moving to an item that has been viewed before, or zoom-to-fit if the item has never been viewed before. (The auto-zoom behavior is therefore different from the current default behavior, which doesn't recall last-used position and zoom.)


When activating a track that contains multiple items

When activating a new *track* with multiple MIDI items (either by selecting the track or by clicking the "Targeted for insertion" button), which one of the track's items should be activated?

Try to activate an item that overlaps the current viewport, so that the horizontal position and zoom does not change at all.
-> If that fails, try to activate (and move to) the last-used item on the track
-> Only as a last resort, do the current default behavior: activate (and move to) the first item on the track.

Last edited by juliansader; 04-10-2018 at 06:59 AM.
juliansader is offline   Reply With Quote
Old 04-01-2018, 09:15 AM   #136
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Agreed. The last point you mention (last resort) should also be achieved via scrolling only if this new option is added and enabled.


I also think this behavior should be carefully adjusted depending on MIDI editor mode (per item, per track, per project). I wouldn't expect the same behavior in each of these modes.

Last edited by EvilDragon; 04-01-2018 at 09:26 AM.
EvilDragon is offline   Reply With Quote
Old 04-01-2018, 12:26 PM   #137
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,812
Default

Julian: seems very nice.thank you
deeb is offline   Reply With Quote
Old 04-01-2018, 02:58 PM   #138
snooks
Banned
 
Join Date: Sep 2015
Posts: 1,650
Default

Yes, that seems sensible. I think with activating a track and no items are in the current viewport that it should stop there, as an option. For times when the only items that exist on that track are at the beginning of the timeline and are utility/unused.
snooks is offline   Reply With Quote
Old 04-02-2018, 04:17 PM   #139
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by snooks View Post
I think with activating a track and no items are in the current viewport that it should stop there, as an option. For times when the only items that exist on that track are at the beginning of the timeline and are utility/unused.
Are you referring to cases in which the user inadvertently activates the wrong track?
juliansader is offline   Reply With Quote
Old 04-02-2018, 05:10 PM   #140
snooks
Banned
 
Join Date: Sep 2015
Posts: 1,650
Default

Yes, plus when causally browsing with the Track List to see what's happening in a sea of notes. eg a bunch of percussion happening and clicking around in a fairly zoomed out viewport to see what's happening.

In that situation getting scrolled back to the start of the project to a short, but now full screen item that's there in a scratchpad area or from a template only for note names/demo sequence is very troubling.

Basically, do nothing should be an option.
snooks is offline   Reply With Quote
Old 04-02-2018, 05:27 PM   #141
tusitala
Human being with feelings
 
tusitala's Avatar
 
Join Date: Apr 2010
Location: London (UK)
Posts: 412
Default

Quote:
Originally Posted by juliansader View Post
Would the following FRs satisfy everyone?

When activating an item that doesn't overlap the current viewport

New option to toggle between auto-zoom and never-zoom:
(Something like "Option: Auto-zoom horizontally when activating item outside current viewport".)

If NEVER-zoom is on, the MIDI editor will never change horizontal zoom level. (I guess it won't make much difference whether the horizontal zoom level is measured in beats or in time?) When activating and moving to an item that has been viewed before, recall last-used position, without changing zoom level. When moving to an item that has never been viewed before, move to the leftmost edge of the item.

If AUTO-zoom is toggled on, the MIDI editor will recall last-used position *and* zoom level when moving to an item that has been viewed before, or zoom-to-fit if the item has never been viewed before. (The auto-zoom behavior is therefore different from the current default behavior, which doesn't recall last-used position and zoom.)


When activating a track that contains multiple items

When activating a new *track* with multiple MIDI items (either by selecting the track or by clicking the "Targeted for insertion" button), which one of the track's items should be activated?

Try to activate an item that overlaps the current viewport, so that the horizontal position and zoom does not change at all.
-> If that fails, try to activate (and move to) the last-used item on the track
-> Only as a last resort, do the current default behavior: activate (and move to) the first item on the track.
YESSS!
tusitala is offline   Reply With Quote
Old 08-31-2019, 05:21 AM   #142
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 957
Default

Bump 8yo thread

The problem still relevant. Each time I create a new MIDI item and open it, I change the zoom settings. I do it mainly for vertical zoom. Again and again. I think without this part of the “workflow”, my workflow would be smoother.
cool is offline   Reply With Quote
Old 11-24-2020, 06:50 AM   #143
Broojacker
Human being with feelings
 
Join Date: Apr 2016
Location: Ukraine
Posts: 49
Default

Bump!
Same thing. I have to adjust vertical zoom every time when I create or record a new item.
We need option for default vertical zoom value. 3-4 octaves is more than enough.
__________________
soundcloud
Broojacker is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 08:58 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.