Roli BLOCKS package updated with MFL support

Andrew Pask's icon

Hey BLOCKS fans,

We've updated the BLOCKS package with MFL support - from now on BLOCKS patcher code is expected to work in MFL devices

Please let us know how you get on with it!

You can get the update from the Package Manager in Max 7

Happy Patching!

-A

chapelier fou's icon

Great news !

On my laptop, no probs so far. But i couldn't make it work on usb on my eMac 10.11.6 with Live 9.7 and Max 7.3.1.

Lee's icon

nice!

chapelier fou's icon

Usb problem solved. Or at least, it's working now.

I was wondering, is there a block object that i can place on top of a blocks.slider to output a 1 when there's a finger and a 0 otherwise ?
The idea is simply to superpose an invisible mask just to indicate when there is a finger on a control element.

Purpose : turn an effect ON only when i touch the slider. For instance : beat repeat ON/grid size.

Andrew Pask's icon

@Chapelier Fou

You might need to make the slider in the blocks.multitouch object to do that

-A

chapelier fou's icon

thanks andrew. I edited my previous post.

chapelier fou's icon

Patching this without a dedicated object doesn't seem possible to me. Indeed the slider sends duplicate values quite fast, bu at what rate ? I'd need to make some timer that would detect when no value has been sent for x ms. But depending on x, that could be not reactive enough...

chapelier fou's icon

It adds a mean time of 23 ms here.

Andrew Pask's icon

A little bit hacky, but touch phase seems to get me there.

I get what you are saying about an "invisible" touch detector though.

Max Patch
Copy patch and select New From Clipboard in Max.

chapelier fou's icon

Thanks. I figured it out with multitouch (https://www.instagram.com/p/BPK62EgD_Kh/?taken-by=chapelierfoumusic).
But i wish the multitouch could be 2 pixel large.
(EDIT : i just realized you were previously already talking about the blocks.multitouch. I thought you were talking of the blocks.slider)

chapelier fou's icon

May i ask another question ?
What's the best method to make a 4 pad layout, outputting 4 different midi notes ? I'm messed up with how to use the blocks.grid's data.

Andrew Pask's icon

Does the BLOCKS FM drums example help?

-A

chapelier fou's icon

Not really. I'd like to have sustain. Something sending a 1 as long as i press and a 0 when i release the push.
Couldn't be just another mode for the buttons ? That would be so convenient, don't you find ?

chapelier fou's icon

Any idea ?

chapelier fou's icon

I know it seems trivial but i can't manage have a note on/off behavior with blocks.grid. Any help would be awesome.

Andrew Pask's icon

@chapelier fou

We just updated the package again with a new object - blocks.topology which "remembers" blocks hardware connections

Along the way we added touch data outlets for bocks.button, toggle and slider

Let us know if that gets you closer

Cheers

-A

chapelier fou's icon

That's very exciting !
Sorry for polluting this topic. Many thanks for an amazing support, and listening for users' feedback.
EDIT : I can confirm it works perfectly for drumpads now !

chapelier fou's icon

After a few minutes testing, everything's working.
An important note, though : while it seems really smooth via USB, the led feedback via Bluetooth is very laggy here on a recent iMac.

David Martin's icon

Having troubles, seeing some strange behavior in M4L surrounding blocks --

I have been able to get the block to connect in M4L, but only if I have "No Device" selected as my Audio Output Device in live. As soon as I choose a different output device the following happens:

1) Max windows all jump to forefront
2) Block disconnects and goes black

I tried two different interfaces, soundflower, and even the standard "built in output" / my laptop speakers, but same result -- Block only picked up when I'm not sending any audio out of live.

Any thoughts? Need any more info?

Andrew Pask's icon

@David Martin

That's weird. Soundflower eh?

I'd drop a line into support with full system deets and version info - I cannot reproduce this in 10.12.2

@chapelier fou

Yeah, Bluetooth performance is not as good as USB currently. The Roli guys are aware of this.

chapelier fou's icon

Here a feature request for the multitouch outputs of all objects :
Would it be possible that the first number would be 0 when no finger is pressed ? This would simplify patching.

The reason is that i have difficulties to ignore all secondary fingers. For a drum pad, it's perfect when i drum with one finger, but i often drum with two fingers on one pad and this causes triggering problems.

Andrew Pask's icon

Not sure I understand.

Could you post a patcher with comments?

Cheers

-A

chapelier fou's icon

Here is a simple 4 pads for 4 MIDI Notes.
If you hit it with 2 fingers, it makes a double triggering.
In other words, how to ignore subsequent presses when the first press is held.
Thanks !

BlocksPadsX4.amxd
amxd
Andrew Pask's icon

The idea behind the design of the touch data outlet is you can address touches by index, typically with the route object

If you only want to follow the first touch, filter with route 1. Let us know know if you can show it not working right.

-A

chapelier fou's icon

Yes, but let's imagine this :

I intend to play a sustained sound. I hit with two fingers. One of the two fingers is released unintentionally while one stays pressed (for the sustain portion). Message "2" goes out of the second element of the touch info list and triggers a note-off. This is not what i'd like to do.

I might consider the problem from a bad angle, but "if" the first element would effectively switch to "0" when no finger is pressed, i could just use [>0] to monitor if there is finger(s) or not. And use this 0 or 1 to multiply a velocity.

Here's a commented patch :

Max Patch
Copy patch and select New From Clipboard in Max.

chapelier fou's icon

