Old 02-15-2014, 11:57 AM   #81
Breeder
Human being with feelings
 
Join Date: Nov 2010
Posts: 1,809
Default

Quote:
Originally Posted by spk77 View Post
That would be great! Is it possible to get "mouse pos" in every control/window?
Depends, not everything. For example, things in TCP like record arm, I/O wouldn't be possible with win32 api. Theoretically we could parse theme to find what is where and calculate it etc...in any case, it wouldn't be easy and IMHO sounds like more trouble than it's worth.

I'll export things at arrange for now. If you need something else, put it on our tracker and we'll see...
Breeder is offline   Reply With Quote
Old 02-15-2014, 12:30 PM   #82
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

Quote:
Originally Posted by Breeder View Post
Depends, not everything. For example, things in TCP like record arm, I/O wouldn't be possible with win32 api. Theoretically we could parse theme to find what is where and calculate it etc...in any case, it wouldn't be easy and IMHO sounds like more trouble than it's worth.

I'll export things at arrange for now. If you need something else, put it on our tracker and we'll see...
"Arrange view things" would be the most important ones. Thank you!
spk77 is offline   Reply With Quote
Old 02-16-2014, 01:22 PM   #83
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

Would like some kind of "get media item ids by position" because currently it gets media items in order of track and then in order of position. But I'd like to get items in order of position.

A not-so-great workaround for this is to move all items that are being processed to the same track, and then recrecrate the list of items. But then you cannot recall what track the item was in... well I guess you could workaround that by doing something crazy like storing the track number in the item name and removing it after the script is done.

OR you can to create two arrays, one for items, one for corresponding track and use sort functions, which EEL does not have built-in, but Justin made quicksort and I also came up with an insertion sort function...

but still........ it'd be nice to have "get media item ids by position"

edit: or maybe I should just create a function "GetMediaItemsByPosition(array_goes_here) (bla bla sort function bla)"
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 02-16-2014, 06:15 PM   #84
Anton9
Human being with feelings
 
Anton9's Avatar
 
Join Date: Jun 2009
Location: Earth
Posts: 1,318
Default

Quote:
Originally Posted by Breeder View Post
We already have this solved in SWS, I can export it to ReaScript if you want.
That would be really useful.

Breeder could you also look into adding EEL compatablity for all the current SWS ReaScript exports?

Thank you
Anton9 is offline   Reply With Quote
Old 02-16-2014, 06:38 PM   #85
Breeder
Human being with feelings
 
Join Date: Nov 2010
Posts: 1,809
Default

Quote:
Originally Posted by Anton9 View Post
Breeder could you also look into adding EEL compatablity for all the current SWS ReaScript exports?

Thank you
I think Jeffos answered you on issue tracker. It seems this is up to Cockos.
Breeder is offline   Reply With Quote
Old 02-16-2014, 07:01 PM   #86
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

Quote:
Originally Posted by Breeder View Post
I think Jeffos answered you on issue tracker. It seems this is up to Cockos.
umm...I thought we hired you to keep Cockos on track with infiltration blackmail and gun-point.
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template

Last edited by Argitoth; 02-16-2014 at 07:25 PM.
Argitoth is offline   Reply With Quote
Old 02-17-2014, 10:13 PM   #87
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

RPR_GetMediaItemTakeInfo_Value needs a bool for "optimize for tonal content"

__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 02-19-2014, 05:48 PM   #88
Breeder
Human being with feelings
 
Join Date: Nov 2010
Posts: 1,809
Default

One small request for Cockos:
Can you please give us something like
Code:
bool GetEnvelopeVisibility (TrackEnvelope* envelope, bool* lane)
Sometimes you need to check all envelopes in a track for such properties - currently that means parsing every envelope in the track. When you got lots of envelopes with lots of points things can slow down.

Pretty please? It will be used for greater purpose, promise!
Breeder is offline   Reply With Quote
Old 02-20-2014, 11:11 PM   #89
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

API: GetSetMediaSourceFileName

There's an action "Xenakios/SWS: Rename take source files...", why not a function?

I really just need a way to apply media item name to take source file name.
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 02-21-2014, 06:14 AM   #90
Breeder
Human being with feelings
 
Join Date: Nov 2010
Posts: 1,809
Default

Quote:
Originally Posted by Argitoth View Post
API: GetSetMediaSourceFileName

There's an action "Xenakios/SWS: Rename take source files...", why not a function?

I really just need a way to apply media item name to take source file name.
Maybe this could work: offline files, rename them and then set them back with BR_SetTakeSourceFromFile

I don't know if you can rename files with EEL, but you certainly have to use python to call that api since it's from sws
Breeder is offline   Reply With Quote
Old 02-28-2014, 01:23 PM   #91
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

