Old 10-20-2019, 04:20 AM   #1
Dafarkias
Human being with feelings
 
Dafarkias's Avatar
 
Join Date: Feb 2019
Location: England
Posts: 305
Default Dfk's Project Map Navigator (v0.94, beta)

Disclaimer:
Test/use my scripts at your own risk. While it is typically unlikely that a REAPER Lua script would damage or harm your hardware/software/data, I will not accept any liability if this were to occur. All my scripts are licensed as GPL v.3.

Reapers! Bug-reports! Feature requests! Complaints! Encouragements! You are all welcome here in my thread!



Script requires js_ReaScriptAPI, and SWS/S&M Extension!


Release Log:

ALPHA

[v0.5]
*(script release)
[v0.51]
*Minor bugs
[v0.52]
*Added script internal 'user area' customizations
*Bug: Post 6 (Nantho, 1st attempt)
[v0.6]
*Added "load" screen
*Added mouse cursor contexts (test)
*Added new project length detection
*FEATURE: rmb marquee view
[v0.63]
*revised rmb marquee
*various attempted bug-fixes
[v0.64]
*Attempted fix: Improper display of project markers/regions
*Attempted fix: Inaccurate placement of track names
*Added: Display project marker/region names at top of window
[v0.7]
*Added: Play/edit cursor display in project map
*Added: Place edit cursor using project map ( middle mouse button)
*Added: Play/stop playback using project map (spacebar)
*Added more 'user area' variables
*Reconfigured algorithm for 'drawing' items (hopefully fixed issue with 'frozen' items, or scaling issues)
[v0.75]
*Added: Mousewheel vertical zoom (mousewheel), modifier options in 'user area'
*Added: Mousewheel horizontal zoom (Shift+mousewheel), modifier options in 'user area'
*Added: 'escape' key closes window
*Added: window is pinned by default, option to change in 'user area'
*Removed: track name collision with project/region markers
[v0.8]
*Added MIDI item display (NEW, testing required)
[v0.81]
*Bug: project marker colors displaying incorrectly (Sumalc, Post#64, first attempt)
[v0.85]
*Added: project map displays the project loop-selection (can be disabled in 'user area')
*Added: left/right arrows move edit cursor to nearest project/region marker in applicable direction
*Added: up arrow alternates setting project loop ends to edit cursor position
*Added: down arrow hard 'plays' from edit cursor position (doesn't cycle between play/stop like spacebar does)
*Added: '/' toggles project loop on-and-off (project repeat)
[v0.86]
*Added: 'm' toggles project mixer window visible
*Added: ctrl+left-click 'solos' project map track in mixer
[v0.87]
*Added: script refresh after changing track color
*Added: 'r' refreshes script (force reload, good for updating media items, which don't auto-update)
*Added: proper hotkey documentation concerning OSX/Windows specifications (Sumalc, post#72 (needs tested))
*Added: 'Waveform_Definition' into script's 'user area'. Can improve performance.
*Added: marker number to beginning of title (Sumalc, post#72)
[v0.9]
*Fixed: error with assignment of mousewheel modifier(s)
*Added: 'user area' option for bordless window as default:
*Added: F12 cycles between borderless window and bordered window
[v0.91]
*Removed borderless window due to glitch-error between window positioning and gfx.h
*Fixed error with project/region marker color display
[v0.92]
*Added borderless window option back in (shift+click to center window on mouse)
[v0.93]
*FEATURE: 'x' sets edit cursor to first visible measure in arrange/track view (a.k.a. Nantho's request)
*Reconfigured marquee. Attempted to bring back its intended behavior/functionality
*Stereo display for media items (previously, only mono. Once again, I used code from spk77 to make this happen.)
*Reconfigured MIDI-items notes visually to be slightly more prominent.
*Removed small bugs, and bolstered script efficiency.
BETA

[v0.94]
*Worked on misrepresentation of stereo items in display.
Attached Files
File Type: lua Dfk Project Map Navigator.lua (35.8 KB, 19 views)

Last edited by Dafarkias; 11-23-2019 at 03:25 PM. Reason: [clarification, mechanics, update(s)]
Dafarkias is offline   Reply With Quote
Old 10-20-2019, 04:30 AM   #2
Dafarkias
Human being with feelings
 
Dafarkias's Avatar
 
Join Date: Feb 2019
Location: England
Posts: 305
Default

The RMB marquee operation has been optimized to suit the API's lack of vertical zoom support capabilities.

Simply scroll your mousewheel while holding down the RMB to set your vertical zoom. This will adjust the yellow square, which upon releasing the RMB will become your new screen position/zoomed area.




v0.8 MIDI display!



v0.86 solo tracks in mixer! (toggle)



v0.9!

In order to move or resize the project map, it cannot be borderless. Simply switch to a bordered window by pressing F12, and you can then move the window and resize!


Last edited by Dafarkias; 10-27-2019 at 10:34 AM.
Dafarkias is offline   Reply With Quote
Old 10-20-2019, 04:30 AM   #3
Dafarkias
Human being with feelings
 
Dafarkias's Avatar
 
Join Date: Feb 2019
Location: England
Posts: 305
Default

Oh, hey, you're still reading this? Cool! Check out a list of neat settings you can change in the 'user area' of the script via a text-editor! (Notepad++ recommended)

Setting Title:
Script Default:
Input w/ Values:

Pin_Script_Window
[default = true]
true/false

Script_Load_Speed
[default = 10]
1+: use if load screen takes too long. Use with caution, increase in small increments!

Waveform_Definition
[default = 5]
1-10: Adjusting this can greatly affect the script performance. Use with caution!

Show_Project_Markers
[default = true]
true/false

Show_Track_Names
[default = true]
true/false

Show_Project_Looper
[default = true]
true/false

Show_MIDI_Notes
[default = true]
true/false: turning this off can improve script performance in large projects.

Marquee_Box_Thickness
[default = 2]
1+

Edit_Cursor_Width
[default = 1]
0+: value of '0' will remove edit cursor from map display

Edit_Cursor_MarkerSnap
[default = 3]
0+: '0' will turn off snap function.

Play_Cursor_Width
[default = 1]
0+: value of '0' will remove play cursor from map display

Invert_Vertical_MouseWheel_Zoom
[default = false]
true/false

Vertical_MouseWheel_Sensitivity
[default = 2]
1+

Vertical_MouseWheel_Modifier
[default = "none"]
mousewheel+: "none", "shift", "alt", "ctrl", "wind."

Invert_Horizontal_MouseWheel_Zoom
[default = false]
true/false

Horizontal_MouseWheel_Sensitivity
[default = 2]
1+

Horizontal_MouseWheel_Modifier
[default = "shift"]
mousewheel+: "none", "shift", "alt", "ctrl", "wind."


Notes:

The new rmb marquee view feature is a little clunky due to the fact that there is currently no API feature which allows Get/SetArrangeHeight (see/support my feature request: https://forum.cockos.com/showthread.php?t=226217)


I was inspired to create this script by spk77's track navigator. Check it out here: https://forum.cockos.com/showthread.php?t=225799

Last edited by Dafarkias; 10-26-2019 at 09:48 AM.
Dafarkias is offline   Reply With Quote
Old 10-20-2019, 04:52 AM   #4
Nantho
Human being with feelings
 
Join Date: Mar 2013
Posts: 131
Default

Hi there !

This looks very interesting I'm working on a Mac Pro (Darth Vador trashcan style) and I'm using an iPad as a secondary monitor. Your script may be the navigator that I dream of for navigating easily through my projects with a finger on my iPad

Let me know if and how I can be of any help
Nantho is offline   Reply With Quote
Old 10-20-2019, 05:06 AM   #5
Dafarkias
Human being with feelings
 
Dafarkias's Avatar
 
Join Date: Feb 2019
Location: England
Posts: 305
Default

@ Nantho

Honestly my end-goal is to maintain and achieve solid, cross-platform compatibility with this script.

I'm open to all feature requests and optimizations, so if you have any ideas, please, let me know!

Lastly, bugs. If you find bugs, it would be really cool to send me either a PM or just update this forum thread right here with the details:
  • What OS?
  • What REAPER and js_ReaScriptAPI?
  • What was the error? (preferably a screenshot)
  • What were you doing while/immediately prior to the bug/crash?
Dafarkias is offline   Reply With Quote
Old 10-20-2019, 06:12 AM   #6
Nantho
Human being with feelings
 
Join Date: Mar 2013
Posts: 131
Default

Ok, so here is my first bug report. The script crashes at launch with this error :

"Dfk Project Map.lua:199: bad argument #1 to 'GetTrackName' (MediaTrack expected)"

This was with my default project template - see attached screenshot :
Attachment 37918

OS : Mac OS X Mojave (10.14.6)
Reaper : v5.984 (64-bit)
js_ReaScriptAPI : v0.993

Hope it helps

Last edited by Nantho; 10-22-2019 at 01:12 AM.
Nantho is offline   Reply With Quote
Old 10-25-2019, 09:57 AM   #7
Dafarkias
Human being with feelings
 
Dafarkias's Avatar
 
Join Date: Feb 2019
Location: England
Posts: 305
Default

v0.8!

Quote:
Originally Posted by Dafarkias View Post
[center]RMB Revision:

v0.8 MIDI display!

Dafarkias is offline   Reply With Quote
Old 10-25-2019, 10:52 AM   #8
Sumalc
Human being with feelings
 
Join Date: Oct 2009
Location: France
Posts: 566
Default

Quote:
Originally Posted by Dafarkias View Post
v0.8!
Wow !!

Forgot to mention that the script loads very quickly :-)
Sumalc is offline   Reply With Quote
Old 10-25-2019, 11:20 AM   #9
Dafarkias
Human being with feelings
 
Dafarkias's Avatar
 
Join Date: Feb 2019
Location: England
Posts: 305
Default

Attempted fix for project/region markers coloring issue: v0.81, script download in original post.

[edit]

I feel as if the MIDI portion of the script is more stressful with its calculations... Would someone with a MIDI heavy project please mind testing the script, and let me know if it performs sluggish?

Last edited by Dafarkias; 10-25-2019 at 02:26 PM.
Dafarkias is offline   Reply With Quote
Old 10-26-2019, 01:18 AM   #10
Dafarkias
Human being with feelings
 
Dafarkias's Avatar
 
Join Date: Feb 2019
Location: England
Posts: 305
Default

v0.86!

Hover your mouse of the project map window and:

(m) toggle mixer
(ctrl+left-click) track under mouse is soloed in mixer (toggle)

Dafarkias 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 12:36 PM.


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