silly problem with record~, buffer~, and groove~


    Jun 27 2006 | 11:15 pm
    Sorry if this is fairly rudimentary but I'm a bit stuck. I am using record~ to grab a few seconds of live input and stick it in a buffer~ for loop playback. It seems that record~ doesn't work unless I give the corresponding buffer~ a size argument. For example: [buffer~ foo 2000]. My goal is to playback the buffer~ as a loop using groove~, but I want the loop start and end points to correspond with when record~ was manually started and stopped. As it stands groove~ loops the full 2000ms of the buffer~ determined by the argument I supplied as opposed to simply looping the recorded material. Am I overlooking something basic about these objects, or is there a trick I need to employ to do what I want? (At the moment I am not supplying any arguments or commands to groove~ other than playback speed and startloop.) Thanks!
    -Jesse

    • Jun 27 2006 | 11:57 pm
      give your buffer~ a certain size, lets say 2000ms and just start a timer when you start recording and use its result for the end looppoint of your groove~ when you stop the recording ... there are many other ways , but i am in a rush right now... ciao
    • Jun 28 2006 | 12:01 am
      Quote: karl-otto von wrote on Tue, 27 June 2006 17:57 ---------------------------------------------------- > give your buffer~ a certain size, lets say 2000ms and just start a timer when you start recording and use its result for the end looppoint of your groove~ when you stop the recording ... > there are many other ways , but i am in a rush right now... > ciao ----------------------------------------------------
      Great idea, thanks! I thought maybe I had missed a functionality of one of the three objects involved, but it looks like I haven't.
    • Jun 28 2006 | 12:07 am
    • Jun 28 2006 | 11:34 am
      Seejay James wrote: > Anyone with a solution for this, please let me (us) know---this would > be great to resolve so we can get some real-time sampling going!
      There is a crop message to waveform~ which resizes without erasing, but as its a UI object it might be expensive on the CPU.
      The opter approach is to copy the part you want to keep to another buffer~...
      (I am real-time sampling all the time already... ;-)
      Stefan
      -- Stefan Tiedje------------x------- --_____-----------|-------------- --(_|_ ----|-----|-----()------- -- _|_)----|-----()-------------- ----------()--------www.ccmix.com
    • Jun 28 2006 | 12:01 pm
      This is a simplified example of the solution I'm using. Seems to be similar to what you're doing seejayjames. What wasn't working for you?
    • Jun 28 2006 | 12:02 pm
      Oh, nevermind. I see, you're concerned that the buffer~ is wasting space it's not using. Gotcha.
      -j
    • Jun 29 2006 | 10:20 pm
      Thanks Stefan, will look into it. Really would like to create a Max version of a "loop pedal"... because of course Max has a lot more capabilities than a lil' piece of hardware. In fact, using a simple MIDI footswitch or series of them, in conjuntion with buffers~, could make for a really cool live looping machine.
      Any tidbits regarding your implementation of the real-time sampling would be great!
      -CJ