|
|
|
07-24-2018, 02:18 PM
|
#1
|
Human being with feelings
Join Date: Dec 2012
Posts: 13,333
|
v5.94pre6 - July 24 2018
v5.94pre6 - July 24 2018
- + HUI: send keepalive messages
- + linux: bundle a tweaked libSwell.colortheme
- # Linux: bundle Liberation fonts
- # MIDI devices: allow forgetting multiple selected devices
- # linux: fix tooltip flicker
- # linux: improve behavior with various tiling window managers
- # linux: remove docker border drawing
- # linux: remove rewire prefs page
Changelog - Pre-Releases
Generated by X-Raym's REAPER ChangeLog to BBCode
|
|
|
07-24-2018, 11:05 PM
|
#2
|
Human being with feelings
Join Date: Jun 2009
Location: Wuppertal
Posts: 211
|
Very nice! Reaper looks much better now on a Linux system.
|
|
|
07-25-2018, 02:28 AM
|
#3
|
Human being with feelings
Join Date: Mar 2012
Posts: 610
|
Fonts look much better on Linux excellent!
MIDI devices area looks much better now too, and ALSA MIDI seems to work great... yeah!!
(Scarlett 6i6 / Fedora 28)
|
|
|
07-25-2018, 03:09 AM
|
#4
|
Human being with feelings
Join Date: May 2017
Posts: 981
|
Quote:
Originally Posted by vitalker
v5.94pre6 - July 24 2018
[list][*]+ HUI: send keepalive messages
|
What Exactly is this ? Can someone pls explain ?
|
|
|
07-25-2018, 08:13 AM
|
#5
|
Human being with feelings
Join Date: Jun 2016
Posts: 584
|
The original HUI control surface (big old beast) needs to receive periodic MIDI messages to stay "alive" and continue to communicate with a DAW. I think the official MIDI term for those messages is "Active Sensing" messages, not "keepAlive".
I have an original HUI that has sat unused for a couple of years. I stopped using it when I started using Reaper because Reaper wouldn't work with it. I'm wondering if that is fixed - though I'm not curious enough to pull the behemoth out and set it all back up again. I've been using a single fader control surface that does what I need.
Quote:
Originally Posted by svijayrathinam
What Exactly is this ? Can someone pls explain ?
|
|
|
|
07-25-2018, 08:48 AM
|
#6
|
Human being with feelings
Join Date: Jun 2012
Posts: 277
|
Quote:
Originally Posted by vitalker
- # linux: improve behavior with various tiling window managers
|
This looks fun. Which window manager(s) is it being tested on?
|
|
|
07-25-2018, 08:52 AM
|
#7
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by buddhajuke
This looks fun. Which window manager(s) is it being tested on?
|
I tested it on i3 and bspwm... not a big fan of tiling window managers but it works reasonably well on both of them.
|
|
|
07-25-2018, 09:57 AM
|
#8
|
Human being with feelings
Join Date: Dec 2017
Posts: 8
|
Checkboxes in lists look (IMHO) a bit rough (check-mark shadow)
P.S. Of course this should be placed in one of the Linux topics, sorry
Last edited by unius; 07-25-2018 at 05:23 PM.
|
|
|
07-25-2018, 10:55 AM
|
#9
|
Human being with feelings
Join Date: Jul 2006
Posts: 20,859
|
Very glad to see more linux stuff coming. ALSA MIDI was big one. Thanks!
__________________
It's time to take a stand against the synthesizer.
|
|
|
07-25-2018, 05:16 PM
|
#10
|
Human being with feelings
Join Date: Dec 2017
Location: Quebec, Canada
Posts: 550
|
Is Linux something future-proof or kind of a underground way to do music?
Sorry all I know is that Linux is probably more efficient than Windows and less intrusive? But is it compatible with plugins, etc? Is it working on a regular computer build by simply installing a linux OS?
And what would be the main reasons to use it over a windows OS machine?
|
|
|
07-25-2018, 06:26 PM
|
#11
|
Human being with feelings
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
|
Hi Justin!
When I run v5.94 pre6 it warns me about not being able to open any of my MIDI devices (NI Komplete Audio 6 usb interface, for example). I´ve been away from the studio and this pre is the first one I try on my main machine since v5.93 rc3.
The weird part is that even though it shows me this sign on every input/output :
!!!N/A: Enabled+Control
I can use the device and it seems to work fine with Reaper (I´m playing a soft synth with a controller via the audio interface´s MIDI input, for example).
If you need any data about my setup, just let me know...
Thanks in advance!
|
|
|
07-25-2018, 06:39 PM
|
#12
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by Soli Deo Gloria
When I run v5.94 pre6 it warns me about not being able to open any of my MIDI devices (NI Komplete Audio 6 usb interface, for example). I´ve been away from the studio and this pre is the first one I try on my main machine since v5.93 rc3.
The weird part is that even though it shows me this sign on every input/output :
!!!N/A: Enabled+Control
I can use the device and it seems to work fine with Reaper (I´m playing a soft synth with a controller via the audio interface´s MIDI input, for example).
|
In this case, the NI Komplete Audio 6 usb interface is connected? The device you're playing with is that one (it's not connected via some other device name? perhaps a newer version of the driver changed the name)?
Can you make me a screenshot of the MIDI device page? I assume if you close and re-open the prefs it remains the same?
(previously devices that had once been connected and enabled, then were not connected, would not get any warning -- so you wouldn't know that the device was not present until you went to use it and found that it wasn't there. I suppose an option to allow warning when a device is present but failed to open would be useful, but maybe not that useful...) It sounds like maybe these are old devices that should be forgotten (you can right click them and choose forget device)...
Last edited by Justin; 07-25-2018 at 06:46 PM.
|
|
|
07-26-2018, 01:15 AM
|
#13
|
Human being with feelings
Join Date: Jul 2009
Location: Wellington
Posts: 4,622
|
Yo J dog have you ever tried bundling reaper into an appimage ?
https://appimage.org/
download -> chmod -x -> run
or even download -> rightclick props -> tick "make executable -> run
|
|
|
07-26-2018, 03:52 AM
|
#14
|
Human being with feelings
Join Date: Oct 2008
Location: France
Posts: 3,698
|
Quote:
Originally Posted by D Rocks
Is Linux something future-proof or kind of a underground way to do music?
Sorry all I know is that Linux is probably more efficient than Windows and less intrusive? But is it compatible with plugins, etc? Is it working on a regular computer build by simply installing a linux OS?
And what would be the main reasons to use it over a windows OS machine?
|
There's a thread for Linux discussion. You should ask there.
|
|
|
07-26-2018, 06:54 AM
|
#15
|
Human being with feelings
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
|
Quote:
Originally Posted by Justin
In this case, the NI Komplete Audio 6 usb interface is connected? [...]
|
I´m sorry Justin, it was a mistake! The NI interface was indeed connected and recognized fine after all, among the plethora of disconnected devices ... I got confused with all the warnings about devices not present in the system - basically, I think I had a warning for every single MIDI thing I ever used with Reaper during these years, If I´m not wrong -.
By the way, it´s a nice functionality, I think. It just caught me by surprise...
Thanks for all, as usual!
|
|
|
07-26-2018, 08:31 AM
|
#16
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by Soli Deo Gloria
I´m sorry Justin, it was a mistake! The NI interface was indeed connected and recognized fine after all, among the plethora of disconnected devices ... I got confused with all the warnings about devices not present in the system - basically, I think I had a warning for every single MIDI thing I ever used with Reaper during these years, If I´m not wrong -.
By the way, it´s a nice functionality, I think. It just caught me by surprise...
|
Yeah, the drastic change in behavior is surprising...
|
|
|
07-26-2018, 09:53 AM
|
#17
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,621
|
I have found some API-issues/regressions, but I'm not sure, in which release they've appeared.
a) There seems to be a problem with GetMediaSourceFileName(), that wasn't in Reaper5.77
The following code should create the error-message "PCM-source expected", but instead, Lua gets stuck for this script, leading th effect, that the script, in which this code is executed, can's be run again until Reaper gets restarted. It worked in 5.77 perfectly.
Code:
-- This script should end with an error-message "PCM-source expected" when executing GetMediaSourceFileName
-- This script worked in Reaper 5.77 with SWS 2.9.7 sucessfully
-- But in 5.93, it get's stuck when coming to GetMediaSourceFileName. Even worse, this script can't be executed anymore, until Reaper is restarted.
function Type(parameter)
reaper.MB("This Messagebox will be displayed","",0)
One,Two=reaper.GetMediaSourceFileName(parameter,"")
reaper.MB("This Messagebox will NOT be displayed. Lua for this script is stuck 'til restart of Reaper.","",0)
end
Take=reaper.GetMediaItemTake(reaper.GetMediaItem(0,0),0)
RprMidiTake=reaper.FNG_AllocMidiTake(Take)
D=reaper.FNG_GetMidiNote(RprMidiTake, 0)
L=Type(D)
b) API-Docs: ValidatePtr2 has PCM_source* stated as valid ctypename, but it should be "PCM_Source*" with a S in source, not s.
|
|
|
07-26-2018, 11:11 AM
|
#18
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by mespotine
I have found some API-issues/regressions, but I'm not sure, in which release they've appeared.
a) There seems to be a problem with GetMediaSourceFileName(), that wasn't in Reaper5.77
The following code should create the error-message "PCM-source expected", but instead, Lua gets stuck for this script, leading th effect, that the script, in which this code is executed, can's be run again until Reaper gets restarted. It worked in 5.77 perfectly.
|
Edit: ah thanks, duplicated on Windows (no issue on mac/linux).
Quote:
b) API-Docs: ValidatePtr2 has PCM_source* stated as valid ctypename, but it should be "PCM_Source*" with a S in source, not s.
|
Hmm it should be PCM_source* (that's what the code checks for -- confusingly the type name is "PCM_source" but the functions that access them are typically PCM_Source_*()). PCM_Source* should always return false.
Last edited by Justin; 07-26-2018 at 11:25 AM.
|
|
|
07-26-2018, 11:59 AM
|
#19
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,621
|
The ValidatePtr2 and ValidatePtr only accepts parameter ctypename set "PCM_Source*" as true.
Maybe a typo somewhere?
Edit: Would it be possible to add checking for other Reaper-types as well into ValidatePtr2 and ValidatePtr? Like HWND, AudioAccessor, reaper.array, IReapercontrolSurface, joystick_getaxis and FastStrings? This would be very handy when checking for valid Reaper-specific types....
By the way, how useful would it be to have IReaperControlSurfaces for ReaScript? As some functions need it (usually as ignoresurf-parameter) they can't be used currently in ReaScript. Would it be useful to be able to ignore Control Surfaces within ReaScript? Or is it more a C++-thingy?
Last edited by Meo-Ada Mespotine; 07-26-2018 at 12:06 PM.
|
|
|
07-26-2018, 12:03 PM
|
#20
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,937
|
Quote:
Originally Posted by Justin
PCM_Source* should always return false.
|
It doesn't. It returns true for any unknown type as long as the pointer is non-null and the type string ends with a '*'. (On macOS at least)
Code:
> reaper.ValidatePtr(reaper.GetMasterTrack(), 'FooBar*')
true
(Speaking of ValidatePtr and pointer types: Feature request for allowing extensions to register custom types for validation)
Quote:
Originally Posted by mespotine
Edit: Would it be possible to add checking for other Reaper-types as well into ValidatePtr2 and ValidatePtr?
|
HWND would be very useful! Along with support of HWND as a parameter type and return value in extension-defined API functions!
Last edited by cfillion; 07-26-2018 at 12:23 PM.
|
|
|
07-26-2018, 12:10 PM
|
#21
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,621
|
Quote:
Originally Posted by cfillion
It returns true for any unknown type as long as the pointer is non-null and the type string ends with a '*'. (On macOS at least)
Code:
> reaper.ValidatePtr(reaper.GetMasterTrack(), 'FooBar*')
true
|
Same on Windows.
@cfillion
Are there some C++-API/WDL-specific datatypes as well that should be included as well?
|
|
|
07-26-2018, 12:21 PM
|
#22
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by mespotine
The ValidatePtr2 and ValidatePtr only accepts parameter ctypename set "PCM_Source*" as true.
Maybe a typo somewhere?
|
Yeah it allows unknown types... which PCM_Source* is. PCM_source* only works (at the moment) if the PCM_source exists in the current project. Fixing that to also include PCM_Source_CreateFromFile() via Lua/EEL (Lua/EEL scripts are accidentally completely permissive for invalid PCM_sources, which is the cause of the hang issue).
Quote:
Edit: Would it be possible to add checking for other Reaper-types as well into ValidatePtr2 and ValidatePtr? Like HWND, AudioAccessor, reaper.array, IReapercontrolSurface, joystick_getaxis and FastStrings?
|
FastStrings are not meant to be used from scripts! The fact that the sws extension does it is, ugh.. :/
ValidatePtr("HWND") should already work, calling IsWindow(), which may be of limited usefulness (IsWindow() should be avoided really)
|
|
|
07-26-2018, 01:35 PM
|
#23
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Quote:
Originally Posted by Justin
The fact that the sws extension does it is, ugh.. :/
|
But SWS is not scripts? Or is the real reason that there wasn't enough API documentation for extension developers so they know what's not supposed to be used outside of Reaper's native code?
That said yeah, SWS could do with a codebase cleanup/overhaul... but probably isn't happening ever...
|
|
|
07-26-2018, 03:02 PM
|
#24
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
|
Quote:
Originally Posted by EvilDragon
But SWS is not scripts?
|
I think what's meant is the exposing of FastStrings for scripts via SWS.
SNM_CreateFastString() and such.
Last edited by nofish; 07-26-2018 at 05:58 PM.
|
|
|
07-26-2018, 04:19 PM
|
#25
|
Human being with feelings
Join Date: Jul 2009
Posts: 3,714
|
Quote:
Originally Posted by Justin
FastStrings are not meant to be used from scripts! The fact that the sws extension does it is, ugh.. :/
|
I haven't noticed many scripts using FastStrings, but there is one all-important application: loading state chunks. Since REAPER's own GetItem/Track/StateChunk functions are broken, SWS's FastString functions (combined with another SWS function, SNM_GetSetObjectState) are currently the only way to load state chunks.
|
|
|
07-27-2018, 05:26 AM
|
#26
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,621
|
Reaper's StateChunk-functions are broken? In what way? I'm working a lot with them and never stumbled upon any problem...
Do you have an example?
The function I use heavily is the CF_Get/SetClipboard-functions. They make use of Faststrings, as, if I remember correctly, there is a 1023-character-limit for strings in Lua, which could be overcome using faststrings.
But I have no idea, if that could have been done otherwise....
|
|
|
07-27-2018, 05:46 AM
|
#27
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,937
|
Quote:
Originally Posted by mespotine
Reaper's StateChunk-functions are broken? In what way?
|
There's a 4.19MB limit: https://forum.cockos.com/showthread.php?t=193686.
Quote:
Originally Posted by mespotine
The function I use heavily is the CF_Get/SetClipboard-functions. They make use of Faststrings, as, if I remember correctly, there is a 1023-character-limit for strings in Lua, which could be overcome using faststrings.
|
Turns out that 1024 default buffer size can be overridden for extension-defined functions. I learned from Xenakios recently that the size parameter could be used in Lua even though it's not documented.
Last edited by cfillion; 07-27-2018 at 06:50 AM.
|
|
|
04-09-2019, 12:33 PM
|
#28
|
Human being with feelings
Join Date: Jul 2009
Posts: 3,714
|
Quote:
Originally Posted by Justin
Yeah it allows unknown types... which PCM_Source* is. PCM_source* only works (at the moment) if the PCM_source exists in the current project. Fixing that to also include PCM_Source_CreateFromFile() via Lua/EEL (Lua/EEL scripts are accidentally completely permissive for invalid PCM_sources, which is the cause of the hang issue).
ValidatePtr("HWND") should already work, calling IsWindow(), which may be of limited usefulness (IsWindow() should be avoided really)
|
In which situations is ValidatePtr("HWND") reliable, and in which not?
On Linux and macOS, WDL/swell functions will crash REAPER if the HWND doesn't refer to an existing window, so it would be very useful to have a fast and reliable function to check the validity of HWNDs, so that scripts can regularly call this function before trying to access windows.
|
|
|
04-09-2019, 02:40 PM
|
#29
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by juliansader
In which situations is ValidatePtr("HWND") reliable, and in which not?
On Linux and macOS, WDL/swell functions will crash REAPER if the HWND doesn't refer to an existing window, so it would be very useful to have a fast and reliable function to check the validity of HWNDs, so that scripts can regularly call this function before trying to access windows.
|
In 5.974+ the Linux ValidatePtr(HWND) should work.
macOS's ValidatePtr() should already have been working for a while (it searches the entire hierarchy to determine if HWND is valid). Have you seen otherwise?
|
|
|
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 06:24 PM.
|