SetMediaTrackInfo_Value()

I_NCHAN : int * : number of track channels, must be 2-64, even

Let's say you have 8 channels and I want them to be 8-16 instead of 1-8. Is there no way to do that with API? It seems like you can only set the number of channels. 8 in this case.
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 03-03-2014, 11:45 PM   #92
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

Is it currently possible to get take source media length? There should be something like:

GetMediaItemTakeSourceInfo_Value(source, "LENGTH") & STARTOFFS

or whatever.

also! Set would be useful!

SetMediaItemTakeSourceInfo_Value(source, "D_LENGTH") & STARTOFFS

__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 03-26-2014, 10:01 PM   #93
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

Is there a way to remove an item with API? If not, please add something like

RPR_RemoveMediaItem(item)
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 03-26-2014, 10:04 PM   #94
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

Need a way to manipulate master play rate envelope.

RPR_GetSetEnvelopeState seems to be limited to tracks.

Maybe you could have RPR_GetTrack(ReaProject* proj, Int trackidx) trackidx = -1 for master track
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 03-27-2014, 04:46 AM   #95
Breeder
Human being with feelings
 
Join Date: Nov 2010
Posts: 1,809
Default

Quote:
Originally Posted by Argitoth View Post
Is it currently possible to get take source media length? There should be something like:

also! Set would be useful!
Possible with the latest SWS pre-release
Breeder is offline   Reply With Quote
Old 04-19-2014, 10:00 PM   #96
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

Quote:
Originally Posted by Argitoth View Post
Need a way to manipulate master play rate envelope.

RPR_GetSetEnvelopeState seems to be limited to tracks.

Maybe you could have RPR_GetTrack(ReaProject* proj, Int trackidx) trackidx = -1 for master track
I just want to reiterate this... if i could access the master play rate envelope, I could turn REAPER into an offline tuner... I really need this for sample libraries. There's currently no tuner available for sample library developers in 2014, it's ridiculous. Reaper is one small step away from becoming the first tuner made for sample libraries.
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 04-20-2014, 05:53 AM   #97
Breeder
Human being with feelings
 
Join Date: Nov 2010
Posts: 1,809
Default

Quote:
Originally Posted by Argitoth View Post
I just want to reiterate this... if i could access the master play rate envelope, I could turn REAPER into an offline tuner... I really need this for sample libraries. There's currently no tuner available for sample library developers in 2014, it's ridiculous. Reaper is one small step away from becoming the first tuner made for sample libraries.
Code:
track_ptr = RPR_CSurf_TrackFromID(0,0)                          # Get master track pointer
env_ptr = RPR_GetTrackEnvelopeByName( track_ptr, 'Playrate' )   # Get envelope pointer
env_state = RPR_GetSetEnvelopeState(env_ptr, "", 4*1024*1024)   # Get envelope data

RPR_ShowConsoleMsg(env_state)
Of course, this will only work if playrate envelope already exists.
Breeder is offline   Reply With Quote
Old 04-20-2014, 09:01 AM   #98
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

thanks Breeder!
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 05-17-2014, 08:15 AM   #99
Netchose
Human being with feelings
 
Netchose's Avatar
 
Join Date: Jun 2011
Posts: 114
Default

TrackFX_Set_Midi_CC ( track, int fx, int param, int midi_port, int midi_chan,int midi_cc,int [default,on track_selected,on focus])

with a such function , you can imagine an interface in which you could only once edit all parameters that you wish to assign
Netchose is offline   Reply With Quote
Old 05-22-2014, 02:32 AM   #100
Seventh
Human being with feelings
 
Seventh's Avatar
 
Join Date: Sep 2010
Location: Finland
Posts: 776
Default

Could the GetMediaTrackInfo_Value() and SetMediaTrackInfo_Value() functions' parameters be extended to include grouping flags please?
Seventh is offline   Reply With Quote
Old 08-04-2014, 10:55 AM   #101
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

Is it possible to get BWF chunk with ReaScript? If not, then GetBWFChunk would be my wish .
spk77 is offline   Reply With Quote
Old 08-05-2014, 10:03 AM   #102
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

These EEL functions would be nice:
PCM_SOURCE_EXT_GETMETADATA
and
GetPreferredPosition()

Script request sticky -thread (posts 601-603):
http://forum.cockos.com/showthread.p...98#post1386298
spk77 is offline   Reply With Quote
Old 08-06-2014, 12:57 PM   #103
planetnine
Human being with feelings
 
planetnine's Avatar
 
Join Date: Oct 2007
Location: Lincoln, UK
Posts: 7,528
Default

