|
|
|
03-23-2010, 07:30 AM
|
#1
|
Human being with feelings
Join Date: Sep 2009
Posts: 262
|
Fancy an envelope LFO generator?
So I've been working on this little toy lately...
Check out the "PADRE: Generate LFO in Time Selection for Selected Envelope" action and tell me what you think! Couple of bugs here and there I suppose but nothing too dangerous. This action is "object state"-based so be careful.
Source code coming soon if anyone's interested (damn I should wake up and join the SWS svn/google server!)
|
|
|
03-23-2010, 10:29 AM
|
#2
|
Human being with feelings
Join Date: Jul 2009
Posts: 121
|
Really great idea Padre, thanks a lot for your work!
Does it work for item envelopes (vol,pan,mute)as well? I`d def. use it for that purpose but cant get it here......is it me or?
Keep it on
|
|
|
03-23-2010, 10:40 AM
|
#3
|
Code Monkey
Join Date: Sep 2007
Location: Madison, WI
Posts: 857
|
Quote:
Originally Posted by Padre_PC
Source code coming soon if anyone's interested (damn I should wake up and join the SWS svn/google server!)
|
Yes, you should! PM me your google login and I'll add you as a developer.
|
|
|
03-23-2010, 10:47 AM
|
#4
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
YEAH!!
Tim's putting together a new "A-TEAM" lol
the only thing is the one who hasn't joined yet has the best "A-TEAM" name..
..FINGERS!!!!
|
|
|
03-23-2010, 10:47 AM
|
#5
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Forgot to say!
YES PADRE!!!
this sounds great! will try it soon!
|
|
|
03-23-2010, 11:49 AM
|
#6
|
Human being with feelings
Join Date: Dec 2007
Location: In church, burning it down
Posts: 1,345
|
Completely kick ass and more proof we need automation items so badly
Brilliant stuff Padre
NAS
__________________
Not Gods or Saints but HUMAN be
|
|
|
03-23-2010, 01:40 PM
|
#7
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Just tried it and it works nice so far, very accurate even at 128
You really should join the guys, the knowledge between the 3 of you is awe inspiring and would surely come up with some very very useful things (on top of all we have already been given!)
|
|
|
03-23-2010, 04:33 PM
|
#8
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Excellent! This is something I've been wanting for Reaper for some time, and I never found the energy to do it properly myself. I greatly prefer generating automation shapes in this way over the overly complicated realtime parameter modulation system in Reaper...
There seems to be something funky happening with undo/redo but I am sure that can be sorted out if you release your source code...
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
03-23-2010, 05:21 PM
|
#9
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
I can confirm the funky undo thing, seems to miss steps sometimes, I got this with finger's extension too but not all the time.
Is it something inherent in the extension access.
|
|
|
03-24-2010, 12:37 AM
|
#10
|
Human being with feelings
Join Date: Sep 2009
Posts: 262
|
Thanks for the feedback guys, I appreciate it.
The plugin still needs some tweaking here and there: proper undo, timing (end of time selection points not removed or not added), new shapes, etc.
@denmla: you mean the same action but within item start/end positions instead of time selection? Can be done. I had a similar idea for MIDI items too (CC envelopes).
@Tim: I don't have a Google Code login at this time. I (svn-)checked out the SWS project but it wouldn't compile out of the box with my Visual Studio 2008 Express setup: stdafx.h missing and stuff like that. I'm pretty sure installing the Windows Platform SDK would fix this but for some reason I'm allergic to its installation (remember I'm a MinGw/GCC guy!) Well, I guess in the end I will probably install the damn thing...
@musicbynumbers: glad you like it. Now wait for the latest Automap Csurf build: I've added an "increase/decrease Bezier tension" encoder. Works nicely with new Bezier triangle/square/saw envelope shapes I've added yesterday: you can use the encoder to deform the waveforms!
|
|
|
03-24-2010, 04:29 AM
|
#11
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Very very cool padre!
Would this system be able to be converted to work on midi notes for weird arpeggios? not that i use arps just thought it was a cool idea! Lol
|
|
|
03-24-2010, 04:40 AM
|
#12
|
Human being with feelings
Join Date: Mar 2007
Location: Wollongong, Australia
Posts: 139
|
Amazing!
Really smooth implementation. I've been wanting to play around with something like this for a while.
Thanks for the effort!
-Pembo.
|
|
|
03-24-2010, 06:22 AM
|
#13
|
Human being with feelings
Join Date: Jul 2009
Posts: 121
|
Quote:
Originally Posted by Padre_PC
Thanks for the feedback guys, I appreciate it.
The plugin still needs some tweaking here and there: proper undo, timing (end of time selection points not removed or not added), new shapes, etc.
@denmla: you mean the same action but within item start/end positions instead of time selection? Can be done. I had a similar idea for MIDI items too (CC envelopes).
|
Yeah, kind of....basically I`d like to be able to write an envelope for an item within time selection (or whole item anyways..)
Think of it as: I wanna make gate effect on thid pad in this time selection not using full lane but jut item env.
cheers
|
|
|
03-24-2010, 11:45 AM
|
#14
|
Human being with feelings
Join Date: Dec 2007
Location: In church, burning it down
Posts: 1,345
|
Quote:
Originally Posted by Padre_PC
new Bezier triangle/square/saw envelope shapes I've added yesterday
|
OMFG
Padre any chance you can do the same thing with item vol env please
Then it can be used with THIS
Cheers
NAS
__________________
Not Gods or Saints but HUMAN be
|
|
|
03-24-2010, 04:10 PM
|
#15
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by NAS
OMFG
Padre any chance you can do the same thing with item vol env please
Then it can be used with THIS
Cheers
NAS
|
That would be very cool too!
|
|
|
03-24-2010, 04:51 PM
|
#16
|
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
Yeah, that would be a perfect fit .
In the meantime we can generate the curves on a track envelope and copy/paste them onto a take volume envelope
And we should also beg fingers to make his awesome track envelope actions work on take envelopes. I love his compress and tilt actions.
No problems so far with your curve generator. Had a cool automation playday today, thanks NAS and Padre.
|
|
|
03-24-2010, 07:57 PM
|
#17
|
Human being with feelings
Join Date: Dec 2009
Location: Wellington, NZ
Posts: 300
|
Quote:
Originally Posted by gofer
Yeah, that would be a perfect fit .
In the meantime we can generate the curves on a track envelope and copy/paste them onto a take volume envelope
And we should also beg fingers to make his awesome track envelope actions work on take envelopes. I love his compress and tilt actions.
No problems so far with your curve generator. Had a cool automation playday today, thanks NAS and Padre.
|
Shouldn't be too hard to get them working with take envelopes. There is a function in the API GetTakeEnvelopeByName which hopefully returns the same format data as track envelopes. It wouldn't be too hard to detect whether you have a track or take envelope selected.
I'm keen to try this extension when I get back home. Also Padre, I am not sure if this url helps in any way, I updated it when I worked on my envelope functions. You may have things to add or have missed some things. http://www1.cockos.com/wiki/index.ph...tEnvelopeState
|
|
|
03-25-2010, 12:12 AM
|
#18
|
Human being with feelings
Join Date: Sep 2009
Posts: 262
|
I'll try to take a look at the item env thing. At this time I'm trying to get the delay work the way it should. Also I've been struggling with the undo thingie yesterday, it's still buggy.
@fingers: sure I know about the GetSetEnvelopeState() wiki! Saved me a lot of time, thank you for that! I've been using GetSetObjectState() though (saves me the blind alloc with 'int maxlen')
|
|
|
03-25-2010, 06:14 AM
|
#19
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Quote:
Originally Posted by Padre_PC
Also I've been struggling with the undo thingie yesterday, it's still buggy.
|
How are you currently doing the undo? I don't remember myself having any particular problems with it when coding extensions, it was relatively straight forward to make work mostly correctly.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
03-26-2010, 12:22 AM
|
#20
|
Human being with feelings
Join Date: Sep 2009
Posts: 262
|
Quote:
Originally Posted by Xenakios
How are you currently doing the undo?
|
Well in the currently posted version I simply don't, so obviously it won't work. Now I'm using Undo_OnStateChangeEx(*, UNDO_STATE_ALL, -1) combined with an undo block (I'm triggering actions in the process). It works but I've noticed a few bugs when generating LFOs, undoing, regenerating and re-undoing: at one point for some reason it just removes the envelope.
Well... just a quick test anyway. I'll investigate later! Item envelopes: on their way!
|
|
|
03-26-2010, 11:16 AM
|
#21
|
Human being with feelings
Join Date: Sep 2009
Posts: 262
|
New version with proper delay, Bezier shapes, Item and MIDI CC envelopes. Didn't spend much time on the undo question... I have to make music too!
|
|
|
03-26-2010, 11:23 AM
|
#22
|
Mortal
Join Date: Dec 2008
Location: France
Posts: 1,969
|
hi padre! got to give it a try!
undo: I also saw such weirdities. I think you should try Undo_OnStateChangeEx or a block but not a mix of both (so if you trigger actions surround the whole stuff with Undo_BeginBlock/Undo_EndBlock)
sws os: padre.. c'mon.. VS 08 express here too.. no issue.. I can help..
|
|
|
03-26-2010, 11:54 AM
|
#23
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Thanks Padre! will try it
when you and fingers going to get on in the sws "a-team" van and kick some ass! lol
or are you like "I ain't going in no plane"
|
|
|
03-26-2010, 12:24 PM
|
#24
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Reporting in..
Just tried it on win 7 64 bit BUT with reaper 32bit. most works great here's what went weird on me
-some of the quantizes don't seem to work (mostly the triplet settings, they seem to get longer rather than shorter as you go up)
-item based stuff didn't work on mine but midi did (could be a win 7 thing)
-env based always had a delay in it at the beginning of one cycle (guess this is to make merging with current automation cleaner)
these can wait.. get some music done!
|
|
|
03-27-2010, 01:55 AM
|
#25
|
Human being with feelings
Join Date: Jul 2009
Posts: 121
|
Thanks for item envelope LFOs Padre!
@musicbynumbers, it works but you firstly have to add item envelope you want to use
|
|
|
03-27-2010, 02:02 AM
|
#26
|
Human being with feelings
Join Date: Sep 2009
Posts: 262
|
Quick news:
- Svn-checked out the last version of sws. Problem was not 'stdafx.h' but 'afxres.h' related, my mistake. Managed to retrieve the damn file... now works like a charm, no need to install the WinSDK!
- Added my code to the project (locally). TODO: register to GoogleCode, get write permissions from Tim, commit the finest "SWS/PADRE" actions ASAP!
- Triplet issues: fixed
@musicbynumbers: got out, got my cap, and got my brown-leather pilot jacket! Now flying both over the cuckoo's and cockos' nest
|
|
|
03-27-2010, 02:07 AM
|
#27
|
Mortal
Join Date: Dec 2008
Location: France
Posts: 1,969
|
yeah!! welcome padre!
hope I didn't bug you: it's just that I have some ideas around your midi processor code and that will be easiest now (licensing, etc..)
|
|
|
03-27-2010, 03:11 AM
|
#28
|
Moderator
Join Date: Aug 2007
Location: Caracas, Venezuela
Posts: 8,676
|
Whoa!!!!!!!!!!! How did I miss this awesomeness?!
Thanks PADRE_PC!!!!
__________________
Pressure is what turns coal into diamonds - Michael a.k.a. Runaway
|
|
|
03-27-2010, 03:25 AM
|
#29
|
Human being with feelings
Join Date: Dec 2007
Location: In church, burning it down
Posts: 1,345
|
Great work
Any chance of a bezier Sine ?
That would be awesome
Managed to crash it but probably not a situation you had catered for
If i apply MIDI generator (CC)
Then apply Audio generator to same MIDI item (Vol env) i can get iot to crash
Interesting to note that if you don't use the MIDI generator first that audio genertaor works fine on MIDI items
NAS
__________________
Not Gods or Saints but HUMAN be
|
|
|
03-27-2010, 03:59 AM
|
#30
|
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
Cool, CC LFO as well, that's amazing.
Take audio envelopes have a little offset problem:
- they are inserted properly when the item starts as 1.1.00.
- When item starts at measure 2, the envelope will be inserted starting at measure 3.
- When item starts at measure 3, the envelope will start at measure 5. And so forth.
=>
The offset seems to be the same length as the time from start of project to item start.
I had a "Reaper encountered a problem" at one point, didn't undo, but have done a lot of deleting and generating take audio envelopes. Try to get more info if it happens again.
Many thanks for your efforts.
|
|
|
03-27-2010, 05:52 AM
|
#31
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by Padre_PC
Quick news:
- Svn-checked out the last version of sws. Problem was not 'stdafx.h' but 'afxres.h' related, my mistake. Managed to retrieve the damn file... now works like a charm, no need to install the WinSDK!
- Added my code to the project (locally). TODO: register to GoogleCode, get write permissions from Tim, commit the finest "SWS/PADRE" actions ASAP!
- Triplet issues: fixed
@musicbynumbers: got out, got my cap, and got my brown-leather pilot jacket! Now flying both over the cuckoo's and cockos' nest
|
Now just got to get you guys your own theme tune!!
|
|
|
03-28-2010, 06:29 AM
|
#32
|
Human being with feelings
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
|
Padre / anybody, whenever possible, please also try to compile a version for Reaper on OS X. Of course I'm willing to try and help out to do so myself, too (I'm not much of a coder at all, but I do have the OS X SDK stuff installed such as GCC, Xcode).
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
|
|
|
03-28-2010, 08:06 AM
|
#33
|
Human being with feelings
Join Date: Jun 2009
Posts: 2,565
|
WOW! just discovered this now.
Exciting stuff.
I came a bit late to the extension party but im so glad i bothered to turn up.
You guys should be working for Cockos so all this awesomeness gets installed native!
DL and will give it a crack >>>
Cheers Padre_PC, so too SWS Xenakios Jeffos NAS Fingers and anyone else who has helped make a few things easier, opened up ways of working thats made a few things harder...then easier and for installing more faith into me and my relationship with REAPER as being the most potentially amazing DAW that i need ever work with, regardless of any shortcomings now, the talent and direction inherit within these forums is insane.
|
|
|
03-28-2010, 11:54 PM
|
#34
|
Human being with feelings
Join Date: Sep 2009
Posts: 262
|
1- Commited to sws this morning!
2- Forgot to comment my commit log!
3- I've got the feeling that Jeffos will be going after me for that one!
@NAS:
Bezier sine: I've edited the sinewave properties before committing to sws. It is based on Bezier points now. Not sure about precision vs CPU ratio (I guess Bezier curves are more CPU consuming than linear?)
MIDI then Audio crash: I can't reproduce. Can you wait for the next sws and tell me if the crash still occurs?
@gofer:
Offset problem: shameful bug on my side. Fixed in sws version.
@Banned: I can't build an OSX version myself but the actions will be in the next sws extension version so you're all set!
|
|
|
03-29-2010, 09:56 AM
|
#35
|
Code Monkey
Join Date: Sep 2007
Location: Madison, WI
Posts: 857
|
Thanks so much Padre, your stuff is now merged as of v1.7.0 #1.
|
|
|
03-29-2010, 10:15 AM
|
#36
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
You people are all crazy!
I love you guys In the most platonic way, of course!
|
|
|
03-29-2010, 10:51 AM
|
#37
|
Moderator
Join Date: Aug 2007
Location: Caracas, Venezuela
Posts: 8,676
|
Hello Padre. Thanks again for your effort, this LFO Generator is time saver
I'm having a hard time trying to figure out how to preserve my previous and next envelope shapes/points. When I generate an LFO the points/shapes before the time selection and after it are modified too. Is there a way to preserve them?
Before:
After:
Expected:
__________________
Pressure is what turns coal into diamonds - Michael a.k.a. Runaway
|
|
|
03-29-2010, 10:54 PM
|
#38
|
Human being with feelings
Join Date: Sep 2009
Posts: 262
|
The start/stop init value question is still open. At this time I use values of the LFO carrier. Obviously using current envelope values would a natural choice. I'll try to figure out something with the "generate 4 points envelope" action.
In the meantime, maybe this problem can be solved with a macro and time selection actions? ("nudge left edge right/left", etc)
BTW people don't forget to combine the LFO gen with "increase/decrease Bezier tension" actions: lots of fun!
|
|
|
03-29-2010, 11:42 PM
|
#39
|
Moderator
Join Date: Aug 2007
Location: Caracas, Venezuela
Posts: 8,676
|
Quote:
Originally Posted by Padre_PC
The start/stop init value question is still open. At this time I use values of the LFO carrier. Obviously using current envelope values would a natural choice. I'll try to figure out something with the "generate 4 points envelope" action.
In the meantime, maybe this problem can be solved with a macro and time selection actions? ("nudge left edge right/left", etc)
BTW people don't forget to combine the LFO gen with "increase/decrease Bezier tension" actions: lots of fun!
|
Thanks for your response Padre.
I tried using the action to generate 4 points but it didn't work. I also tried the nudge left/right edge left/right actions but it didn't work either. Like you said it should use the current envelope value, it makes sense.
__________________
Pressure is what turns coal into diamonds - Michael a.k.a. Runaway
|
|
|
03-30-2010, 01:18 AM
|
#40
|
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
Quote:
Originally Posted by Padre_PC
BTW people don't forget to combine the LFO gen with "increase/decrease Bezier tension" actions: lots of fun!
|
Also finger's 'shift selected envelope points...' are cool complementary actions to be used with the lfo generator. Magic.
|
|
|
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:02 PM.
|