User Details

Username: dataf1ow
Account Status: enabled
Member since: Aug 24 2010
About dataf1ow:
(report this profile)

Devices by dataf1ow

eb.TouchStrip Crossfader Version 1.0
LittleMidiEnveloper Version 1.1
NexStep Version 1.0
RandomNoRepeats Version 1.0
LaunchSlide Version 1.0
eb.MidiHold Version 1.0
SessionSceneLauncher Version 1.0
eb.Meeblib.Anode.ver1.0 Version 1.0
Push Chop Version 1.2
eb.Scrubber Version 1.5
LP Looper Version 1.0
Next Prev Clip Version 1.0
MIDI Wrap Version 1.0
Hindsight Version 1.0

Comments by dataf1ow


I'll say this here as well: haven't had any issues reported so I have no idea what's going on. Might be operator error. Any errors in the Max Window? Right click on the device title bar > Open Max Window

It was developed on Live 9.7, max 7.3, and Mac osx 10.10, so that all checks out. Have had no issues reported, as I said, so this might be something you're overlooking, or something system specific.

This will not work on Max 6 unfortunately. The audio processes were coded in Gen and requires max version 7.3 and above. The control surface integration requires Live 9.5 and above.

The sequencer will only display if you have the track that the particular instance of hindsight is on selected.

"Since I'm using the recording function on push (I don't know what termonology you use for some of the features, the bottom scene button is what I mean) I don't have need for the sequencer view. "

I'm not sure if you know this, but your comment mad it seem like you thought that the grab sequencer is useless if you're using the jump sequencer.
If you are using the bottom scene button to record slices, you can play that sequence back, and also play back the grab sequencer at the same time. There are two playheads in the device, so you might find a use for it yet.

I do plan on adding built in effects with their own sequencers. I can see how adding a mappable sequencer could be interesting though. I will keep that in mind for future versions.

I've had some issues with loading,reloading sets on occasion. I'll have a look at this in the coming days, and see if I can figure out what's going on.