...and is it possible to export these functions to EEL at all please?

Quote:
C: double BR_PositionAtMouseCursor(bool checkRuler)

Python: Float RPR_BR_PositionAtMouseCursor(Boolean checkRuler)

[BR] Get position at mouse cursor. To check ruler along with arrange, pass checkRuler=true. Returns -1 if cursor is not over arrange/ruler.


C: MediaItem_Take* BR_TakeAtMouseCursor(double* position)

Python: (MediaItem_Take* retval, Float position) = RPR_BR_TakeAtMouseCursor(position)

[BR] Get take under mouse cursor. Position is mouse cursor position in arrange.


>
planetnine is offline   Reply With Quote
Old 08-06-2014, 12:59 PM   #104
Breeder
Human being with feelings
 
Join Date: Nov 2010
Posts: 1,809
Default

Quote:
Originally Posted by planetnine View Post
...and is it possible to export these functions to EEL at all please?





>
That's up to Cockos.
Breeder is offline   Reply With Quote
Old 08-06-2014, 01:12 PM   #105
planetnine
Human being with feelings
 
planetnine's Avatar
 
Join Date: Oct 2007
Location: Lincoln, UK
Posts: 7,528
Default

Quote:
Originally Posted by Breeder View Post
That's up to Cockos.

Sorry Breeder, I misunderstood. I thought you "exported" them to Python. I thought it was something you or some other coder could do.



>
planetnine is offline   Reply With Quote
Old 08-08-2014, 03:53 AM   #106
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

GetLastTouchedMediaItem()
spk77 is offline   Reply With Quote
Old 08-22-2014, 01:15 PM   #107
planetnine
Human being with feelings
 
planetnine's Avatar
 
Join Date: Oct 2007
Location: Lincoln, UK
Posts: 7,528
Default

Could the devs please add a gfx window position (read and write) function to REAPER's implementation of EEL please?

It would be good to be able to resize the gfx window without the reset returning it to the top-left of the screen.

Thank you.



>
planetnine is offline   Reply With Quote
Old 08-22-2014, 02:17 PM   #108
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 391
Default

Quote:
Originally Posted by caseyjames View Post
I'd really like to see hooks into the Project Bay added to the api. As far as i can tell there is currently no API support for the project bay

I'm looking to insert items from a search in the project bay into my composition. This would help my workflow greatly.
+1000. i think ive mentioned this in the SWS extension thread, but realised that it was an API request.

It would be amazing to have full access to the items in the project bay, to get /set their state like other items, to create, copy and delete them etc.
__________________
[array] soundcloud facebook arraytheband.com.au

Last edited by matthewjumpsoffbuildings; 08-22-2014 at 02:24 PM.
matthewjumpsoffbuildings is offline   Reply With Quote
Old 08-23-2014, 07:31 PM   #109
Tronic
Human being with feelings
 
Join Date: Jan 2012
Posts: 91
Default

EEL
More file and folder utility function:
* Get current file name script
* List file in directory
* Rename, Delete

API for Add Chain FX by name
Tronic is offline   Reply With Quote
Old 08-31-2014, 11:01 AM   #110
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

(EEL) GetSet*State() chunk size limit is currently 65536.
Would it be possible to increase this limit?

At the moment, it's possible to get/set "only" 2424 envelope points:
http://forum.cockos.com/showthread.php?t=143902
spk77 is offline   Reply With Quote
Old 09-05-2014, 08:20 AM   #111
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

Grid/Snap settings seems to be stored into rpp files?

My request is - Easier access to the "Grid/Snap settings":
  • get checkbox states (from the "Grid/Snap settings" dialog)
  • get values from the edit boxes and dropdown lists

Thank you.
spk77 is offline   Reply With Quote
Old 09-08-2014, 03:21 AM   #112
planetnine
Human being with feelings
 
planetnine's Avatar
 
Join Date: Oct 2007
Location: Lincoln, UK
Posts: 7,528
Default

I don't know how the extension coders do this (if at all), but a means of storing data within the project would be very useful. I know there's a global ini file and functions to write/read from it, but a pseudo-file-space or similar that saves to a user datablock within the project file would be very useful tool.

Pardon my ignorance if the mechanism exists already.


Edit: I stored the data I needed (marker assocition and offset to an item) in the Project Marker name as ASCII hex characters. Saves with the project and also with the marker in the Marker/Region manager. See http://forum.cockos.com/showpost.php...1&postcount=16



>

Last edited by planetnine; 11-10-2014 at 10:19 AM.
planetnine is offline   Reply With Quote
Old 09-08-2014, 03:22 PM   #113
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 6,744
Default

