|
|
|
09-01-2015, 07:24 PM
|
#1
|
Human being with feelings
Join Date: Dec 2009
Location: Colorado
Posts: 138
|
v5.02pre2 - September 1 2015
v5.02pre2 - September 1 2015
+ VST2: support for note off velocities
+ VST3: REAPER Extension API made available to VST3 plug-ins
# SoundTouch: support up to 64 channels
# Track manager: fixed rows drag-drop (reorder tracks)
# VST: temporarily disabled notetrackers for diagnostic purposes
|
|
|
09-01-2015, 10:07 PM
|
#2
|
Human being with feelings
Join Date: Feb 2006
Location: France
Posts: 914
|
Quote:
Originally Posted by Otto Tune
v5.02pre2 - September 1 2015
# SoundTouch: support up to 64 channels
|
Yeah ! It was fast !
Thanks.
|
|
|
09-02-2015, 02:32 AM
|
#3
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
+ VST2: support for note off velocities
Awesome!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
|
|
|
09-02-2015, 02:37 AM
|
#4
|
Mortal
Join Date: Dec 2008
Location: France
Posts: 1,969
|
Quote:
Originally Posted by Otto Tune
v5.02pre2 - September 1 2015
+ VST3: REAPER Extension API made available to VST3 plug-ins
|
This is for plug-in programmers...
Here's a basic example showing how to access REAPER Extension API functions (and extras) from a VST3 plug-in. This example uses the WDL-OL framework but that doesn't really matter, you just need the IReaperHostApplication interface, its FUID and something in those lines in your Steinberg::Vst::IPlugBase::initialize() implementation:
Code:
class IReaperHostApplication : public FUnknown // publicly-visible interface
{
public:
// Gets a REAPER Extension API function by name, returns NULL is failed
virtual void* PLUGIN_API getReaperApi(CStringA funcname) = 0;
// Gets the parent track(=1), take(=2), project(=3), fxdsp(=4), trackchan(=5)
virtual void* PLUGIN_API getReaperParent(uint32 w) = 0;
// Multi-purpose function, returns NULL if unsupported
virtual void* PLUGIN_API reaperExtended(uint32 call, void *parm1, void *parm2, void *parm3) = 0;
static const FUID iid;
};
DECLARE_CLASS_IID (IReaperHostApplication, 0x79655E36, 0x77EE4267, 0xA573FEF7, 0x4912C27C)
const ::Steinberg::FUID IReaperHostApplication::iid (IReaperHostApplication_iid);
// ^ you might need to tweak that depending on how DECLARE_CLASS_IID is #define'd in your plug-in framework
// REAPER Extension API function pointer example
int (*IsInRealTimeAudio)();
tresult PLUGIN_API IPlugVST3::initialize(FUnknown* context)
{
tresult result = SingleComponentEffect::initialize(context);
// ...
if (result == kResultTrue && context)
{
IReaperHostApplication* reaper=NULL;
if (context->queryInterface(IReaperHostApplication::iid, (void**)&reaper) == kResultTrue && reaper)
{
*((void **)&(IsInRealTimeAudio)) = reaper->getReaperApi("IsInRealTimeAudio"); // done, but always make sure IsInRealTimeAudio!=NULL before using it
reaper->release(); // <-- do not forget to release!
// if you keep a pointer around, release it in your Steinberg::Vst::IPlugBase::terminate() implementation
}
}
// ...
return result;
}
|
|
|
09-02-2015, 02:44 AM
|
#5
|
Human being with feelings
Join Date: May 2006
Location: Surrey, UK
Posts: 19,677
|
Quote:
Originally Posted by musicbynumbers
+ VST2: support for note off velocities
Awesome!
|
Can't look at the moment. How are they edited?
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
|
|
|
09-02-2015, 02:49 AM
|
#6
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
In the MIDI editor, see the list of CC lanes.
|
|
|
09-02-2015, 03:14 AM
|
#7
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by EvilDragon
In the MIDI editor, see the list of CC lanes.
|
Hey EvilDragon, you seem like the right person to ask on this
I'm I right in thinking that Reaper now supports vst3 multi note expression parameters?
So we can control each midi note individually for vst3 synths that support it?
I'm sure I saw this being noted in the last pre 5.01 but didn't have time to ask till now.
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
|
|
|
09-02-2015, 04:04 AM
|
#8
|
Human being with feelings
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
|
Quote:
Originally Posted by Otto Tune
# VST: temporarily disabled notetrackers for diagnostic purposes
|
Besides being interested in the answer to musicbynumbers´question, I´d like to know what does the disabling of "notetrackers" mean and if that may cause any temporary drawback for us, MIDI users, while it is suspended.
Thanks in advance...
|
|
|
09-02-2015, 04:04 AM
|
#9
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Nope, no note expression in Reaper yet.
|
|
|
09-02-2015, 06:03 AM
|
#10
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by EvilDragon
Nope, no note expression in Reaper yet.
|
poosticks!
thanks for replying.. the "yet" seems promising though! I'm sure it's been mentioned a lot recently somewhere around here!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
|
|
|
09-02-2015, 06:25 AM
|
#11
|
Human being with feelings
Join Date: Jun 2011
Posts: 16
|
Waves C1 Comp VST3 x64 plugin starts to work properly only after manual adding Aux outputs.
|
|
|
09-02-2015, 06:25 AM
|
#12
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Quote:
Originally Posted by Otto Tune
+ VST3: REAPER Extension API made available to VST3 plug-ins
|
After some hacking, finally got it working in a Juce based VST3 plugin :
The plugin relies on the Reaper API for lots of the functionality : the pitch/time processing, importing the selected Reaper item, reading sound files and generating the peaks data...(Not sure if/when I'd be releasing this plugin to the public...)
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
09-02-2015, 07:12 AM
|
#13
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by Xenakios
After some hacking, finally got it working in a Juce based VST3 plugin :
The plugin relies on the Reaper API for lots of the functionality : the pitch/time processing, importing the selected Reaper item, reading sound files and generating the peaks data...(Not sure if/when I'd be releasing this plugin to the public...)
|
oooh.. that looks very useful!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
|
|
|
09-02-2015, 07:59 AM
|
#14
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Quote:
Originally Posted by musicbynumbers
oooh.. that looks very useful!
|
Well, it doesn't do much else you couldn't already do by using the Reaper media item properties/processings : pitch/time processing, looping with a crossfade, reverse playback. The plugin just makes it a bit more convenient in some situations. (The plugin also has the Paul Extreme Time Stretch processing in it, but I'd need to check about the licensing hurdles whether it's possible to have that in the plugin if I publicly release it...)
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
09-02-2015, 09:06 AM
|
#15
|
Human being with feelings
Join Date: Jul 2009
Posts: 7,570
|
Sound issues with Elastique after 5.01 update. Stretch markers on grouped items and stretched grouped items are flanging.
http://youtu.be/raebX9Mlk54
|
|
|
09-02-2015, 09:11 AM
|
#16
|
Human being with feelings
Join Date: Oct 2009
Posts: 357
|
what is the sound touch
Yes, what kind of feature ? Like elastique pro for stretching ?
|
|
|
09-02-2015, 09:14 AM
|
#17
|
Human being with feelings
Join Date: Jul 2009
Posts: 7,570
|
Quote:
Originally Posted by mamazai
Yes, what kind of feature ? Like elastique pro for stretching ?
|
its one of the older algorithms. can sound cool or nasty.
|
|
|
09-02-2015, 09:19 AM
|
#18
|
Human being with feelings
Join Date: Oct 2009
Posts: 357
|
Quote:
Originally Posted by EpicSounds
its one of the older algorithms. can sound cool or nasty.
|
I was thinking for better stretch.
|
|
|
09-02-2015, 11:17 AM
|
#19
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by Xenakios
Well, it doesn't do much else you couldn't already do by using the Reaper media item properties/processings : pitch/time processing, looping with a crossfade, reverse playback. The plugin just makes it a bit more convenient in some situations. (The plugin also has the Paul Extreme Time Stretch processing in it, but I'd need to check about the licensing hurdles whether it's possible to have that in the plugin if I publicly release it...)
|
it's the extreme timestretch plus the crossfade looping and the ease of probably pulling in rate based pitch bends on the audio in the same process that's interesting!
Wish we could get paul's algo in reaper and this seems the closest we will have for now (if you're allowed to that is)
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
|
|
|
09-02-2015, 11:23 AM
|
#20
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Quote:
Originally Posted by musicbynumbers
it's the extreme timestretch plus the crossfade looping and the ease of probably pulling in rate based pitch bends on the audio in the same process that's interesting!
Wish we could get paul's algo in reaper and this seems the closest we will have for now (if you're allowed to that is)
|
I am looking into implementing the Paul stretch as an external server process which would avoid the licensing issues, but of course with a CPU hit. Anyway, this is getting off topic...
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
09-02-2015, 12:44 PM
|
#21
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by Xenakios
I am looking into implementing the Paul stretch as an external server process which would avoid the licensing issues, but of course with a CPU hit. Anyway, this is getting off topic...
|
I don't mind a CPU hit for things like this
Anyway.. end of topic.. move along people.. nothing to see here!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
|
|
|
09-02-2015, 01:10 PM
|
#22
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 4,597
|
Regarding layout api from pre1,please see this thread:
http://forum.cockos.com/showthread.php?t=165694
The new api is hard on cpu ,sws version could do a lot of more tracks than this new one (sws version 300+ tracks,native about 50-60 tracks and you can't do anything)
Last edited by Sexan; 09-02-2015 at 01:30 PM.
|
|
|
09-02-2015, 01:33 PM
|
#23
|
Mortal
Join Date: Dec 2008
Location: France
Posts: 1,969
|
Quote:
Originally Posted by Sexan
Regarding layout api from pre1,please see this thread:
http://forum.cockos.com/showthread.php?t=165694
The new api is hard on cpu ,sws version could do a lot of more tracks than this new one (sws version 300+ tracks,native about 50-60 tracks and you can't do anything)
|
If you change track layouts in a loop, you should use PreventUIRefresh(), e.g. in Lua, something like:
Code:
reaper.PreventUIRefresh(1)
for i = 0, count_tracks -1 do
-- change track layout, etc
end
reaper.PreventUIRefresh(-1)
There will be a single UI update (instead of count_tracks UI updates).
|
|
|
09-02-2015, 01:47 PM
|
#24
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 4,597
|
So I need to call it at the beginning of the function and at the end before defer?
|
|
|
09-02-2015, 08:05 PM
|
#25
|
Human being with feelings
Join Date: Mar 2011
Location: London
Posts: 1,211
|
Quote:
Originally Posted by Jeffos
If you change track layouts in a loop, you should use PreventUIRefresh(), e.g. in Lua, something like:
Code:
reaper.PreventUIRefresh(1)
for i = 0, count_tracks -1 do
-- change track layout, etc
end
reaper.PreventUIRefresh(-1)
There will be a single UI update (instead of count_tracks UI updates).
|
It doesn't seem to work... In the SWS version the new layout is called only if it's different from the current layout. Is that still the case with the new function?
|
|
|
09-03-2015, 04:32 AM
|
#26
|
Human being with feelings
Join Date: Jun 2011
Posts: 16
|
Quote:
Originally Posted by ikoliks
Waves C1 Comp VST3 x64 plugin starts to work properly only after manual adding Aux outputs.
|
The same issue in Waves SSL Comp Stereo VST3 x64.
|
|
|
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 05:10 PM.
|