|
|
|
02-16-2015, 03:33 PM
|
#1
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
Documentation: Reascripthelp with Styles and Filtering Tables (Update: 2022-12-14)
Hi!
This article aims to present my work about customizing the reascripthelp.html file.
Context
The REAPER functions list is awesome, but lacks some basics thing to be more pleasing to use.
That's why I decided to style it.
- color code for extensions
- color code for variable
- dark background
- sans-serif font
- modular scale based typography
- responsive tables
- mouse hover animation
I also added some functionalities that you may like
- Persistent discrete small menu for quick access to REAPER Functions, EEL specific functions, and Lua based functions.
- filterable functions tables.
Demo:
Technic
This is based on the Reaper v5 generated documentation which is far more customizable than the v4.
Unfortunately, the modification process cannot be automated, that why I don't plan to update it either at this time. This just a demonstration of what could be done with a more semantic HTML generation.
Here what I modified to make all this work:
- correct HTML orphans characters (there is a lot of lost nbsp).
- invert table direction, and then convert all functions to one column.
- add custom HTML attribute for column.
- correct some HTML non-semantic things (especially, usage of <code>.
- Integrate Jquery and Footable
We could also imagine some other functions such as a second column for functions tables for displaying the version of REAPER which is required for the function. I didn't implement it cause I don't have the data.
Link
Tell me if you like it, if you use it, if you want Cockos make a move toward a more customizable/functional reascripthelp.html. I am open to all comments !
For me as a scripter, it was a huge time saver.
My only wish is to make you save time as well, so you could be able to produce powerful scripts more easily, and with more pleasure!
EDIT (2021-11-18):
Accuracy of this presentation isn't up to date, follow the discussions below to see how it has evolved.
Last edited by X-Raym; 12-14-2022 at 12:13 PM.
|
|
|
02-18-2015, 07:18 AM
|
#2
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
Moderation approval seems ok so...
One small addresse to see the demo: bit.ly/reascript
Remember that this is not an up to date doc, just a demonstration page!
|
|
|
03-20-2015, 07:13 AM
|
#3
|
Human being with feelings
Join Date: Feb 2012
Posts: 1,972
|
Thank you! How to download it with search function available?
|
|
|
03-20-2015, 07:31 AM
|
#4
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
@Viente
File -> Save as...
It must be enough!
Don't forget that this is not an up to date documentation. But sure it helps!
|
|
|
03-20-2015, 07:37 AM
|
#5
|
Human being with feelings
Join Date: Feb 2012
Posts: 1,972
|
"Save as" in browser? It saves but search function not working, probably because JS scripts not working.
|
|
|
03-20-2015, 07:54 AM
|
#6
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
@Viente
Hmm you are right doesn't seem to work locally with this function. I can't explain that ^^
|
|
|
05-02-2015, 09:30 AM
|
#7
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
Update
Just updated for REAPER v5.0pre28/x64 and SWS 2.6.4 #0
There is a lot of new functions in this SWS pre-release build, I had to update this as it is still the main document I use for scripting !
(note: I just make the API functions tables sortable, not the Lua and EEL ones).
Last edited by X-Raym; 05-02-2015 at 09:37 AM.
|
|
|
09-27-2015, 08:31 AM
|
#8
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
Update 2.04 pre 1 SWS 2.8.1
Hi!
Since 5pre28... a LOT of functions have been added
So, it was the time to update this document !
Small changed:
SWS functions are listed below native ones, but are in teh same table (contrary to the new autogeneration), to allow more easable filtering.
I added a second column to indicate the source of the function (Ideally, it would indicated the minimum version required to use this but... It would be a bit hard to get all the infos, and I don't even know if it would be possible).
I still hope that the document could have a better HTML generation, it is still very messy and with a lot of obsolete/redudant markups, which make the customization a bit painful.
I already use some of these new functions but here a recap of the new things since my last document updated:
Code:
ClearConsole
ColorFromNative
ColorToNative
EnumerateFiles
EnumerateSubdirectories
GetLastColorThemeFile
GetMediaSourceParent
GetProjectTimeOffset
IsProjectDirty
OpenColorThemeFile
OpenMediaExplorer
BR_GetArrangeView
BR_GetCurrentTheme
BR_GetMidiTakePoolGUID
BR_GetMidiTakeTempoInfo
BR_GetNextGridDivision
BR_GetPrevGridDivision
BR_SetMidiTakeTempoInfo
BR_TrackFX_GetFXModuleName
BR_Win32_GetPrivateProfileString
BR_Win32_ShellExecute
BR_Win32_WritePrivateProfileString
Have fun with it !
Last edited by X-Raym; 09-27-2015 at 08:40 AM.
|
|
|
09-27-2015, 11:33 AM
|
#9
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
|
Thanks. I use only your page, when writing anything. Native HTML API Help is make my eyes crying.
|
|
|
02-10-2016, 05:45 PM
|
#10
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
Update :
Now for v5.15 & SWS 2.8.6 #0.
Lot of new functions since the last update !
@Devs: A better HTML generation is still highly desired.
Cheers !
|
|
|
05-28-2016, 09:44 PM
|
#11
|
Human being with feelings
Join Date: Jun 2010
Location: Texas
Posts: 357
|
Yes, thank you. It's amazing!
|
|
|
05-29-2016, 06:08 AM
|
#12
|
Human being with feelings
Join Date: Mar 2013
Posts: 515
|
Thanks X-Raym! My n.1 place to check API stuff.
__________________
"After silence, that which comes nearest to expressing the inexpressible is music", Aldous Huxley
|
|
|
05-29-2016, 08:13 AM
|
#13
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
2.0
@michaeltonight, @spacemantree
Thank you both guys it is cool to know it is helpful !
I just make a major udpate on it, it took several hours.
but it has now a lot of extra features :
The whole code has been refactored. The native generation is really too bad from an HTML point of view, full of errors, obsolete characters and non semantic structure.
EDIT : I forgot to make the paragraph pure HTML and I will probably make the code "tidy", so I'm still working on it.
Let me know what do you think of this update !
Cheers !
EDIT : Actual way of doing sticky filter doesn work on chrome
http://caniuse.com/#feat=css-sticky
I may correct that later.
Last edited by X-Raym; 05-29-2016 at 09:36 AM.
|
|
|
05-29-2016, 08:37 AM
|
#14
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 4,585
|
Thank you very much for this! most used site when coding!
|
|
|
05-29-2016, 05:26 PM
|
#15
|
Human being with feelings
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
|
Awesome update, X-Raym. Any chance we could get the filter back for only showing Lua, etc?
|
|
|
05-30-2016, 05:23 AM
|
#16
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
@Sexan
Cool, thanks
@Lokasenna
Oh sure,
But I wanted to recreate them rather than using the existing function which have some javascript instructions in the HTML (and I don't like that :P)
I just finished to recreate this feature, should be online now.
@all
I changed the URL so that it is shorter and easier to remember.
New version: http://www.extremraym.com/cloud/reascript-doc or http://bit.ly/reascript-doc
Also, I added extra features
- Checked symbol when a function is copied
- Now the copied function doesn't have the type of element, just the variable name (so that you don't have to delete them manually after copy pasting
- Filter placeholder text
- some style fine tuning
Hope it helps
|
|
|
05-30-2016, 02:55 PM
|
#17
|
Human being with feelings
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
|
Awesome.
|
|
|
05-30-2016, 05:57 PM
|
#18
|
Human being with feelings
Join Date: Aug 2014
Location: New York
Posts: 135
|
This is even cooler than before, cheers for that!
Is there a wiki anywhere where people can comment/explain individual functions? I think that would be an awesome feature if you want to go through the pain of making the platform. Most of the functions are rather self explanatory but some of them are going to be forever a mystery to me and being able to see other people's comments on a function when searching the API would be amazing
|
|
|
05-31-2016, 12:30 AM
|
#19
|
Human being with feelings
Join Date: Mar 2013
Posts: 515
|
Quote:
Originally Posted by Claudiohbsantos
This is even cooler than before, cheers for that!
|
Absolutely! Nice job! And the copy function is genius. Absolute time saver.
__________________
"After silence, that which comes nearest to expressing the inexpressible is music", Aldous Huxley
|
|
|
05-31-2016, 03:04 AM
|
#20
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
Thanks you guys :P
@Claudiohbsantos
Well, there is a ReaScript section in the Cockos wiki but it is not update dsince a very long time,
Updatong in the normal way (manually created page for each function) would take too much time,
I don't know if there is a way to update it by parsing the ReaScript Doc and all new pages in few actions...
So it may be a bit complicated.
But you highlight something interesting : indeed, some functions needs more infos.
I was considering putting it on github but it is not very user friendly to add few details infos on 5500 lines long document, and it require to push updates on my server manually.
I let you know if I find an idea about how we could make this page more collaborative.
|
|
|
05-31-2016, 09:24 AM
|
#21
|
Human being with feelings
Join Date: Jun 2010
Location: Texas
Posts: 357
|
This is amazing, X-Raym! Would it be difficult to include the Python filter too?
|
|
|
05-31-2016, 10:39 AM
|
#22
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
@michaeltonight
Of course !
this was an old atavism which came from the native old doc generation.
This feature is added now.
|
|
|
05-31-2016, 10:46 AM
|
#23
|
Human being with feelings
Join Date: Jun 2010
Location: Texas
Posts: 357
|
Awesome, thanks! You rule.
|
|
|
05-31-2016, 11:43 AM
|
#24
|
Human being with feelings
Join Date: Oct 2008
Location: France
Posts: 3,697
|
Thanks a lot X-Raym. Marvellous !
|
|
|
06-05-2016, 05:39 AM
|
#25
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
@michaeltonight, @benf
Thank yo guys
@all
Just noticed that I complelty forgot to add SWS functions in lists !
Corrected now
EDIT: Also, just added Fuzzy search
now you can filter more easily, just by entering keywords !
Last edited by X-Raym; 06-05-2016 at 05:50 AM.
|
|
|
09-04-2016, 02:06 AM
|
#26
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
Update
- Manually updated with new functions and definitions from REAPER 5.24.
- Added REAPER version compatibility of new functions in function list (so that you can more easily see new functions).
Took me one hour but it's worth it.
Enjoy !
|
|
|
09-04-2016, 07:31 AM
|
#27
|
Human being with feelings
Join Date: Jun 2010
Location: Texas
Posts: 357
|
Awesome! You're the best, X-Raym.
|
|
|
10-15-2016, 09:55 AM
|
#28
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
New feature:
- Highlight matching terms from filter functions list.
I wanted this since a long time, I tried during hours to make regex pattern matching, and I just find a jquery little scripts that does that perfectly. (thanks to the author :P)
I think it could be nice to have this kind of feature in action list too !
|
|
|
11-23-2016, 09:59 AM
|
#29
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
2016-11-23 The CSS Optimization allow the page to be downloaded almost x10 times faster :P
|
|
|
11-23-2016, 04:04 PM
|
#30
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
|
I use your site a lot when scripting.
Thanks X-Raym.
|
|
|
01-03-2017, 02:40 PM
|
#31
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
@nofish
Thanks ! If I can see that users use it, then it worths it
@all
Huge update today, hours of manual work, cause Cockos changed a bit how it output the functions def, so looking for difference between the old doc and the new ones (generated versions) to find meaningful difference took a lot of time.
- v5.32 pre 4
- New functions: GetMediaItemTake_Peaks, GetProjectLength, GetProjectName, GetSetProjectAuthor, GetTrackMIDILyrics, GetTrackName, joystick_create, joystick_destroy, joystick_enum, joystick_getaxis, joystick_getbuttonmask, joystick_getinfo, joystick_getpov, joystick_update, MIDI_GetAllEvts, MIDI_SetAllEvts, PCM_Source_GetPeaks, SetTrackMIDILyrics, lua_{reaper.array}.fft_real, lua_{reaper.array}.ifft_real
- Deleted function: HiresPeaksFromSource
As you can see there is some new functions which are not present in REAPER changelog !!
Quote:
GetProjectName, GetSetProjectAuthor, GetProjectLength
|
I noticed that while I was comparing the HTML output of the document
@Cockos
I still think that reascript doc would benefit from better HTML generation. Manually having to take care of this is a bit time consuming :/ Feel free to take a look at my HTML. Cheers !
Last edited by X-Raym; 01-04-2017 at 05:25 AM.
|
|
|
01-03-2017, 03:00 PM
|
#32
|
Human being with feelings
Join Date: Mar 2013
Posts: 213
|
Thanks a lot for this Man, you have no idea how much this is helpful to me !
|
|
|
01-03-2017, 04:32 PM
|
#33
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
@Nantho
Many Thanks man !
I just fixed a quick dirty bug, the document is good now. :P
|
|
|
01-04-2017, 05:25 AM
|
#34
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
I forgot to add the "GetProjectLength" function in the changelog, but this is a also a new function added without mention in the changelog.
|
|
|
02-23-2017, 04:13 AM
|
#35
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
Update
Updated for REAPER v5.34
|
|
|
03-07-2017, 03:42 PM
|
#36
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
Few hours later, one another manual update... !
2017-03-07 - v5.40pre10
- # API: add InsertAutomationItem, GetSetAutomationItemInfo, CountEnvelopePointsEx, GetEnvelopePointEx, GetEnvelopePointByTimeEx, SetEnvelopePointEx, InsertEnvelopePointEx, DeleteEnvelopePointRangeEx, Envelope_SortPointsEx
- GetSetProjectGrid (Not in the changelog !!)
Please support this doc by commenting, considering a donation (not regular free scripters but big compagnies which uses it freely), and report to the devs that we can have a better html generation. Thanks :P
|
|
|
03-07-2017, 04:44 PM
|
#37
|
Human being with feelings
Join Date: Apr 2011
Posts: 3,451
|
Thank you X-Raym for your GREAT work!
The official Reascript help should be like yours! It is SO much easier to work with!..
|
|
|
09-11-2017, 09:57 AM
|
#38
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
New Update
2017-09-11 - v5.50rc21 / SWS v2.9.6.0
- # API: add BR_IsMidiOpenInInlineEditor, SN_FocusMIDIEditor, CF_GetClipboard, CF_SetClipboard, NF_AnalyzeTakeLoudness, NF_AnalyzeTakeLoudness2, NF_AnalyzeTakeLoudness_IntegratedOnly, NF_GetMediaItemAverageRMS, NF_GetMediaItemMaxPeak, SN_FocusMIDIEditor
- Add doc to RecursiveCreateDirectory
Thanks for supporting this manually updated doc by making a donation (or by sharing your scripts :P )
Cheers !
@amalgama
Many thanks Glad it is useful to you !
|
|
|
03-05-2018, 04:03 PM
|
#39
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
Update
2018-03-05 - v5.76 / SWS v2.9.8.0 / Reapack v1.2.1
- # API: add GetSetTrackGroupMembershipHigh, GetUnderrunTime, CF_GetClipboardBig, CF_LocateInExplorer, CF_ShellExecute, NF_GetMediaItemPeakRMS_NonWindowed, NF_GetMediaItemPeakRMS_Windowed, NF_GetSWSTrackNotes, NF_SetSWSTrackNotes, NF_TakeFX_GetOffline, NF_TakeFX_SetOffline, NF_TrackFX_GetOffline, NF_TrackFX_SetOffline, ReaPack_AboutInstalledPackage, ReaPack_AboutRepository, ReaPack_AddSetRepository, ReaPack_BrowsePackages, ReaPack_CompareVersions, ReaPack_EnumOwnedFiles, ReaPack_FreeEntry, ReaPack_GetEntryInfo, ReaPack_GetOwner, ReaPack_GetRepositoryInfo, ReaPack_ProcessQueue
It took me 1 hour to update so thank you for supporting this project !
Cheers !
|
|
|
04-01-2018, 01:45 AM
|
#40
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
How do you extract SWS functions?
|
|
|
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 04:03 AM.
|