Quote:
Originally Posted by planetnine View Post
if the mechanism exists already.
>
edit : I thought this was another thread. I wrote that the facilities are available for C++ extension plugins, but of course that won't help you with ReaScript.
__________________
For info on SWS Reaper extension plugin (including Xenakios' previous extension/actions) :
http://www.sws-extension.org/
https://github.com/Jeff0S/sws
--
Xenakios blog (about HourGlass and λ) :
http://xenakios.wordpress.com/
Xenakios is online now   Reply With Quote
Old 10-07-2014, 03:09 PM   #114
mim
Human being with feelings
 
Join Date: Mar 2009
Posts: 345
Default

An API function to create (and activate) an envelope from an fx parameter would be awesomely handy. Current SWS function make envelope processing possible in Reascirpt, however it is impossible to return an envelope pointer from a non active envelope.

RPR_CreateEnvelopeFromParameterId(track*,Fxid*,par ameterid*) would solve this issue and more.

This would make a world of difference. Thanks!
mim is offline   Reply With Quote
Old 11-27-2014, 11:01 PM   #115
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

EEL: ftruncate to change the size of a txt file.
EEL: Unlimited characters in a string, right now the limit is 16256.
AudioAccessor: get unlimited samples, right now the limit is 65536
EEL: Arrays. increase the array size limit to unlimited. Right now the limit is 8,388,608
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template

Last edited by Argitoth; 11-27-2014 at 11:09 PM.
Argitoth is offline   Reply With Quote
Old 11-28-2014, 06:32 AM   #116
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

Quote:
Originally Posted by Argitoth View Post
EEL: ftruncate to change the size of a txt file.
EEL: Unlimited characters in a string, right now the limit is 16256.
AudioAccessor: get unlimited samples, right now the limit is 65536
EEL: Arrays. increase the array size limit to unlimited. Right now the limit is 8,388,608
+1 to all.

65536 isn't enough in GetSet*State().

Example:
http://forum.cockos.com/showthread.php?t=143902
spk77 is offline   Reply With Quote
Old 12-08-2014, 04:54 PM   #117
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

REQUEST!: Replace media item peaks with image... so I could put a spectrogram image on a media item... or color-coded waveform display like this: http://www.comparisonics.com/color.html

Or how about some API to plug in your own realtime image generation...? maybe I'm just dreaming... *nudge nudge wink wink COUGH* Justin... REAPER 5... *cough*
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template

Last edited by Argitoth; 12-08-2014 at 06:02 PM.
Argitoth is offline   Reply With Quote
Old 12-08-2014, 05:38 PM   #118
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 6,744
Default

Quote:
Originally Posted by Argitoth View Post
REQUEST!: Replace media item peaks with image... so I could put a spectrogram image on a media item... or color-coded waveform display like this: http://www.comparisonics.com/color.html

Or how about some API to plug in your own realtime image generation...? maybe I'm just dreaming... *nudge nudge wink wink COUGH* Justin... REAPER 5... *cough*
That's already possible, I've actually lately worked on a plugin to replace the item waveforms with a spectrogram... Note that implementing this is going to be somewhat involved...The way to do it is to implement your own PCM_source subclass where you implement the Extended() method to handle the item graphics drawing etc...To keep the item playing the original audio, you should have another PCM_source object inside your custom object which you use to implement most of the other stuff the PCM_source objects are supposed to do. (Such as playing the audio samples...)

Screencap of the in-progress-plugin in action :

http://ge.tt/3bXP4O52/v/0?c
__________________
For info on SWS Reaper extension plugin (including Xenakios' previous extension/actions) :
http://www.sws-extension.org/
https://github.com/Jeff0S/sws
--
Xenakios blog (about HourGlass and λ) :
http://xenakios.wordpress.com/

Last edited by Xenakios; 12-08-2014 at 05:47 PM.
Xenakios is online now   Reply With Quote
Old 12-08-2014, 06:02 PM   #119
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Phoenix, AZ
Posts: 2,054
Default

HOLY ******[insert curse word]
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 01-20-2015, 10:02 PM   #120
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 391
Default

Quote:
Originally Posted by planetnine View Post
I don't know how the extension coders do this (if at all), but a means of storing data within the project would be very useful.
if access to nodes in the project bay is out of the question, this is the other main thing that would make ReaScript dev so much better, its essential that ReaScripts have an API for saving unique data in project files.

both project bay access and unique project data would be even better
__________________
[array] soundcloud facebook arraytheband.com.au

Last edited by matthewjumpsoffbuildings; 01-21-2015 at 01:33 AM.
matthewjumpsoffbuildings 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 10:50 PM.


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