Old 08-02-2019, 06:24 AM   #1
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default v5.981+dev0802 - August 2 2019

v5.981+dev0802 - August 2 2019
  • + MIDI: don't reset previous quantization for unselected notes when quantizing selected notes
  • # excess open file closing: limit incremental mode to one file-close per slice
    # fix TCP doubleclick mouse mappings
    # fix window flicker issues when hidden mixer on win32
  • # master meter: fix peak readout
  • # mixer: fix hiding of mixer master via action
  • # modal windows: GetUserInputs() obeys modal pref
  • # project load: fix incorrect update when undimming TCP/MCP
This thread is for pre-release features discussion. Use the Feature Requests forum for other requests.

Changelog - Pre-Releases

Generated by X-Raym's REAPER ChangeLog to BBCode
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 08-02-2019, 06:34 AM   #2
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Quote:
Originally Posted by musicbynumbers View Post
# modal windows: GetUserInputs() obeys modal pref
It's not showing up across the bezels now (which is an improvement) - but it's also not centering properly on the current display, nor centering on mouse cursor properly either.

Try this script:

Code:
-- more direct way to enter time signatures

-- v1.1 - 22 July 2015 - added ':' sections

-- example inputs:

-- 3/4
-- will enter 3/4 time sig at current tempo at current cursor position (nearest measure)

-- 3/4,6/8
-- puts 3/4 at current cursor position (nearest measure) and 6/8 at next measure

-- 3/4>3,6/8
-- 3/4 at current position, 6/8 three measures later.

-- 3/4>3,6/8*200
-- same as before, but pattern repeated 200 times

-- 3/4>3,6/8*100 : 4/4>3,3/4 : 3/4>3,6/8*100
-- add different sections by separating with a colon


function trimWs(s)
	return s:match "^%s*(.-)%s*$"
end

function string:split( inSplitPattern, outResults )
	if not outResults then
		outResults = { }
	end
	local theStart = 1
	local theSplitStart, theSplitEnd = string.find(self, inSplitPattern, theStart)
	while theSplitStart do
		table.insert(outResults, string.sub(self, theStart, theSplitStart - 1))
		theStart = theSplitEnd + 1
		theSplitStart, theSplitEnd = string.find(self, inSplitPattern, theStart)
	end
	table.insert(outResults, string.sub(self, theStart))
	return outResults
end


function insertTimeSigs()
	ok, retvals = ""
	ok, retvals = reaper.GetUserInputs("Insert time signature(s)", 1, "Enter time signature(s): ", "")

	retvals = trimWs(retvals)

	cur_time = reaper.GetCursorPosition()
	cur_qn = reaper.TimeMap_timeToQN(cur_time)
	measure = reaper.TimeMap_QNToMeasures(0, cur_qn)

	sections = retvals:split(":")
	for i = 1, #sections, 1 do
		retvals = sections[i]
		ret_reps = retvals:split("*")
		local reps
		if #ret_reps > 1 then reps = ret_reps[2] end
		if not(tonumber(reps) ~= nil and reps % 1 == 0) then
			reps = nil
		end
		retvals = ret_reps[1]
		ret_tab = retvals:split(",")

		if reps ~= nil then
			reps = tonumber(reps)
			if reps > 500 or reps < 1 then reps = 1 end --some sensible limits
		else
			reps = 1
		end

		for i = 1, reps, 1 do
			for k, v in pairs(ret_tab) do
			local temp = {}
			temp = v:split(">")
			if #temp > 1 then measure_skip = math.min(tonumber(temp[2]), 500) else measure_skip = 1 end
				local timesig = temp[1]
				timesig = timesig:split("/")
				n = timesig[1]
				d = timesig[2]
				if (tonumber(n) ~= nil and n % 1 == 0 and tonumber(d) ~= nil and d % 1 == 0) then
					cur_time = reaper.TimeMap_GetMeasureInfo(0, measure - 1)
					reaper.SetTempoTimeSigMarker(0,-1, cur_time, -1, -1, 0, n, d, false)
					measure = measure + measure_skip
				end
			end
		end
	end

	reaper.UpdateTimeline()
	return true
end


reaper.Undo_BeginBlock()
insertTimeSigs()
reaper.Undo_EndBlock("Insert Time Signatures", -1)
EvilDragon is offline   Reply With Quote
Old 08-02-2019, 07:30 AM   #3
Edgemeal
Human being with feelings
 