Version 1.1 (which all purchasers should've received an email about) has the red green fix in.

I am getting the color setting to properly recall on the device on set load, is it just not recalling on the hardware?

Ah, ok. I can fix the floor thing, which is why the playhead isn't working.
The errors are likely an initialization order thing, do they persist after selecting a slot?
I'll shoot you an email with the playhead fix in later today.

Thanks for checking in -

The reason colors above four don't work is that, there are no colors above four. I should limit that number box or add more colors.

playhead feedback on push 1 is working fine for me - any errors in the ma window? (right click on device title bar, show max window). Is this the same for all color palletes? Live, max and os version?

I actually used MLR years ago, and I always wanted to make a version that was based on live input, and worked instead of Live seamlessly. I could add those features in. My initial thoughts would be just add the 'gate play thru' behavior into gate mode, and have the loop point definitions be part of thru mode. The loop point definitions are exactly like the loop modification section, so that feature is available, just not from the pads.

I love the slice recording. Using that with the grab sequencer is rhythmic mayhem. Also overdubbing live instruments into a playing slice sequence is really interseting.

I do apply envelopes to most everything to help alleviate clicks and pops. The loop button does more than just fade in and out the output of the looper, so simply smoothing that input wouldn't solve this. what happens when you hit the loop button depends on settings elsewhere in the device, with different audio streams fading in and out.

I am not handling the output summing logic in the most elegant way, so I will be re examining that soon. It's not as simple as adding a small envelope unfortunately, but it will get fixed! Thanks for bringing it to my attention, and making it a priority moving forward.

Yeah, just turn the IN-> Out button to off. that's already implemented.

You'll need to increase change the size of the buffer used for recording the loop.

There are some clicks, and it's not exactly an easy fix if you're not savvy with genexpr and you'd have to parse through my poorly commented code to find out where I'm doing the fading. I'll have to look into this, it would be helpful if you could define what 'while something is playing' means. Does that mean while a loop is playing in hindsight? Or does it mean while audio is coming into hindsight?

Glad you find it useful!

Oh, you can use this on MIDI tracks as well.

Depends what app you're running on the monome, you'd have to let me know what you're comparing the 'performance' to. It does work through the API, so there is some timing inconsistencies due to that. I have tried to minimize it the best I can.

Definitely works on 9.7 on Mac. I just downloaded the device, and it worked straight away. Make sure you have Push2 selected and active in your control surfaces in your MIDI preferences. Try hitting the INIT button. Check for any errors in the Max Window (right-click, show Max Window).

If the RGB LP uses a different script than the LP, then it will take a bit of a rewrite. Unfortunately I do not have that device, so its not likely I will do it.

Sorry for missing all these comments!

@FlaMusic - it works with Push 2 on Live 9.5 and up on Mac OSX without issue. You need to hold the 'Select' key, and the Uset button will begin flashing. Press the User button to enter Scrub mode. Pressing the User button alone will take you to normal User Mode.

@Modulor1 - the device works with Push 2 in exactly the same way as Push 1. You shouldn't have any issues.

@Stew, I am on a mac, so I can't test at all for Windows unfortunately. It hasn't really been 'Tested' at all, I made it for my own personal use, and thought it was interesting enough to share. I would love for you to use the device, but if I can't reproduce the problem, I can't fix it. There shouldn't be anything in the device preventing you from using it on Windows though. No externals etc. It sounds like a bad download/file issue to me, if you can't even get the file to open in Live.

How did you download the file?
Have you tried downloading with a different browser?
Which version have you tried? All of them?

@tigermendoze - I don't have access to a Mk2, so I didn't implement that. I bet i's really similar to the LP1 script, so it would probably be a quick addition, I just don't want to do it blind.

Everything looks good on my end. As I mentioned, I'll need the max window, and any errors, and your OS.

Push 2 works fine, so I'll need to wait to check it out, but it in the meantime could you right click on the device title bar, and select 'show max window' and let me know if any errors pop up?

I only have my Push 2 with me, but I'll take a look and see what I can find. I'll get ahold of my Push 1 tonight and figure out for sure what's going on.

Working fine for me on 9.6.2. It is a MIDI device, so it needs to be on a MIDI track.

You just need to change the live.dial to output floats instead of integers. Open the device, highlight the dial, and open the inspector.

1/8th is too slow for anything that I would want to use this for, but I'll get it in there.

As for the other stuff:

I haven't tested this on 9.6 so I will take a look at 1.5 and see what the deal is.
It needs to change the global quantization momentarily. The scrub call obeys that quantization, so if it is set at a bar, the device won't function properly.

4. Because that defeats the purpose of the device? I'm not sure what you mean about keeping them running at the normal play position. The device purposely triggers from different positions. Please clarify.

It works with the latest version of Live and Max. Have you mapped the parameters? Does the bottom row of LEDs come on?

Your welcome!

Unfortunately, that is not possible. You can't access the reverse button on a clip through MIDI or the API.

Yeah, there's definitely a way to do that. Shouldn't take too long either. It's on the list for new features.

It's the same key combo to get out of scrubber mode. Hold the select button, and the USER button will flash. Hit that to exit the mode.

Accessing four clips in one track, would require a bit of a redesign to implement. The device is meant to folow along as you move through a set, so I never though to map to discreet clips.

HOWEVER, I added a mode that makes the tracks exclusive. Just throw your clips into four adjacent tracks, throw exclusive mode on, and it should simulate what you were describing.

If this solution doesn't work for you, let me know, and I'll consider adding the clip behavior.

Hey Oliver,

Thanks for getting in touch! I hadn't had time to update this for 9.5 yet, so thanks so much for the heads up. The Encoders moved around a bit in the Control Script, so I had to adjust some of the calls. It should be good to go now in version 1.2. I will have to look deeper into the stutter/pitch things. They were working for me pretty well this morning.

The MIDI map button (as stated in the description) allows you to map the record functionality to another MIDI controller. In my case I use a foot controller to capture instrumental loops.

You cannot save patterns - I could maybe add this, but it's not important to me. I use this for performance, improvisation and generating ideas. If I come up with a pattern I like, I bounce it to audio.

What do you mean the recorded clips do not start anymore? What exactly does that mean?

I'll need PRECISE repro steps, because it's runs very stable for me on my machine. And if it's a windows only thing, it's unlikey to be fixed as I don't have a Wndows machine to test/debug on.

If you're a Windows user, You'll need to downolad the karma~ external from the link in the description.

I was more referring to the fact that you posted 6 one liners, documenting your trouble shooting ;).

It won't work with two instances, the control surface won't know which one to communicate with, so it will communicate with both.
It would definitely be possible to add more rows. I'd have to take a look and see how tough it would be. Likely not a trivial thing to get all of the LED handling in order.

Wow, really blowing up the comments here ;)

You can't use more than one instance of the device per control surface. I am working on a new version that allows you to assign multiple tracks to each row of the scrubber device.

Check out the 1.1, there's a new recording/looping engine that greatly reduces clicks and pops.

Fades really aren't the answer as you'll lose a lot of the transients, you have to use a more sophisticated approach to remove signal discontinuities (what is causing the clicking and popping) when jumping around an audio file in a dynamic fashion. Luckily, someone has done that for us here (thanks Raja!) so we can enjoy click free audio slicing that doesn't sacrifice transients when we don't need to.

Hey Braduro,

Thanks for checking ot this device too! This does NOT replace scrubber. They are built on two different concepts, but have a similar control interface.

This device is meant to operate on incoming audio, more like a live looping system. I am an instrumentalist too, and I wanted a way to capture my playing and instantly have access to chopping/repitching/reversing etc. So this was my solution. I had been working on this for awhile, and the LED/input was easily adapted to scrubber.

Scrubber operates on EXISTING live clips, and is meant to give quick access to any existing clip in Live. Of course you could record into Clips in a track, and use scrubber as a Live looping tool, but that wasn't it's original intent.

Let me know if there's anything else I can clear up!

