|
|
|
07-04-2018, 05:37 AM
|
#281
|
Human being with feelings
Join Date: May 2010
Location: Norway
Posts: 7,318
|
For the web-interface
(and possible other usage)
it would be great to read/set number of preroll measures.
I believe it's currently not accessible via the api
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
|
|
|
07-05-2018, 02:53 AM
|
#282
|
Human being with feelings
Join Date: Mar 2013
Location: Italy - Monza
Posts: 210
|
Quote:
Originally Posted by G-Sun
For the web-interface
(and possible other usage)
it would be great to read/set number of preroll measures.
I believe it's currently not accessible via the api
|
also for web interface, any possibility to set/change the markers name?
THX!
|
|
|
07-05-2018, 03:12 AM
|
#283
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
@G-Sun, @Flavio
These are not ReaScript API whishist but Web Interface API Whish list :P
@Flavio
Maybe you can create a script to rename a marker from a PROJEXSTATE which would have been pushed by the Web Interface (there is API for that as far as I remember).
|
|
|
07-05-2018, 04:50 AM
|
#284
|
Human being with feelings
Join Date: May 2010
Location: Norway
Posts: 7,318
|
Quote:
Originally Posted by X-Raym
@G-Sun, @Flavio
These are not ReaScript API whishist but Web Interface API Whish list :P
|
Sorry, not my field of expertise
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
|
|
|
07-05-2018, 09:33 AM
|
#285
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,622
|
Quote:
also for web interface, any possibility to set/change the markers name?
|
You can get/send extstates using the web-interface.
All you need to do is to write a (Lua)-script, that reads this extstate and creates/sets the marker.
Triggering this script using wwr_req() is easy.
It's a workaround, that should work...
|
|
|
07-05-2018, 09:36 AM
|
#286
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,622
|
Quote:
Originally Posted by ThomasE
Yes, please... Escaped commas for the user input, or selectable delimiter would be a great improvement.
|
As an example for the devs:
An escaped string would be something like:
Quote:
I am the first\, not the last entry,I am the second\, still not the last entry,I am the last one\, believe me.
|
The , separate the entries(as GetUserInputs already does), the \, only appear in the returned strings from the individual user-input-fields(what we would love to have as new feature).
At least as a GetUserInputs2-function, it should be quite easy to implement...
|
|
|
07-05-2018, 10:43 AM
|
#287
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
@mespotine
\ is a bad separator if the user input asks for a path.
Better have user defined separator to be sure it works on most scenarios.
|
|
|
07-05-2018, 10:55 AM
|
#288
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,622
|
The separator is an unescaped comma, like it already is:
entry1
entry2
entry3
results into the following returned string:
If a user types in a comma, it will be escaped
entry1, has a comma now
entry2
entry3
results in the following returned string:
Quote:
"entry1\, has a comma now,entry2,entry3"
|
With that, you know, all \, are user input commas, while all , are the separators.
If the user types in \, it will be escaped to \\,
If an entry ends with \ it must be escaped probably as well to \\ to circumvent a possible \, separator-situation.
At least I think, that this would work...
Edit: The more I think about the entry ends with \ problem, the more I get, that this needs more thinking about it on my side...
Maybe having "optional string entryXX"-return values, where XX is the entry in the GetUserInput-box, would be better, at least for Lua...
Last edited by Meo-Ada Mespotine; 07-05-2018 at 11:20 AM.
|
|
|
07-13-2018, 06:45 AM
|
#289
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,622
|
Sometimes it's too easy:
The separation of the individual GetUserInput-entries should be done by a newline.
As you can only type in one line in each entry-field, no multilines, this should be sufficient.
Example:
UserEntry1: "Tudelu"
UserEntry2: "Reaper is the king of the hill, thats' true"
UserEntry3: "Oh, and it's not killing me, that's a cool thing"
would result in the string:
"Tudelu\nReaper is the king of the hill, thats' true\nOh, and it's not killing me, that's a cool thing"
That should be very easy to parse.
Thanks to XRaym for his GetUserFilenameForRead-FeatureRequest, as this brought me this idea
|
|
|
07-14-2018, 11:15 AM
|
#290
|
Human being with feelings
Join Date: Feb 2017
Posts: 4,813
|
req: would be nice that GetUserFileNameForRead
- could return multiple files
- have a flag for selecting folders
- a flag to create new file
this as been discussed here: https://forum.cockos.com/showthread.php?t=208826
Thank you
|
|
|
09-10-2018, 04:32 AM
|
#291
|
Human being with feelings
Join Date: Jan 2010
Location: Fjugesta, Sweden
Posts: 811
|
Quote:
Originally Posted by spk77
One function that would be nice to have:
reaper.atprojectexit(ReaProject proj, function)[LIST]Similar to reaper.atexit(function), but "function" would be run when the project is closing
|
Yeah! +1
|
|
|
10-26-2018, 05:22 PM
|
#292
|
Human being with feelings
Join Date: Jun 2012
Posts: 2,173
|
Quote:
Originally Posted by doppelganger
...
4. Get parameter's value from effects in monitoring chain...
|
Do you know 0x1000000 trick? Maybe I don't understand what you want...
Code:
gp = TrackFX_GetParam(GetMastertrack(0), 0x1000000 + 3, 0, minval, maxval);
gpn = TrackFX_GetParamNormalized(GetMastertrack(0), 0x1000000 + 3, 0);
//etc
|
|
|
11-10-2018, 04:44 AM
|
#293
|
Human being with feelings
Join Date: Feb 2017
Posts: 4,813
|
wish: GetLastTouchedFX(int* tracknumberOut, int* fxnumberOut, int* paramnumberOut ) to work on item fx too!
I does not work in items Fx as showed here:
maybe this not possible because of this:
https://forum.cockos.com/showthread.php?t=212983
so it's ok if you full fill the 2 : )
Thank you
edit: by curiosity devs! is this something technically impossible to implement?
Last edited by deeb; 11-10-2018 at 01:00 PM.
|
|
|
01-01-2019, 05:55 PM
|
#294
|
Human being with feelings
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
|
Desperately wish for the ability to pause and resume accumulation of undo. Akin to PreventUIRefresh() except for undo.
It's difficult to avoid rampant undo spew for complex scripts, and Undo_BeginBlock() is a pretty costly API call when the ideal UX is not to have any undo at all.
|
|
|
01-02-2019, 03:41 PM
|
#295
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
|
Quote:
Originally Posted by tack
Desperately wish for the ability to pause and resume accumulation of undo. Akin to PreventUIRefresh() except for undo.
It's difficult to avoid rampant undo spew for complex scripts, and Undo_BeginBlock() is a pretty costly API call when the ideal UX is not to have any undo at all.
|
+1
I once asked about this (though extension and not script related, but similar use case), with no reply sadly.
https://forum.cockos.com/showthread....49#post1947649
|
|
|
03-30-2019, 05:08 PM
|
#296
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
MIDI_SetScale
You have Get's but you need Set's, you just need some way to set the key and scale ??
reaper.MIDIEditor_GetSetting_int(editor, 'scale_root')
reaper.MIDIEditor_GetSetting_str(editor, 'scale', '')
reaper.MIDI_GetScale(MediaItem_Take take, number root, number scale, string name)
reaper.MIDI_SetScale( take, 9, "102034050607", "User Reascale")
or
reaper.MIDI_SetScale( take, 9, 2741, "User Reascale")
|
|
|
03-30-2019, 11:12 PM
|
#297
|
Human being with feelings
Join Date: Feb 2017
Posts: 4,813
|
related to req: item based "freezing/ render infinitely without final compromises"
you can read about here:
https://forum.cockos.com/showthread.php?t=218656
It would be useful that:
TrackFX_CopyToTake
TrackFX_CopyToTrack
TakeFX_CopyToTake
TakeFX_CopyToTrack
could accept an argument to include the the envelopes points too.
Or instead:
TrackFX_MoveIncludingEnvelopePointsToTake
TrackFX_MoveIncludingEnvelopePointsToTrack
TakeFX_MoveIncludingEnvelopePointsToTake
TakeFX_MoveIncludingEnvelopePointsToTrack
Any of them, the purpose is So that we could swap/move to an item FX based automation editing and back to track when needed ..
or/and a mode in reaper in which this can happen automatically.
What do you think? imo this as HUGE HUGE potential .. infinite editing history without final compromise ...
Last edited by deeb; 03-30-2019 at 11:31 PM.
|
|
|
04-05-2019, 09:11 PM
|
#298
|
Human being with feelings
Join Date: Feb 2017
Posts: 4,813
|
related to:
https://forum.cockos.com/showthread.php?p=2117965
it seems that i am forced to have a plugin in the chain in order to reaper.TrackFX_GetOpen(track, 0) returns true even when FxChain (0) already open (with no fx selected).
How can i solve this?
check this:
Code:
function msg(param)
reaper.ShowConsoleMsg("\n"..tostring(param));
end
function deleteChain()
-- SWS/S&M: Remove selected FX for selected tracks
reaper.Main_OnCommand(reaper.NamedCommandLookup("_S&M_REMOVE_FX",0),0)
end
track = reaper.GetSelectedTrack(0, 0)
deleteChain() -- to make sure the chain is clean
if reaper.TrackFX_GetOpen(track, 0) == false then
msg ("1 - TrackFX is closed so it opens")
reaper.TrackFX_SetOpen(track, 0, 1)
else
msg ("2 - TrackFX is opened so it closes")
reaper.TrackFX_SetOpen(track, 1, 0)
end
and based on answer by edgemeal:
Quote:
Originally Posted by Edgemeal
How can fx ui be open/closed when it doesn't even exist? Maybe the function shouldn't do anything when passing an invalid fx index to it?
|
I would like to ask for a solution for this, or an alternative like using an argument with -1 index, so that reaper.TrackFX_GetOpen(track, -1) would return true if fxbrowser is open with no fx still selected.
|
|
|
04-09-2019, 11:41 AM
|
#299
|
Human being with feelings
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
|
Quote:
Originally Posted by MusoBob
You have Get's but you need Set's, you just need some way to set the key and scale ??
reaper.MIDIEditor_GetSetting_int(editor, 'scale_root')
reaper.MIDIEditor_GetSetting_str(editor, 'scale', '')
reaper.MIDI_GetScale(MediaItem_Take take, number root, number scale, string name)
reaper.MIDI_SetScale( take, 9, "102034050607", "User Reascale")
or
reaper.MIDI_SetScale( take, 9, 2741, "User Reascale")
|
Came here to request this - reaper.MIDI_SetSetting_int and _str would be really nice to have.
|
|
|
04-10-2019, 07:45 AM
|
#300
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,622
|
Quote:
Originally Posted by X-Raym
- Being able to change the CSV of retval_csv separator from GetUseInput would be very welcome (imagine you have several lines, and in each of this lines, the user can enter text with commas or csv with comma too. Sure we can tell him to add quotes as prefix and suffix, but this extra info is not very user fiendly, it is easy for the user to mess with a comma, and then all the fields will be shift and it can have very bad consequences on destrcutive processing (like injecting metadata).
|
Solved in the latest Ultraschall-API update, where ultraschall.GetUserInputs doesn't need a separator at all for each entry.
https://forum.cockos.com/showpost.ph...&postcount=153
|
|
|
04-13-2019, 09:59 AM
|
#301
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
Wish:
OSCIIBot as a Reaper extension that provides a Midi device towards the Reaper project, and maybe also might allow the OSCIIBot script to directly access the Reaper API.
-Michael
|
|
|
04-13-2019, 10:13 AM
|
#302
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
@mespotine
Only in Lua though, not Python, or EEL, or C++ extension :P
(but for Lua script, very nice, thx !)
|
|
|
04-16-2019, 09:09 AM
|
#303
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,622
|
Quote:
Originally Posted by X-Raym
@mespotine
Only in Lua though, not Python, or EEL, or C++ extension :P
(but for Lua script, very nice, thx !)
|
As it's no crazy stuff, this should be portable to all of them easily. So if someone wants to attempt that, I could assist(though not port it myself..no time for that).
|
|
|
05-05-2019, 12:21 AM
|
#304
|
Human being with feelings
Join Date: Feb 2017
Posts: 4,813
|
req: allow tracks to be supercollapsed not just folders
so maybe API to: supercolapseTrack
something like supercolapseTrack ( track, true or false).
who knows what we can do ! why limit?
|
|
|
05-05-2019, 12:36 PM
|
#305
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,622
|
What do you mean exactly by "supercollapse"
Trackheights can be compacted, so maybe that is what you're looking for.
|
|
|
05-05-2019, 07:49 PM
|
#306
|
Human being with feelings
Join Date: Feb 2017
Posts: 4,813
|
Super collapsed height is only available to folder tracks .. in which you can super collapse the child tracks, so they become like 2px height.
|
|
|
05-06-2019, 08:33 AM
|
#307
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,622
|
How do I set a folder-track to super-collapse? This is probably available in StateChunks but I haven't documented yet, what triggers it.
|
|
|
05-09-2019, 06:21 AM
|
#308
|
Human being with feelings
Join Date: Feb 2017
Posts: 4,813
|
Quote:
Originally Posted by mespotine
How do I set a folder-track to super-collapse? This is probably available in StateChunks but I haven't documented yet, what triggers it.
|
It is BUSCOMP 2
(0 -> normal, 1 -> compact , 2 -> super compact)
|
|
|
05-09-2019, 08:14 PM
|
#309
|
Human being with feelings
Join Date: Feb 2017
Posts: 4,813
|
So 3 could be for self super compact! :P Justin ?
|
|
|
05-14-2019, 01:10 PM
|
#310
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
|
reaper.GetMediaTrackInfo_Value( tr, 'I_FOLDERCOMPACT')
Quote:
I_FOLDERCOMPACT : int * : folder compacting (only valid on folders), 0=normal, 1=small, 2=tiny children
|
|
|
|
05-15-2019, 09:33 AM
|
#311
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,622
|
Sure, but what deeb wants is super-compacted state for non-foldered tracks as well, afaik.
|
|
|
05-17-2019, 02:01 AM
|
#312
|
Human being with feelings
Join Date: Feb 2017
Posts: 4,813
|
Quote:
Originally Posted by mespotine
Sure, but what deeb wants is super-compacted state for non-foldered tracks as well, afaik.
|
Yes, and just because we might use this as an visual/organization method for our scripts for whatever reason. Why limiting?
|
|
|
06-18-2019, 02:44 PM
|
#313
|
Human being with feelings
Join Date: Feb 2017
Posts: 4,813
|
reaper.BR_GetMouseCursorContex does not distinguish AI's , can anyone update this?
Code:
function msg(param)
reaper.ShowConsoleMsg("\n"..tostring(param));
end
reaper.ClearConsole()
--============================================================
function run()
local window, segment, details = reaper.BR_GetMouseCursorContext() -- reaper.GetCursorContext()
-- string window retval, string segment, string details reaper.BR_GetMouseCursorContext(string window, string segment, string details, integer char_sz)
msg("window: "..window.." ::" .. "segment: "..segment.." ::" .."details: "..details )
reaper.defer(run)
end
function onexit()
msg(">script ended\n")
end
reaper.defer(run)
reaper.atexit(onexit)
|
|
|
06-21-2019, 05:46 PM
|
#314
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,622
|
I think, SWS-related bugreports should go to the github-issues instead:
https://github.com/reaper-oss/sws/issues
|
|
|
06-22-2019, 06:18 AM
|
#315
|
Human being with feelings
Join Date: Feb 2017
Posts: 4,813
|
yep yep! thanks!
|
|
|
07-25-2019, 11:48 AM
|
#316
|
Human being with feelings
Join Date: Dec 2017
Posts: 179
|
https://forum.cockos.com/showthread.php?t=223271
Didn't know about this thread when I posted this, but a way to wait until a MainOnCommand action finishes before continuing the rest of the script would be super useful. Would solve all kinds of asynchronous code issues
|
|
|
08-18-2019, 09:10 PM
|
#317
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
Set/GetTrackMIDILyrics 1-7:MIDI text event types
With Set/GetTrackMIDILyrics it only gets 5 where as most midi karaoke is on 1 Text
and some maybe saved as 6 markers.
if you could add option 1-7:MIDI text event types
In the lyrics.lua I had to modify it to copy the lyric events from 1 to 5 to get it to work:
Midi file Lyrics Display (Karaoke)
|
|
|
10-10-2019, 11:03 AM
|
#318
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
We have...
reaper.GetProjectStateChangeCount(ReaProject proj)
Would be nice to a similar function for tracks, items, takes etc.
|
|
|
02-26-2020, 10:20 PM
|
#319
|
Human being with feelings
Join Date: Jan 2020
Posts: 58
|
I would love to be able to make each in and out pin into a variable or array, something like a slider:
Code:
slider1:left_in=0<0,63,1>Left channel input
//sliderX:variable_name=default<min, max, step>Slider name
calling variable_name would return the current value of variable_name
First option:
Code:
in_pin:left_channel=0, Left channel in
//in_pin:pin_variable_name=default, Pin name
calling pin_variable_name would return the lowest-numbered channel running into Pin name
Second option:
Code:
in_pin:left_channels[10]=(0), Left channels in
//in_pin:pin_array_name[offset]=(default values), Pin name
Calling pin_array_name would return offset.
Calling pin_array_name[] would return the lowest-numbered channel running into Pin name, or -1 if there are none. Essentially like calling offset[].
Calling pin_array_name[1] would return the second-lowest-numbered channel running into Pin name, or -1 if there isn't one. Essentially like calling offset[1].
You'd be able to change these values in the regular virtual memory, but it wouldn't be recommended.
This would be extremely useful for automatically routing sound, since it lets you determine the sample index straight from the routing matrix.
(It's entirely possible I'm just dumb and there's already a way to do this. If so I don't know what it is.)
|
|
|
05-03-2020, 06:38 AM
|
#320
|
Human being with feelings
Join Date: Sep 2008
Location: UK
Posts: 394
|
Many more "desc" options for GetSetProjectInfo_String, please. :-)
e.g. GRID [0], FEEDBACK, PANLAW, etc.
Really, it should be possible to get/set any project setting with a script.
I think being able to modify more project settings has been a long-standing FR for quite a few people.
Thanks!
[0] Because right now, I'd like to be able to change "Grid snap spacing" with a script. Note, this *isn't* the same as "Grid settings ... line spacing", for which many actions already exist.
I should have researched more thoroughly before posting this, I suppose! I think everything I want to achieve can actually be done using SNM_GetIntConfigVar, SNM_SetIntConfigVar, SNM_GetDoubleConfigVar and SNM_SetDoubleConfigVar. And I'm guessing it'd cover most everything you'd want to do in this context.
(And FWIW, I found these extra docs very useful for my use case: https://mespotin.uber.space/Ultrasch...l#projshowgrid)
So ignore this request!
Last edited by joe2; 05-26-2020 at 04:32 AM.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 09:01 AM.
|