Edgemeal's Avatar
 
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 3,913
Default

Not really sure how this is supposed to work so FWIW,..
I have 'center on mouse cursor' set, when showing GetUserInput dialog its centered horizontally with mouse, but vertically it is much higher then where it should be and doesn't go below the center of the screen even when mouse pointer is at bottom of the screen.

Win7 x64
Edgemeal is offline   Reply With Quote
Old 08-02-2019, 07:32 AM   #4
psycharm
Human being with feelings
 
Join Date: Jun 2017
Posts: 21
Default Right-Click Menus

I've noticed on this release as well as v5.981+dev0801 right-clicking on the Master only gives the standard menu, as opposed to the item-specific menu. I had to go back to v5.981 since I apparently use the feature quite a bit. I must say, though, I've been using the pre-releases for a couple years now and this is only the second time I've had to report a problem. Definitely my favorite DAW of all time!
psycharm is offline   Reply With Quote
Old 08-02-2019, 07:50 AM   #5
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by psycharm View Post
I've noticed on this release as well as v5.981+dev0801 right-clicking on the Master only gives the standard menu, as opposed to the item-specific menu. I had to go back to v5.981 since I apparently use the feature quite a bit. I must say, though, I've been using the pre-releases for a couple years now and this is only the second time I've had to report a problem. Definitely my favorite DAW of all time!
Thanks, fixing!
Justin is offline   Reply With Quote
Old 08-02-2019, 08:04 AM   #6
MaestroS
Human being with feelings
 
Join Date: Nov 2017
Posts: 56
Default Broken Mouse Modifiers - Track Control Panel - Double click.

Still not working?
MaestroS is offline   Reply With Quote
Old 08-02-2019, 09:01 AM   #7
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Thanks for the default-position-changes for dialogs
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 08-02-2019, 09:02 AM   #8
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Is there a consistent way to get a specific track's window? I was using this code to get the trackview window, but 5.981+dev0801 seems to have broken it. It returns nil now.

Code:
local arrange_window = reaper.JS_Window_FindChildByID(reaper.GetMainHwnd(), 1000)

-- track panels and envelope panels parent window
function get_trackview_window()
  local _, _, arr_top = reaper.JS_Window_GetRect(arrange_window)
  local window = reaper.JS_Window_GetRelated(arrange_window, "NEXT")
  while window do
    local _, _, top = reaper.JS_Window_GetRect(window)
    if top == arr_top then return reaper.JS_Window_GetRelated(window, "CHILD") end
    window = reaper.JS_Window_GetRelated(window, "NEXT")
  end
end

local trackview_window = get_trackview_window()
Alkamist is offline   Reply With Quote
Old 08-02-2019, 09:32 AM   #9
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by Alkamist View Post
Is there a consistent way to get a specific track's window? I was using this code to get the trackview window, but 5.981+dev0801 seems to have broken it. It returns nil now.
No, tracks no longer have windows.
Justin is offline   Reply With Quote
Old 08-02-2019, 09:37 AM   #10
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Quote:
Originally Posted by Justin View Post
No, tracks no longer have windows.
Do you plan on bringing something equivalent into ReaScript to that? Don't know, how exactly this would need to be...

@Alkamist
What are the usecases you solved with your code? I mean, what did you do with the found windows?
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 08-02-2019, 09:57 AM   #11
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by mespotine View Post
Do you plan on bringing something equivalent into ReaScript to that? Don't know, how exactly this would need to be...

@Alkamist
What are the usecases you solved with your code? I mean, what did you do with the found windows?
There is reaper.GetTrackFromPoint(), if there are particular desired APIs needed we will of course entertain...
Justin is offline   Reply With Quote
Old 08-02-2019, 10:14 AM   #12
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

Quote:
Originally Posted by Justin View Post
There is reaper.GetTrackFromPoint(), if there are particular desired APIs needed we will of course entertain...
LOL
Again thanks for putting so much work into the performance optimizations of tracks, highly appreciated!
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is online now   Reply With Quote
Old 08-02-2019, 10:15 AM   #13
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by mespotine View Post
Do you plan on bringing something equivalent into ReaScript to that? Don't know, how exactly this would need to be...

@Alkamist
What are the usecases you solved with your code? I mean, what did you do with the found windows?
In my script, I need to EXACTLY find the height of any given track for my calculations.

reaper.GetMediaTrackInfo_Value(track, "I_WNDH") returns the full window height + envelopes. Envelopes can sometimes tell your their height is 0 when its not so track height can't be determined.

reaper.GetMediaTrackInfo_Value(track, "I_HEIGHTOVERRIDE") can return 0 as well if the track is being scaled by the "vzoom2" int config variable. I could use this to find track height, the problem is that the resulting track heights don't seem to follow any kind of pattern I can discern. Perhaps I'm overlooking something though.

If there was a way to reliably get the exact pixel height in every case of any given track not including envelopes, I would be happy.
Alkamist is offline   Reply With Quote
Old 08-02-2019, 10:32 AM   #14
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Quote:
Originally Posted by Justin View Post
There is reaper.GetTrackFromPoint(), if there are particular desired APIs needed we will of course entertain...
Maybe GetDimensionOfTrack(MediaTrack), which returns the screenposition of a track: x,y,w_tcp, w_arrange, h_track, h_envelopes
This would allow tons of things and probably solve Alkamist's usecase as well.

So it's like the reversed-function of GetTrackFromPoint to some extend.

Something like that would also be helpful for Items.

Otherwise, one would need to scan the whole screen using GetTrackFromPoint/GetItemFromPoint to get the current positions which is possible, but wastes too many resources, imho.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...

Last edited by Meo-Ada Mespotine; 08-02-2019 at 10:40 AM.
Meo-Ada Mespotine is offline   Reply With Quote
Old 08-02-2019, 11:21 AM   #15
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by mespotine View Post
Maybe GetDimensionOfTrack(MediaTrack), which returns the screenposition of a track: x,y,w_tcp, w_arrange, h_track, h_envelopes
This would allow tons of things and probably solve Alkamist's usecase as well.
Yes, that would be fantastic!

EDIT: Perhaps also an easy way to find out how many pixels down the top of a given track is from the top of the tracklist. I have to calculate that manually in my script and it is very tedious.

Last edited by Alkamist; 08-02-2019 at 11:48 AM.
Alkamist is offline   Reply With Quote
Old 08-02-2019, 11:44 AM   #16
svijayrathinam
Human being with feelings
 
Join Date: May 2017
Posts: 981
Default

"# excess open file closing: limit incremental mode to one file-close per slice"


What exactly does this do ? can someone pls explain ?
svijayrathinam is offline   Reply With Quote
Old 08-02-2019, 11:52 AM   #17
nappies
Human being with feelings
 
nappies's Avatar
 
Join Date: Dec 2017
Posts: 302
Default

Quote:
Originally Posted by Justin View Post
There is reaper.GetTrackFromPoint(), if there are particular desired APIs needed we will of course entertain...