So :
I've been stupid as hell. Using [route 1] straight after the multitouch output works great if you want to track the first finger only.
One thing though : when you hit with two fingers close together, sometime the second one will lift the first one and therefore the first press will be disconnected while you're still pressing. So, basically, i'd love to have the info of "how many fingers are on".

Also, one very important note, that might be considered as a bug :

The finger number data (first value of the multitouch output) in all the objects is shared amongst the objects.
Example :

- put 2 blocks.button.
- hit one finger on the first, and one on the 2nd (while holding the first)
- instead of reporting 1 finger on the first and 1 finger on the second, it reports 2 on both.

Andrew Pask's icon

Yes that looks like a bug

We'll take a look, thanks for the report

-A

andrej's icon

Hi there, How do I connect multiple Lightpad Blocks together. I have tried several things but nothing seams to work. It works well with the Live Block but not with the Lightpad Block. I have looked for some documentation of it but have not find much the only thing that I have found is in the blocks.pad help patch second tab where it says that you can use different blocks for different scenes but it does not work for me. Basically it look like that the second block is not even connected to max. So I would like to ask how to connect two Lightpad Blocks together, do they need to be both connected with the usb or can I use the magnetic connections. Can I use two different blocks.pad for two different Lightpad Blocks and so on...

Any help suggestion, patch example or everything else would be great. THX

AK

andrej's icon

Nevermind my previous post, I have updated the Blocks firmware and now I can connect multiple Blocks. Anyway I can't control the second one, I can just see the button but can controll it. Any Help would be great. THX

AK

andrej's icon

Nevermind also the last post restarting the system helped. Hope this will help someone else. Best, AK

Geoff Hood's icon

I'm close to buying a couple of blocks lightpads for use as faders/sliders, multitouch pads etc. From looking at the tutorial videos online I can see that you can set up to 16 scenes per block and then switch through them using the little button the side of the block.

A few questions if you don't mind...
1) With two blocks connected can you hit one button to change both blocks' scenes?
2) Can you change scenes remotely from the computer, i.e. without touching the blocks?
3) I've read that you have to press the blocks pretty hard for pressure changes - can you adjust sensitivity?

Many thanks
Geoff

Andrew Pask's icon

1) yes , you could program that
2) yes
3) No, but the firmware updates are making it better.

HTH

Cheers

-A

Geoff Hood's icon

Thanks Andrew

Andrew Pask's icon

We've updated the package again to fix a touch output bug and a couple of other things

Please be sure that your BLOCKS hardware is running the latest firmware

Cheers

-A

chapelier fou's icon

Let me understand the logic with different fingers in this sequence of actions with block.button :

1.Put and hold finger A. First 2 numbers of the multitouch out : 1 1
2.Put and hold finger B : 2 1
3.Release finger A : 2 2 then 1 1 (i don't really get that)

So, what is the first number ? The count ? Not the "voice" ?

Also, on step 3 of this example, i would expect the button to stay lit, since finger B remains pressed.

Is there some logic that i don't get ?
Sorry, i don't mean to be annoying....

Andrew Pask's icon

First number is touch count.

After you release finger 2 it continues to output the current touch state. Releasing finger 2 could be followed by a whole pile of touch 1 data.

The button object is a UI for a trigger event, there's no concept of a sustained trigger event. Let's say the idea of a button is not really compatible with the idea of a sustained note. I think you could work around it by using touch to modify the colour of the object.

Cheers

-A

andrej's icon

I'm exploring even further the multi block integration and it's really interesting. Anyway I have another question is there an option to have two Lightpad Blocks connected independently to two block.pad object.( with DNA connectors or with the USB). THX

Best,

AK

andrej's icon

Hi further exploration with Blocks has lead me to new problems. I have tried to build a simple sequencer with 4 different timers. The goal is to be able to define the sequence range and to be able to play on the pads to temporary change the sequence, but when I do that Max keeps crashing. Sometimes it takes a few seconds to crash and others up to 1 min or 2, but it's almost certain that it crashes in while.

So I would like to ask if it's possible to run Blocks Light pad for visual feedback of Max and at the same time interact with it. If yes how, if no is this a Hardware or Software limitation.

I'm attaching a simple example for review. Please try to play on the pads and the toggles below for a while. If someone can report back the behaviour that would be great. THX

Best, AK

Max Patch
Copy patch and select New From Clipboard in Max.

andrej's icon

Update regarding my previous post if Options / Overdrive is off I get better results, but for the audio processes of my patch the Overdrive should be On, and then I get a lot of crashing of Max. Any help much appreciated.THX

Best, AK

Andrew Pask's icon

I can reproduce, sorry about that, we'll have a look.

Please start new topics! this one is out of control

-A

andrej's icon

Thanks for the replay. Does it work even with Overdrive On. I have taste it on two macs MBP 2014 & Mac Pro 2008, but the isue presists. Ok I will create a new topic. Best, AK

Andrew Pask's icon

Yeah it's a drawing issue, we have a good idea of what it is

Cheers

-A

christian nguyen's icon

Hello,

I am new to MFL and am simply trying to figure out how to connect my roli blocks through MFL so that I can trigger loops I have already made in ableton. In a similar fashion to the push 2, I want to be able to see and trigger the loops when I plug my blocks in and be able to conveniently switch from project to project when performing live. I know this is a broad request, but if someone could point me in the direction of a tutorial or another forum that'd be very helpful as well.

Thanks!

Christian

chapelier fou's icon

First be sure that you downloaded the latest blocks package.
Then have a deep read of the LOM (Live Object Model).
That's the first step.