Cabbage Logo
Back to Cabbage Site

Roli Seaboard MPE with Cabbage

No, I had read this. I meant it is promising as the unfixed beta version exhibits problems but the one with your recent fixes does not.
How about something in the key of Lee Majors?

You mean all Cabbage plugin synths are broken for you in Reaper at the moment or just the ones that use some kind of aftertouch? To be honest, that may have been broken for some timeā€¦

Yes, any Cabbage synth that receives aftertouch often misses note offs. Itā€™s quite possible that the issue has been around for a while and @Karamel1 did report problems with stuck notes in September, although Cabbage 1 seemed okay. I imagine that aftertouch has been rarely used (until recently) but itā€™s good to get it dealt with.

This is fantastic! Itā€™s great that the Seaboard is finding these issues, as they could have cropped up in future as mysterious problems!

Also moving forward I think Aftertouch will become much more actively used in controllers. (Itā€™s a pity it has taken manufacturers this long to use it to its full advantage)

Hi guys. there is a new beta here. Note that Iā€™m currently doing some work on the GUI editor so if you tend to use that a bit you may notice some irregularities. Iā€™m also updating the manual at the moment. Iā€™ll upload the latest once I have made some progress.

Donā€™t forget that this version uses nslider en lieu or numberbox. Iā€™ve updated all of Iainā€™s examples, but you may need to update your own. Let me know how it works for you.

Also heads up --aft-zero is a new flag implemented by jpff! Super!

@alcomposer Yes, thanks for pushing that forward Alex.
@rorywalsh The new build is no longer missing note offs for me. I havenā€™t tested it extensively but so far so good. The only thing I spotted are that my Windmills are missing their sails. I suspect this is the dreaded macros again.

I think its so good to have this fixed (after touch init 0). I just canā€™t work out why it was like that in the first place? Or changed in 2002? I imagine it was for a good reason, and it would be good to know what that reason was?

Wish I knew the code base better to make the simple change, my version was a bit silly- sticking the variable in oparms!

It does look like we will get this into 6.10 however which is great.

Thanks for doing this too. Looks like John integrated your changes, although not through the PR. But I still think PRs are the best way to get their attention :wink:

Maybe of topic, but I check on csound Dev list and it seems that 6.10 is not really ready. Do you think that we can expect new stable version of csound (and therefore of Cabbage) by the end of this week?

The current windows version of Csound should be stable enough so long as you either donā€™t install or simply remove the vst opcodes. If you are still experiencing quite a few crashes, I hate to say, but itā€™s most likely Cabbage.

Iā€™m afraid that there are more problems with Cabbageā€™s handling of aftertouch on OSX.

@alcomposer drew this to my attention with this demonstration:


Cabbage output on the left, MIDI Monitor in the middle and Terminal Csound on the right.

I did my own test here:


This time comparing between Cabbage and MIDI monitor while I play two long notes with crescendo-diminuendo of aftertouch on each note.

Iā€™ve attached a MIDI file of two similar long notes here:
AftertouchTwoLongNotes.mid.zip (1.3 KB)

You can play this into Cabbage from Reaper via the IAC MIDI device as I have done in this video.


Cabbage is on the bottom left, Csound top-right.

Just a simple bit of Csound code will print this:

massign 0,1
instr	1
 kaft  aftouch
       printk2   kaft
endin

Thanks Iain. Alex and I are also discussing this at present, but itā€™s good that you can confirm the same results. But Iā€™m finding it hard to see what exactly is going on. In your video it looks like aftertouch values keeps returning to 0 when the shouldnā€™t. And they are not even the correct values? Is that a fair assumption? Iā€™ll fire up a host now and check.

[edit[ when I run this MIDI file in Reaper and send it to a simple instrument with the print code from above, I only ever get 0? It doesnā€™t seem to be picking up aftertouch data at all. Anyway, I have something to go on at least.

Just so weā€™re clear, we are talking about monophonic after touch, i/e. channel pressure data right? Those MIDI files you sent contains zero polyphonic after touch data.

[edit] this one has me stumped. Iā€™m able to get the after touch data into my MIDI callback, but I canā€™t seem to pass it on to Csound. The following should work as far as I understand it:

    if(message.isChannelPressure())
    {
        *mbuf++ = (unsigned char)0xD0 + message.getChannel();
        *mbuf++ = message.getChannelPressureValue();
        cnt += 2;
    }

Where mbuf is the Csound MIDI buffer. The first byte is the channel number, while the second is the channel pressure value. Channel pressure messages only contain 2 bytes right?

Got it! Just running off a new build now. Iā€™ll let you know when itā€™s ready for testingā€¦

@iainmccurdy, @alcomposer, can you try the latest zip. This version passes all the MIDI file tests, so hopefully it will work as expected for you :wink:

I donā€™t have the instrument beside me right now but testing with the MIDI file it looks good here too. You can safely assume that the MIDI recording accurately represents what happens when the actual instrument is playing. Thanks!

I also havenā€™t got access this moment to my Seaboard, but will check soon. Thank you @rorywalsh for tracking down this bug, and @iainmccurdy for confirming this!

Hey @rorywalsh! I have had some time to test with as Roli Seaboard Block - and I can safely say that your latest version of Cabbage has completely fixed the Aftouch issue! Now Csound Terminal & Cabbage are identical.

Thanks for the Christmas present!

Well I couldnā€™t have done it without your patience :+1: