Old 11-28-2008, 01:51 AM   #1
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default Alphatrack control surface plugin

Hi,

I've got an alphatrack control surface, and it's a great bit of hardware. But the reaper support was really letting it down. So I finally snapped and just wrote my own. I'm posting it here just in case anyone wants it.

It's quite specific to my workflow, but others might find it useful as well.

My idea is that the alphatrack would be like a channel strip - just working with one channel at a time. I've implemented three distinct modes, the display and rotary encoders change depending on the mode.

My usage is to start a project with a reverb send (track with reverb plugin in fx). Each new track has an instance of reaEQ with my preferred low pass, mid band, and high pass settings, and a send to the verb that's muted. I can now quickly dial in a bit of verb, and eq without having to touch the plugin dialog.

PAN:
fader1 - scrolls through tracks
fader2 - scrolls through markers. push to add marker.
fader3 - pan, push to center.

SEND:
picks up the first three sends configured for a track.
fader1,2,3 - controls send level, push to mute send.

EQ:
goes looking for ReaEQ. if it finds it, it assumes that there are 4 bands. It picks up bands 1,2 and 4 and shows the frequency on the top line and the gain on the bottom line.
fader1,2,3 - eq gain. Push and turn for freq adjust. Click sets gain to 0.

This mode also hijacks the function keys to control individual eq bands. F1 controls eq band 1, etc. press the band again or the EQ button to go back to default mode.
fader 1 - freq
fader 2 - gain
fader 3 - Q

The touch-strip now scrolls with 1 finger, and zooms with 2 fingers. The scroll goes real bad with scrub mode, so you'd have to turn it off.

The zoom mode works as follows:
hold left finger and move right finger to right - zoom out
hold right finger on far right and move other finger to left - zoom in.

I've pretty much broken the flip mode, I never used it so i didn't bother to get it working properly.

I've done minimal testing, this plugin could do anything up to and including destroying your life. But for all i know, it might even work.


Cheers,

Peter.
Attached Files
File Type: zip reaper_csurf.zip (37.3 KB, 546 views)
File Type: zip csurf_alphatrack_src.zip (11.3 KB, 536 views)
peterrabbit is offline   Reply With Quote
Old 12-30-2008, 01:20 PM   #2
auricle
Human being with feelings
 
Join Date: Dec 2008
Posts: 22
Default

Thanks Peter.

Unfortunately, it does not seem to work with the 2.99 alpha version. If I go to preferences and try to select a control surface, the list is empty.
auricle is offline   Reply With Quote
Old 12-31-2008, 01:12 AM   #3
hilluck
Human being with feelings
 
Join Date: Sep 2007
Posts: 46
Default Alphatrack support

Peter
I agree that there should be more integration with Reaper - hopefully Justin and team can weave some magic on the new code. Well done with your own attempt at improved functionality.
Cheers
hilluck is offline   Reply With Quote
Old 12-31-2008, 09:21 AM   #4
Frizzo
Human being with feelings
 
Frizzo's Avatar
 
Join Date: Nov 2008
Location: at work
Posts: 21
Default

works great here! thx a lot, really!
made my life a little sweeter ;-)
Frizzo is offline   Reply With Quote
Old 12-31-2008, 04:00 PM   #5
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default

Thanks for the feedback, I was starting to think no-one cared

I'm still working with the stable branch of reaper, and I'll probably stick with that until 3 goes stable. Otherwise I have to work out whether it's my code, the api interface, or reaper itself that has the problem.

If you have any ideas to make it better (obviously auricle's suggestion would be "make it work") then feel free to share them. I can't promise i'll do anything - I really should spend more time writing songs than c++ code - but anything that makes me think "yeah, i want that too" will probably get done.

Cheers,

Peter.
peterrabbit is offline   Reply With Quote
Old 01-04-2009, 01:08 PM   #6
auricle
Human being with feelings
 
Join Date: Dec 2008
Posts: 22
Default

I just installed the 2.5.4 version of Reaper and this plugin still doesn't work.

Can anyone tell me how to install this plugin properly? I've just moved the original reaper_csurf.dll and replaced it with Peter's. Is that right?
auricle is offline   Reply With Quote
Old 01-04-2009, 04:21 PM   #7
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default

Hi auricle,

Swapping the dlls is the correct way to install it, so there shouldn't have been any problem. Was your alphatrack working correctly before swapping the dlls?

Hopefully it's not some library from visual studio that needs to be distributed with the dll. Maybe Frizzo could help, as he's got it to work.

I'll try to install it on my laptop that doesn't have visual studio installed and see how it goes for me.

Cheers,

Peter.
peterrabbit is offline   Reply With Quote
Old 01-05-2009, 01:28 AM   #8
auricle
Human being with feelings
 
Join Date: Dec 2008
Posts: 22
Default

Quote:
Originally Posted by peterrabbit View Post
Hi auricle,

Swapping the dlls is the correct way to install it, so there shouldn't have been any problem. Was your alphatrack working correctly before swapping the dlls?

Hopefully it's not some library from visual studio that needs to be distributed with the dll. Maybe Frizzo could help, as he's got it to work.

I'll try to install it on my laptop that doesn't have visual studio installed and see how it goes for me.

Cheers,

Peter.
Hi Peter,

Yes, everything was working fine with the factory .dll and the Alphatrack works fine with Cubase and Live.

When I substitute the factory dll with yours, the drop-down list that selects the control surface to use is empty.
auricle is offline   Reply With Quote
Old 01-05-2009, 02:40 AM   #9
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default

Hi auricle,

Unfortunately it worked fine on my laptop. To install I downloaded the alphatrack driver from frontier, then downloaded reaper from cockos, then downloaded the dll from this thread. It all worked.

But I found this in another thread with some info:
http://forum.cockos.com/showthread.php?t=25455

Quote:
Originally Posted by sws View Post
Klinke, are you compiling with /MD instead of /MT? Check your build properties under C++/Code generation/Runtime Library; make sure it's set to "Multi-threaded (/MT)". Deric had this problem before and that was the fix.
So I've rebuilt it with that option. It doubled in size for some reason, but hopefully it works.

Cheers,

Peter.
Attached Files
File Type: zip reaper_csurf.zip (97.0 KB, 357 views)
peterrabbit is offline   Reply With Quote
Old 01-06-2009, 02:41 PM   #10
auricle
Human being with feelings
 
Join Date: Dec 2008
Posts: 22
Default

Hi Peter,

Thank you kindly for doing this but unfortunately, I still have the same problem. Perhaps there is a library that you have and I don't (just a wild guess). I can't think what else the problem could be. I've tried on a Windows XP SP3 and a Vista 64 SP1 machine both with the stable 2.5.4 and 2.99 release 8 versions.
auricle is offline   Reply With Quote
Old 01-06-2009, 05:37 PM   #11
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default

Hi auricle,

I think you might be right. My two pcs are XP SP3 - but with visual studio installed, and XP SP2, reasonably clean. I've not set any compilation options for 64 bit, so I wouldn't be surprised if that didn't work, but XP should (I presume you're not using XP 64 bit).

I'll do some more research and see if I can dig up any more answers.
peterrabbit is offline   Reply With Quote
Old 01-06-2009, 11:53 PM   #12
robg
Human being with feelings
 
Join Date: Sep 2007
Location: Paso Robles, CA
Posts: 305
Default dwmapi.dll ?

Hi, guys -

peter - I ran depends.exe, and it shows a dependency on dwmapi.dll which isn't on my system, which is XP (32bit) Pro, w/ Visual Studio 2008. I'm guessing this is the problem.

The full dependency tree is reaper_csurf.dll\winmm.dll\advapi32.dll\secur32.dl l\netapi32.dll\dnsapi.dll\iphlpapi.dll\mprapi.dll\ setupapi.dll\shell32.dll\shdocvw.dll\mshtml.dll\ie frame.dll\dwmapi.dll.

