Old 07-24-2018, 02:18 PM   #1
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default 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
vitalker is offline   Reply With Quote
Old 07-24-2018, 11:05 PM   #2
swindus
Human being with feelings
 
swindus's Avatar
 
Join Date: Jun 2009
Location: Wuppertal
Posts: 211
Default

Very nice! Reaper looks much better now on a Linux system.
swindus is offline   Reply With Quote
Old 07-25-2018, 02:28 AM   #3
David Else
Human being with feelings
 
Join Date: Mar 2012
Posts: 610
Default

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)
__________________
----------> Debian Linux Distribution = Computing Joy & Freedom <----------
David Else is offline   Reply With Quote
Old 07-25-2018, 03:09 AM   #4
svijayrathinam
Human being with feelings
 
Join Date: May 2017
Posts: 981
Default

Quote:
Originally Posted by vitalker View Post
v5.94pre6 - July 24 2018
[list][*]+ HUI: send keepalive messages
What Exactly is this ? Can someone pls explain ?
svijayrathinam is offline   Reply With Quote
Old 07-25-2018, 08:13 AM   #5
drichard
Human being with feelings
 
Join Date: Jun 2016
Posts: 584
Default

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 View Post
What Exactly is this ? Can someone pls explain ?
drichard is offline   Reply With Quote
Old 07-25-2018, 08:48 AM   #6
buddhajuke
Human being with feelings
 
Join Date: Jun 2012
Posts: 277
Default

Quote:
Originally Posted by vitalker View Post
  • # linux: improve behavior with various tiling window managers
This looks fun. Which window manager(s) is it being tested on?
buddhajuke is offline   Reply With Quote
Old 07-25-2018, 08:52 AM   #7
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by buddhajuke View Post
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.
Justin is offline   Reply With Quote
Old 07-25-2018, 09:57 AM   #8
unius
Human being with feelings
 
Join Date: Dec 2017
Posts: 8
Default

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
Attached Images
File Type: png screen.png (5.6 KB, 280 views)

Last edited by unius; 07-25-2018 at 05:23 PM.
unius is offline   Reply With Quote
Old 07-25-2018, 10:55 AM   #9
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,859
Default

Very glad to see more linux stuff coming. ALSA MIDI was big one. Thanks!
__________________
It's time to take a stand against the synthesizer.
brainwreck is offline   Reply With Quote
Old 07-25-2018, 05:16 PM   #10
D Rocks
Human being with feelings
 
Join Date: Dec 2017
Location: Quebec, Canada
Posts: 550
Default

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?
__________________
Alex | www.drocksrecords.com | Thanks for REAPER
D Rocks is offline   Reply With Quote
Old 07-25-2018, 06:26 PM   #11
Soli Deo Gloria
Human being with feelings
 
Soli Deo Gloria's Avatar
 
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
Default

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!
Soli Deo Gloria is offline   Reply With Quote
Old 07-25-2018, 06:39 PM   #12
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by Soli Deo Gloria View Post
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.
Justin is offline   Reply With Quote
Old 07-26-2018, 01:15 AM   #13
Garrick
Human being with feelings
 
Garrick's Avatar
 
Join Date: Jul 2009
Location: Wellington
Posts: 4,622
Default

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
Garrick is offline   Reply With Quote
Old 07-26-2018, 03:52 AM   #14
benf
Human being with feelings
 
benf's Avatar
 
Join Date: Oct 2008
Location: France
Posts: 3,698
Default

Quote:
Originally Posted by D Rocks View Post
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.
__________________
Ma Zique
Mes Partoches
benf is offline   Reply With Quote
Old 07-26-2018, 06:54 AM   #15
Soli Deo Gloria
Human being with feelings
 
Soli Deo Gloria's Avatar
 
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
Default

Quote:
Originally Posted by Justin View Post
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!
Soli Deo Gloria is offline   Reply With Quote
Old 07-26-2018, 08:31 AM   #16
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by Soli Deo Gloria View Post
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...
Justin is offline   Reply With Quote
Old 07-26-2018, 09:53 AM   #17
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

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.
Meo-Ada Mespotine is offline   Reply With Quote
Old 07-26-2018, 11:11 AM   #18
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by mespotine View Post
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.
Justin is offline   Reply With Quote
Old 07-26-2018, 11:59 AM   #19
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

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.
Meo-Ada Mespotine is offline   Reply With Quote
Old 07-26-2018, 12:03 PM   #20
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,937
Default

Quote:
Originally Posted by Justin View Post
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 View Post
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.
cfillion is offline   Reply With Quote
Old 07-26-2018, 12:10 PM   #21
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 cfillion View Post
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?
Meo-Ada Mespotine is offline   Reply With Quote
Old 07-26-2018, 12:21 PM   #22
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by mespotine View Post
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)
Justin is offline   Reply With Quote
Old 07-26-2018, 01:35 PM   #23
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Quote:
Originally Posted by Justin View Post
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...
EvilDragon is online now   Reply With Quote
Old 07-26-2018, 03:02 PM   #24
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Quote:
Originally Posted by EvilDragon View Post
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.
nofish is offline   Reply With Quote
Old 07-26-2018, 04:19 PM   #25
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by Justin View Post
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.
juliansader is offline   Reply With Quote
Old 07-27-2018, 05:26 AM   #26
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

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....
Meo-Ada Mespotine is offline   Reply With Quote
Old 07-27-2018, 05:46 AM   #27
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,937
Default

Quote:
Originally Posted by mespotine View Post
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 View Post
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.
cfillion is offline   Reply With Quote
Old 04-09-2019, 12:33 PM   #28
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by Justin View Post
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.
juliansader is offline   Reply With Quote
Old 04-09-2019, 02:40 PM   #29
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by juliansader View Post
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?
Justin 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 02:23 AM.


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