Ohh it`s revolution! Thank you!!

We definitely need something like
retval, left, top, right, bottom = reaper.GetMediaTrackRect(track)

Last edited by nappies; 08-02-2019 at 12:02 PM.
nappies is offline   Reply With Quote
Old 08-02-2019, 12:34 PM   #18
Chris7t6
Human being with feelings
 
Chris7t6's Avatar
 
Join Date: Aug 2014
Location: Dallas, TX
Posts: 90
Default

Description:
A problem caused this program to stop interacting with Windows.

Problem signature:
Problem Event Name: AppHangB1
Application Name: reaper.exe
Application Version: 5.99.8.2
Application Timestamp: 5d441d63
Hang Signature: 7b93
Hang Type: 0
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Additional Hang Signature 1: 7b93d122ab77b19de8ad700786115a63
Additional Hang Signature 2: f20e
Additional Hang Signature 3: f20e9d7eaa3236956414811f562445d4
Additional Hang Signature 4: 7b93
Additional Hang Signature 5: 7b93d122ab77b19de8ad700786115a63
Additional Hang Signature 6: f20e
Additional Hang Signature 7: f20e9d7eaa3236956414811f562445d4
Chris7t6 is offline   Reply With Quote
Old 08-02-2019, 12:38 PM   #19
Chris7t6
Human being with feelings
 
Chris7t6's Avatar
 
Join Date: Aug 2014
Location: Dallas, TX
Posts: 90
Default

WOAH! I don't know what ANY of this means...

There were errors in the undo history file which may result in some undo states being incorrect.
Note that the current project load is unaffected, only undo to the following points will be affected:

`` UNKNOWN TOKEN ARACFG
`Edit FX parameter: Melodyne` UNKNOWN TOKEN ARACFG
`Edit FX parameter: Melodyne` UNKNOWN TOKEN ARACFG
`Edit FX parameter: Melodyne` UNKNOWN TOKEN ARACFG
`Edit FX parameter: Melodyne` UNKNOWN TOKEN ARACFG
`Edit FX parameter: Melodyne` UNKNOWN TOKEN ARACFG
`Edit FX parameter: Melodyne` UNKNOWN TOKEN ARACFG
`--- Session loaded ---` UNKNOWN TOKEN ARACFG
`Edit FX parameter: Melodyne` UNKNOWN TOKEN ARACFG
`--- Session loaded ---` UNKNOWN TOKEN ARACFG
`Import plug-in analysis` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 15 B vox` UNKNOWN TOKEN ARACFG
`Show/hide all track envelopes` UNKNOWN TOKEN ARACFG
`RT: Hide tracks with no items in TCP` UNKNOWN TOKEN ARACFG
`RT: Hide tracks with no items in TCP` UNKNOWN TOKEN ARACFG
`Toggle track solo` UNKNOWN TOKEN ARACFG
`Insert virtual instrument on new track` UNKNOWN TOKEN ARACFG
`Copy FX` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 17 Kontakt 6` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 16` UNKNOWN TOKEN ARACFG
`Remove tracks` UNKNOWN TOKEN ARACFG
`Toggle track record arming` UNKNOWN TOKEN ARACFG
`Toggle track solo` UNKNOWN TOKEN ARACFG
`Toggle track solo` UNKNOWN TOKEN ARACFG
`Toggle track solo` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 16` UNKNOWN TOKEN ARACFG
`Remove tracks` UNKNOWN TOKEN ARACFG
`--- Session loaded ---` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 16 B vox` UNKNOWN TOKEN ARACFG
`--- Session loaded ---` UNKNOWN TOKEN ARACFG
`Edit FX parameter: Melodyne` UNKNOWN TOKEN ARACFG
`--- Session loaded ---` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 17 B vox` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 15 B vox` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 12 B VOX FOLDER` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 11 Vox` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 9 Piano` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 8 Piano` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 12 B VOX FOLDER` UNKNOWN TOKEN ARACFG
`--- Session loaded ---` UNKNOWN TOKEN ARACFG
`Close FX chain: Track 11 Vox` UNKNOWN TOKEN ARACFG
Chris7t6 is offline   Reply With Quote
Old 08-02-2019, 02:34 PM   #20
ramses
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,231
Default

I've noticed two issues.

1. It no longer seems possible to re-order insert fx in mcp by left-dragging. I can still move fx to other tracks. Re-ordering Works in the master mcp though.

2. Right clicking on insert fx in master mcp does not display fx-menu, diplays mixer settings menu instead.
ramses is offline   Reply With Quote
Old 08-02-2019, 02:36 PM   #21
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

Quote:
Originally Posted by ramses View Post
I've noticed two issues.

1. It no longer seems possible to re-order insert fx in mcp by left-dragging. I can still move fx to other tracks. Re-ordering Works in the master mcp though.
Confirmed

Quote:
2. Right clicking on insert fx in master mcp does not display fx-menu, diplays mixer settings menu instead.
That's already being fixed for the next pre.
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is online now   Reply With Quote
Old 08-02-2019, 02:43 PM   #22
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 876
Default Closing Reaper does not unload VSTs from memory

Often when I quite Reaper, the vsti instruments samples and vst FX seem to still be loaded in RAM. Reaper is not longer open but Windows sees it as a background server. I have to 'end task' in task manager to get the RAM to clear. This also seems to slow down the loading of new sessions when there are previous session plugins clogging up the RAM.
Please see image below.




I have not seen this happen in the current public release but I'll have to test further to see how far back this problem started cropping up.
srdmusic is offline   Reply With Quote
Old 08-02-2019, 03:06 PM   #23
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default

Quote:
Originally Posted by srdmusic View Post
Often when I quite Reaper, the vsti instruments samples and vst FX seem to still be loaded in RAM. Reaper is not longer open but Windows sees it as a background server. I have to 'end task' in task manager to get the RAM to clear. This also seems to slow down the loading of new sessions when there are previous session plugins clogging up the RAM.

I have not seen this happen in the current public release but I'll have to test further to see how far back this problem started cropping up.
This doesn't have anything to do with Reaper. This is due to the fact Kontakt takes a really long time to unload samples from memory. It does the exact same thing in Cubase.
Klangfarben is offline   Reply With Quote
Old 08-02-2019, 03:25 PM   #24
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by Alkamist View Post
In my script, I need to EXACTLY find the height of any given track for my calculations.

reaper.GetMediaTrackInfo_Value(track, "I_WNDH") returns the full window height + envelopes. Envelopes can sometimes tell your their height is 0 when its not so track height can't be determined.

reaper.GetMediaTrackInfo_Value(track, "I_HEIGHTOVERRIDE") can return 0 as well if the track is being scaled by the "vzoom2" int config variable. I could use this to find track height, the problem is that the resulting track heights don't seem to follow any kind of pattern I can discern. Perhaps I'm overlooking something though.

If there was a way to reliably get the exact pixel height in every case of any given track not including envelopes, I would be happy.
Adding I_TCPH and I_TCPY so you can get the TCP height (excluding envelopes) and Y position.
Justin is offline   Reply With Quote
Old 08-02-2019, 03:26 PM   #25
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by svijayrathinam View Post
"# excess open file closing: limit incremental mode to one file-close per slice"


What exactly does this do ? can someone pls explain ?
It tries to not close too many files at once, since perhaps instances where it closes ~20 files at once could cause your video to lag (maybe?).
Justin is offline   Reply With Quote
Old 08-02-2019, 03:45 PM   #26
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by Justin View Post
Adding I_TCPH and I_TCPY so you can get the TCP height (excluding envelopes) and Y position.
That is fantastic! Thanks so much! <3
Alkamist is offline   Reply With Quote
Old 08-02-2019, 04:40 PM   #27
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 876
Default

Quote:
Originally Posted by Klangfarben View Post
This doesn't have anything to do with Reaper. This is due to the fact Kontakt takes a really long time to unload samples from memory. It does the exact same thing in Cubase.
I have seen kontakt take a bit to unload the samples but the screen shot I took was after an hour lunch break. So something is getting stuck and not flushing out of RAM. It could be just a bug in Kontakt. I'll post on their support forum as well to see if anyone else is experience this in other DAWs.
srdmusic is offline   Reply With Quote
Old 08-02-2019, 05:56 PM   #28
nappies
Human being with feelings
 
nappies's Avatar
 
Join Date: Dec 2017
Posts: 302
Default

Quote:
Originally Posted by Justin View Post
Adding I_TCPH and I_TCPY so you can get the TCP height (excluding envelopes) and Y position.
Great thank you!!
Justin please make the same for envelope lanes!! Ask for my dude Sexan with his Area51


nappies is offline   Reply With Quote
Old 08-02-2019, 05:58 PM   #29
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

I agree, I think this would help Sexan tremendously, if you could make that possible.
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is online now   Reply With Quote
Old 08-02-2019, 07:52 PM   #30
_TIP_
Human being with feelings
 
_TIP_'s Avatar
 
Join Date: Apr 2014
Location: NY
Posts: 175
Default

Quote:
Originally Posted by nappies View Post
Justin please make the same for envelope lanes!! Ask for my dude Sexan with his Area51
+1, that would be great!
_TIP_ is offline   Reply With Quote
Old 08-03-2019, 01:38 AM   #31
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
Originally Posted by Justin View Post
There is reaper.GetTrackFromPoint(), if there are particular desired APIs needed we will of course entertain...
LOTs of scripts broken now.
Some of them I`ll fix using X_fromPoint APIs.