Did you maybe accidentally reference the mshtml activex control when you compiled? Or maybe you're using the IE rendering engine for something (though I can't think of what - no gui, right?)

It's been a long day so I can't think why else mshtml.dll would need to be a dependency - maybe I'll be fresher tomorrow.

Last edited by robg; 01-07-2009 at 09:43 AM.
robg is offline   Reply With Quote
Old 01-07-2009, 05:42 PM   #13
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default

Hi robg,

Thanks for looking into this, you're right, there's no gui. To compile the project with visual studio 2008, I had to link against winmm.lib to satisify the timeGetTime call. That seems to be the root of this dependency branch.

Interestingly, when I ran depends.exe (great program, btw), it didn't list the ...\ie frame.dll\dwmapi.dll part of the dependency on my system.

I can't see any reason that it would include mshtml, it's just an empty dll project with the sdk .cpp files added to it. But I'm new to visual studio, so there could be stuff going on that I'm not aware of.

Cheers,

Peter.
peterrabbit is offline   Reply With Quote
Old 01-08-2009, 03:13 AM   #14
auricle
Human being with feelings
 
Join Date: Dec 2008
Posts: 22
Default

Thanks for looking into this, guys. I really want to use your plugin Peter - let's hope I can one day
auricle is offline   Reply With Quote
Old 01-09-2009, 07:55 PM   #15
robg
Human being with feelings
 
Join Date: Sep 2007
Location: Paso Robles, CA
Posts: 305
Default

Can you zip & post or PM me the VS project file(s)?
robg is offline   Reply With Quote
Old 01-12-2009, 03:43 AM   #16
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default

Here's the project file. I've deleted all the built files, let me know if you need them.

I've also included the reaper sdk tree, as I've just been adding these files to my project and you'll probably need the tree as is.

The directory structure is:
Code:
\Visual Studio 2008
   \Projects
       \reaper_csurf

   \reaper
       \jmde
Attached Files
File Type: zip reaper_csurf.zip (8.0 KB, 343 views)
File Type: zip reaper.zip (295.4 KB, 365 views)
peterrabbit is offline   Reply With Quote
Old 01-12-2009, 04:08 AM   #17
hereander
Human being with feelings
 
Join Date: Mar 2008
Posts: 100
Default

Hi!
I just came back to a csurf plugin that i was working on some time ago. I took the latest sdk and made some small changes. The plugin also does not show up in reaper 2.99. Is it currently not possible to make plugins for 2.99?
hereander is offline   Reply With Quote
Old 01-12-2009, 10:49 AM   #18
mxb
Human being with feelings
 
Join Date: Oct 2008
Posts: 7
Default Thanks!

First of all Peter, thanks for making this. I find it so much easier.

Secondly, to those of you who have Reaper crash. I've found that if I setup the control surface before exchanging the dll files it doesn't crash, but if I try to add it after the swap it crashes. Could this be worth trying?

Thirdly, a feature request!

Could you make the plug-in button (the one after eq) revert to the 'old style' of parameter modification (one rotary to select the parameter, another to change the value) -- either across all fx or all except eq. This would enable those of us who use VST instruments to easily access the values. I don't foresee an issue with adding back in the old code to reinsert this functionality?

Thanks for the good work!
Martin
mxb is offline   Reply With Quote
Old 01-23-2009, 09:33 PM   #19
robg
Human being with feelings
 
Join Date: Sep 2007
Location: Paso Robles, CA
Posts: 305
Default

Hi, guys -

Sorry I forgot about this thread !

Does anyone still need me to try recompiling this to resolve the missing dependency issue?
robg is offline   Reply With Quote
Old 02-01-2009, 11:39 PM   #20
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default

Hi robg,

I'd be interested in you recompiling this, just so you could explain to me how to build it without the dependencies. If it's not too much trouble.