Thanks for getting in touch, and sorry I didn't respond sooner.
I'll have to look into the changing tempo while playing back bug. It might take a bit of restructuring to make that possible. A lot of the math is dependent on the length of the loop. And the loops all stop when there is a tempo change to update the buffer length. I never really intended for this device to deal with tempo changes while playing back. The loops will definitely not follow Live's tempo as there is no time-stretching in the looping engine (yet!). I would recommend doing all tempo adjustments when you're ready to lose your loops and move onto another musical idea.

I recently updated the device with some new features, there's a 1.1 available that has an improved looping engine with overdub/loop replacement. And also latching options for the stutter/pitch controls. Also has solo/mutes.

Thanks again for checking out the device.

Awesome! Thanks for brining that bug to my attention (and the Ram mode thing that caused the bug;)).
I would definitely like to see anything you can come up with using the device!

Thanks for clearing up the behavior. No need for the crash report, I was able to reproduce the issue. If you try to set a clip's RAM mode to on while it is recording you will get a crash. I added a check that only sets RAM mode for playing clips if they aren't recording. I think you should be good to go now!

Let me know if it's fixed on your end.

Working fine on both pieces of hardware over here.
What do you mean it isn't working at all? I'll need some more info than that if I need to fix a bug.

LEDs not working?
Clip chopping not working at all, or not as expected?
Etc. etc.

Should be fixed! I think I did it in a cleaner way this time, so maybe that will solve some responsiveness issues!

The device was initially designed to turn RAM mode ON for any audio clip playing in a track, and then remove it from RAM mode when it is not playing. If you put every clip in RAM mode you could run into problems with memory, if the clip isn't in RAM mode, scrubbing doesn't work.

This seems to be broken right now and I am working on a fix as we speak.

If it seems that it is quantized to the bar, there are a few things we can do to try and isolate the issue in your setup.
Remove ALL devices/python scripts that might interfere with clip quantization. Just use this device and a few audio clips.
There is some weirdness that can happen if your start marker doesn't start at the beginning of the clip. Make sure that the start marker is at the beginning of the clip. If this isn't the case, some of the math in the device gets a little confused. This is in the works for a fix, but for the time being, you'll need to have the start marker at the beginning of the clip.

I hope this helps uncover the responsiveness issue!

Hey Braduro,

You can switch to global mode by hitting the 'Undo' button on the Push. This is in the readme accessible from the 'READ' button on the device's UI.

As for the lack of responsiveness, that might have to do with your particular setup.
What's your buffer size and latency?
What soundcard are you using? What is your OS?

As you can see in the video, the patch itself is quite responsive, and I am able to trigger things quickly and accurately. It might be some particular settings you need to tweak.


That sounds like you don't have the latest version of Live installed, 9.2. The scrub call wasn't made available until 9.2. Update to the alteset version of Live and Max, and let me know how it goes.

Oh really? The order shouldn't have anything to do with it, at least it doesn't on Mac. I'll take a look at this and see if I can figure out what's going on.

Thanks so much for the update, and workaround!

Interesting. Once you turn the stuttering on, button presses no longer trigger, as well as not stuttering. I won't have time to look at this for a few days, unfortunately. Have you tried changing the quantization setting using the left three arrow buttons? That's the only thing I could think of as a potential quick fix.

Private video.

@jeremywen: Does the lower scene launch button stay green after you press it? Are you holding the pad in the grid down? Any repro steps I could take? i.e. exactly how to get the behavior you describe.

@AuralBee: Yeah if you can give me EXACT repro steps that will help me troubleshoot. It's hard for me to fix a bug that I don't see. You may have to reselect the tracks, or play the clips again in Session Mode.

@AuralBee Hm, shouldn't be anything you need to do. Make sure you are in User 2 Mode? I haven't had a chance to test on Win 7, but I also haven't heard of any bugs in the windows version.

Ah ha! Did you read the last paragraph in the description? I made a script called 'Session Box' that just creates an 8x8 grid that you can connect to this device. Then you can use any controller to map to the device and fire scenes. Let me know if you have any issues getting it up and running.

I don't think the MPD32 script has a Session component. What functionality are you looking for?

What's your OS and your software versions? This was tested and coded on Mac 10.9, Live 9.1.7 and Max 7.

Little confused from your requests. The Push already has a redbox, so I'm not sure what you're asking for. It also has scene launch buttons on it. Or are you trying to use the Push script without a Push?

Feel free to email me at

I replaced a few objects, and I was able to have the mapping save with the set on my system. If saving with the set still isn't working for you, you could send me your set (without samples) via dropbox, and I'd be happy to see if I could reproduce the issue.

hmmm, there should be saving. This device is kind of useless without it :). I'll take a look at it today.

Done! Thanks for letting me know about that. Those were practically unreadable!

Let me know if it looks a bit better now.


@MonkeyEcho - You could set up a scenario where a midi note triggers this envelope, which is mapped to the chain on/off of a midi effect rack to effectively mute incoming notes on that track.

@zeep: Have you tried it on Live 8? What version of max are you using?