A request will be: entertain everything BR_GetMouseCursorContext() handle, including at least:
envelope pointer
MIDI Editor
stretch marker id
segments
mpl is offline   Reply With Quote
Old 08-03-2019, 02:42 AM   #32
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,597
Default

Hi all!!

My Area51 is totally broken with this pre? Whats new? Modal windows?

If we cannot get tracks via JS_API anymore then we would need some native alternatives.

Code:
function GetTracksXYH()
   TBH = {}
   local array = reaper.new_array({}, 1000)
   reaper.JS_Window_ArrayAllChild(reaper.GetMainHwnd(), array)
   local t = array.table()
   for _, adr in ipairs(t) do
      local handl = reaper.JS_Window_HandleFromAddress(adr)
      local track = reaper.JS_Window_GetLongPtr(handl, "USER")
      if reaper.JS_Window_GetParent(reaper.JS_Window_GetParent(handl)) ~= mixer_wnd then
         if reaper.ValidatePtr(track, "MediaTrack*") or reaper.ValidatePtr(track, "TrackEnvelope*") then
            local _, _, top, _, bottom = reaper.JS_Window_GetClientRect(handl)
            TBH[track] = {t = top, b = bottom, h = bottom - top, vis = reaper.JS_Window_IsVisible(handl)}
         end
      end
   end
end
This code would retrieve any track or any envelope at any screen position. I could have worked with GetTrackFromPoint but I did not have access to Envelope tracks with it. So this was all in one solution.

"Adding I_TCPH and I_TCPY so you can get the TCP height (excluding envelopes) and Y position"

If it can work with envelopes also then that would solve all problems (I think).

EDIT: Also while we are at it, if it could include/exclude Automation Item lane offset that would be nice since BR_API is not working correctly since the introduction of it (it returns values offsetted by AI Lane)

Not sure what else got broken since I see there is a major overhaul to tracks...

Last edited by Sexan; 08-03-2019 at 02:58 AM.
Sexan is offline   Reply With Quote
Old 08-03-2019, 05:16 AM   #33
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Quote:
Originally Posted by Sexan View Post
Whats new? Modal windows?
Complete rework of how tracks in TCP/MCP are created/drawn/approached via API (they're not windows anymore), resulting in lower CPU usage with larger track counts.
EvilDragon is offline   Reply With Quote
Old 08-03-2019, 06:03 AM   #34
Soli Deo Gloria
Human being with feelings
 
Soli Deo Gloria's Avatar
 
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
Default

There is right now some serious flickering in TCP which I don´t remember from previous versions :





I hope it can be easily fixed...


Thanks in advance!
Soli Deo Gloria is online now   Reply With Quote
Old 08-03-2019, 07:24 AM   #35
AndrewFalcon
Human being with feelings
 
AndrewFalcon's Avatar
 
Join Date: Dec 2018
Posts: 39
Default

New TCP/MCP algorithms are amazing!Even on my old laptop.Now Reaper is the fastest and lightweight DAW in universe!Thank you Devs!
AndrewFalcon is offline   Reply With Quote
Old 08-03-2019, 07:52 AM   #36
Edison
Human being with feelings
 
Edison's Avatar
 
Join Date: Dec 2017
Location: Brazil
Posts: 538
Default Translation..

I agree with you AndrewFalcon.

Congratulations to all the Devs on their excellent work!
And if I could, I'd like to have the codes for version 6.0 alpha. I've already translated them..but I can't insert them.

Thanks at lot!!

Last edited by Edison; 08-03-2019 at 08:08 AM.
Edison is offline   Reply With Quote
Old 08-03-2019, 09:29 AM   #37
svijayrathinam
Human being with feelings
 
Join Date: May 2017
Posts: 981
Default

Quote:
Originally Posted by Justin View Post
It tries to not close too many files at once, since perhaps instances where it closes ~20 files at once could cause your video to lag (maybe?).
Thank you for the explanation. I will see how it goes..Thank you so much for what you did for higher track counts and a lot of open files ...Really appreciate the support
svijayrathinam is offline   Reply With Quote
Old 08-03-2019, 09:50 AM   #38
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

I agree, incredible job on the TCP/MCP overhaul!

Now if only resizing docked windows wasn't so glitchy my eyes would be in heaven.




Last edited by puddi; 08-03-2019 at 09:56 AM.
puddi is offline   Reply With Quote
Old 08-03-2019, 11:57 AM   #39
ETHIX
Human being with feelings
 
Join Date: Feb 2014
Posts: 8
Default

Quote:
Originally Posted by Soli Deo Gloria View Post
There is right now some serious flickering in TCP which I don´t remember from previous versions :
same here
tcp/mcp and file menu bar flickers and jumps when master tcp is hidden.
envelope panels vanish when scrolling regardless of master tcp/mcp visibility.
+dev0724_x64 is fine.

ETHIX 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 05:46 PM.


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