[linux-audio-user] Re: FreeWheeling live looper prerelease

JP Mercury swirlee at stickist.com
Tue Jan 4 15:33:02 EST 2005

Here are replies for some of your questions about f'wheeling-

ce wrote-
> configure: error: VIDEO: You need libsdl-gfx1.2-dev installed
> but when I do
> epm -qa | grep sdl
> I get
> sdl-image-1.2.3
> libsdl-1.2.7-r2
> sdl-mixer-1.2.5-r1
> An extra package libsdl-gfx is not in the Gentoo repository. 
> Is it an extra package that I should compile from the web, or 
> can I check is the needed headers are already on my system 
> somehow?
>  Thanks & best regards
>     ce

Dear ce,

Yes, you can get libsdl-gfx at:

I'll modify the configure scripts to give the websites for all dependent
packages. Thanks for your feedback.


Wolfgang wrote-
> "JP Mercury" <swirlee at stickist.com>:
> > FreeWheeling is an audio tool for live looping. It provides a highly
> > configurable, fluid user interface for instrumentalists to capture
> > loops in real-time. Based on the JACK, ALSA, and SDL libraries, it
> > integrates with FluidSynth, a software synthesizer.
> >
> > Think a bit of Ableton Live and a bit of Sooperlooper.
> I'm still sobbing tears of joy.
> How do you trim loops? How does cut mode work?
> What does the number next to "poze" mean? Ehm, what does "poze" mean?
> How do you pan triggers/loops?
> You can't save it seems. Isn't that a tad overspiritual?
> Big thank you so far
> Wolfgang

You're diggin in, I can see. Your questions-

Cut mode works by changing the behavior of 'trigger-loop'. Trigger-loop
happens whenever you press a QWERTY key or a key on the lowest octave of a
MIDI keyboard. If there's no loop at that position, trigger-loop records a new
one. The next trigger-loop switches to play (or overdub). So trigger-loop
normally toggles your loops on-off. When you toggle them on, they start again
at the beginning.

When you turn cut mode on, loops that are already playing can be cut in and
out without restarting them-- it works like a DJ on the faders. Start some
loops playing, enable cut mode and then hit the keys of your playing loops.

I've only configured cutmode for MIDI keys, because it's expressiveness is in
mapping of note velocity to loop levels. But you could reconfigure it to work
with QWERTY keys too-- if you are willing to mess with the config file. 

In the config file you'll find:

 <!-- Set Trigger Volume (play volume) for Loops -->
  <binding VAR_cutmode="1" midikey="*" notenum="VAR_noterange" keydown="1"
   loopid="notenum+VAR_loopid_pianostart" vol="velocity/127"/> 
  <binding VAR_cutmode="1" midikey="*" notenum="VAR_noterange" keydown="0"
   loopid="notenum+VAR_loopid_pianostart" vol="127-velocity/127"/>

These bindings modify the normal trigger-loop behavior for MIDI keys to
instead do set-trigger-volume whenever cut mode is on. 

Right after these bindings you can add:

  <binding VAR_cutmode="1" key="*" keysym="VAR_pckeyrange" keydown="1"
   loopid="keysym+VAR_loopid_pckeystart" vol="1.0"/> 
  <binding VAR_cutmode="1" key="*" keysym="VAR_pckeyrange" keydown="0"
   loopid="keysym+VAR_loopid_pckeystart" vol="0.0"/> 

This changes the behavior of pressing QWERTY keys when cut mode is on. Now, in
cut mode, when you press a key, the trigger level is set to 100%. When you
release the key, it's set to 0%. The loops have to be playing for these
changes to work.


Not sure what you mean by trim loops. Do you mean how to sync up many loops


The number next to poze is the transpose for MIDI out and FluidSynth. This
transposes all of your MIDI keys except those that are used to trigger loops.
That screen display is defined in the configuration file:

  <display var="SYSTEM_midi_transpose" type="text" font="small"
   title="poze " pos="0.0,0.9"/>

So it shows the value of SYSTEM_midi_transpose on screen.


There is no way to pan loops right now. Freewheeling currently runs all loops
mono. I recognize the limitation- it's a good idea for a future release.


You can't save individual loops yet- maybe a bit overspiritual, but this
feature is on the table. For now, you can stream out a master OGG of your work
by pressing print screen. Here's the config:

  <!-- HELP: PrintScreen: Toggle record to disk -->
  <binding key="print screen" keydown="1"


I can see that better documentation would help.

For now, I hope this helps. 

Spencer wrote-
> I'm really excited about trying this out, but I'm having a
> runtime error. It compiled fine, but when I try to run it, I get:
> FreeWheeling 0.5pre1
> Brought to you by a grant from Mother Earth.
> MEM: HiPri Thread 0
> fweelin: pthread_mutex_lock.c:78: __pthread_mutex_lock: Assertion 
> `mutex->__data.__owner == 0' failed. Aborted
> Any help would be appreciated. Looks like a great app!
> -spencer

Never seen that before! I'll have a look at my init code to see if I can see
what's up.

Kind Regards,

More information about the linux-audio-user mailing list