Cheers,

Peter.
peterrabbit is offline   Reply With Quote
Old 02-02-2009, 11:06 AM   #21
tonyuser
Human being with feelings
 
Join Date: Feb 2009
Posts: 15
Default good work

hi Peter,

excellent work, your coding transforms my work flow using the alphatrack,

but i do have to agree with MXB that it would be great if the FX button worked the same as before.

Any chance of you having a look at that?

Many thanks

TONY
tonyuser is offline   Reply With Quote
Old 02-03-2009, 04:18 AM   #22
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default

Hi guys,

I've put the old style fx control on the plugin button. I had big ideas for that button; I was going to have it control reaper's compression, gating and delay (which is about all the fx that I use). But this is a good interim step, and seeing as you guys are using this feature, i'll make sure i leave it there somewhere if I change the controls.

I've also included the new source code if you're into that sort of thing.

Cheers,

Peter.
Attached Files
File Type: zip reaper_csurf.zip (50.1 KB, 343 views)
peterrabbit is offline   Reply With Quote
Old 02-03-2009, 11:37 AM   #23
tonyuser
Human being with feelings
 
Join Date: Feb 2009
Posts: 15
Default new csurf not working??

hi Peter,

thanks for the quick response, but i can't seem to get reaper to recognise my alphatrack with your latest update, i tried reinstalling the old version and that worked fine, but no such luck with the new one.

Any ideas?


many thanks

TONY
tonyuser is offline   Reply With Quote
Old 02-03-2009, 12:34 PM   #24
mxb
Human being with feelings
 
Join Date: Oct 2008
Posts: 7
Default

I have the same problem as Tony.

Cannot find the alphatrack and no devices defined if trying to add a new control surface.

Martin
mxb is offline   Reply With Quote
Old 02-03-2009, 09:26 PM   #25
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default

Hi Martin and Tony,

Sorry about that, it worked on my system. Are you still running V2.xx? I haven't tried this in any of the V3 alphas. I'll try to work out what's going on.

Peter.
peterrabbit is offline   Reply With Quote
Old 02-03-2009, 11:56 PM   #26
tonyuser
Human being with feelings
 
Join Date: Feb 2009
Posts: 15
Default

hi Peter,


yeah i'm running v2.55 on XP sp3, I don't know if its related, but the previous version of the plugin that worked for me was the about 190kb and I've noticed that the new version is only about 80kb. I don't know if this is of any importance.

Once again many thanks


Tony
tonyuser is offline   Reply With Quote
Old 02-14-2009, 05:01 AM   #27
tonyuser
Human being with feelings
 
Join Date: Feb 2009
Posts: 15
Default

hey Peter

have you had any luck recopmpiling this?


many thanks

TONY
tonyuser is offline   Reply With Quote
Old 03-04-2009, 04:17 AM   #28
mxb
Human being with feelings
 
Join Date: Oct 2008
Posts: 7
Default

Hi all,

Since Peter has not been around for a while I've dug my Visual C++ discs out of storage and recompiled the latest source code.

This appears to work for my with both version 2.55 and 2.56.

Hope this works for everyone else too.

Martin
Attached Files
File Type: zip reaper_csurf.zip (41.7 KB, 302 views)
mxb is offline   Reply With Quote
Old 03-04-2009, 06:43 AM   #29
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default

Hi Martin,

Thanks for doing that. I tried it out, and it worked fine here.

What version of visual studio are you using? I'm suspecting that it's something to do with visual studio 2009. A dll so simple shouldn't be requiring all these dependencies.

Sorry I haven't been able to do more on this, I've been pretty busy.

Hope it works for all you guys having problems.

Cheers,

Peter.
peterrabbit is offline   Reply With Quote
Old 03-04-2009, 07:35 AM   #30
mxb
Human being with feelings
 
Join Date: Oct 2008
Posts: 7
Default

Hi Peter,

The recompilation was performed with my old Visual C++ 6 (hence the need to get it out of storage).

It does sound a little strange that your compile didn't work though. If I get chance I might have a go at disassembling them to identify any major differences.

Again, thanks for your work on this.

Martin
mxb is offline   Reply With Quote
Old 03-04-2009, 10:51 AM   #31
tonyuser
Human being with feelings
 
Join Date: Feb 2009
Posts: 15
Default thanks

cheers to both of you for all the effort, it works fine now... This is how eaper should have implemented alphatrack from the start


once again thanks

Tony
tonyuser is offline   Reply With Quote
Old 03-19-2009, 03:54 AM   #32
wallace
Human being with feelings
 
Join Date: Jan 2009
Location: UK
Posts: 594
Default

Quote:
Originally Posted by tonyuser View Post
cheers to both of you for all the effort, it works fine now... This is how eaper should have implemented alphatrack from the start


once again thanks

Tony
+1 finding this much more intuitive than the previous version.
wallace is offline   Reply With Quote
Old 05-23-2009, 03:00 AM   #33
wallace
Human being with feelings
 
Join Date: Jan 2009
Location: UK
Posts: 594
Default No worky in V3

Just tried this in V3.00 and it doesn't come up in the control surfaces options.
I'm going to miss this!

The Reaper supplied alphatrack option does but it's just not as intuitive IMO.
wallace is offline   Reply With Quote
Old 05-24-2009, 05:59 AM   #34
Frizzo
Human being with feelings
 
Frizzo's Avatar
 
Join Date: Nov 2008
Location: at work
Posts: 21
Default

missing it, too
Frizzo is offline   Reply With Quote
Old 05-24-2009, 09:20 PM   #35
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default Time to dust off the old compiler...

Hi,

Glad to hear that my plugin is getting some use here. I'll try to work out why it isn't coming up in v3.

Cheers,

Peter.
peterrabbit is offline   Reply With Quote
Old 05-25-2009, 04:46 AM   #36
Klinke
Human being with feelings
 
Klinke's Avatar
 
Join Date: Jul 2008
Location: Berlin / Germany
Posts: 832
Default

I had the same problem with my MCU modification, so maybe this thread can help you:

http://forum.cockos.com/showthread.php?t=33185
Klinke is offline   Reply With Quote
Old 05-28-2009, 03:39 AM   #37
peterrabbit
Human being with feelings
 
Join Date: Apr 2007
Posts: 25
Default

That was exactly the problem. Thanks for the tip.

Here is a rebuild with the new function call. I haven't tested this with version 1&2, but i would assume that it doesn't work with them.

Let me know if this works for you.
Attached Files
File Type: zip reaper_csurf_v3.zip (38.1 KB, 354 views)
peterrabbit is offline   Reply With Quote
Old 05-28-2009, 05:15 AM   #38
wallace
Human being with feelings
 
Join Date: Jan 2009
Location: UK
Posts: 594
Default

Wow! Thanks for the fast update Peterrabbit.
I'm away from the studio for a few days so hopefully Frizzo can give some feedback.

Thanks again.
wallace is offline   Reply With Quote
Old 06-06-2009, 01:51 AM   #39
wallace
Human being with feelings
 
Join Date: Jan 2009
Location: UK
Posts: 594
Default

Tried this and I'm getting crashes on starting Reaper.
Replace it with the original (reaper csurf) and everything works again (but without your Alphatrack tweeks )

More info: When I insert the amended alphatrack plugin I don't get the dropdown assign midi box like I used to and it's at that point that it hangs.

Last edited by wallace; 06-06-2009 at 03:58 AM.
wallace is offline   Reply With Quote
Old 06-07-2009, 10:50 AM   #40
tonyuser
Human being with feelings
 
Join Date: Feb 2009
Posts: 15
Default alphatrack & reaper 3

update works great for me.. thanks for the update
tonyuser 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 01:01 PM.


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