Wolfgang,
JP, great tutorials, very laid-back -- you're a
teacher man.
The MIDI filtering/output is neat. So is the tap pulse feature.
Good stuff, I'm glad the tutorials are doing their work.
* Seeing it done in your tutorial I want to get my
footswitch into
action too. It's a simple sustain pedal connected to my midi master
keyboard and works as that. But Freewheeling doesn't react to it.
Maybe you're talking about a different kind of footswitch? Can you
direct me somewhere?
This should be a simple matter. It occurs to me now that I'm using a
non-standard controller # for my switch- thanks for pointing that out. I use
one switch (controller #64) for sustain on piano parts, and another
(controller #67) for grabbing loops.
You can check what controller # your keyboard is transmitting from inside
Freewheeling. Start it up and press the gray enter to display debugging info
to the console. Press and release your footswitch. In the console window you
should see what midi controller and values your MIDI keyboard transmits for
the footswitch.
If you want your sustain (#64) controller to grab loops, change this line in
the config file:
<declare var="VAR_midi_footswitch" type="int"
init="67"/>
Change init="67" to init="64".
I think I'll make this change for the next release. It's confusing to talk
about footswitch and use a non-standard number.
* Freewheeling sometimes doesn't startup. Called
from the console
it would say FreeWheeling 0.5pre3 Brought to you by a
grant from Mother Earth. which is nice but nothing else happens.
Well, you could look at it as a bug, or you could look at it as a built in
opportunity to reflect on all that the Earth gives us. ;-)
It's a mystery to me. Some people have reported strange pauses on startup.
Here's some test code for you:
Find Fweelin::setup() in src/fweelin_core.cc and replace the start of the
function with:
int Fweelin::setup()
{
char tmp[255];
printf("MAIN: Start 1\n");
// Keep all memory inline
mlockall(MCL_CURRENT | MCL_FUTURE);
printf("MAIN: Start 2\n");
if (!XInitThreads()) {
printf("MAIN: ERROR: FreeWheeling requires threaded Xlib support\n");
return 0;
}
printf("MAIN: Start 3\n");
/* Initialize SDL- this happens here because it is common to video, keys &
config */
// SDL_INIT_NOPARACHUTE
if ( SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTTHREAD) < 0) {
printf("MAIN: ERROR: Can't initialize SDL: %s\n",SDL_GetError());
return 0;
}
atexit(SDL_Quit);
printf("MAIN: Start 4\n");
// Memory manager
mmg = new MemoryManager();
printf("MAIN: Start 5\n");
// Load configuration from .rc file
cfg = new FloConfig(this);
printf("MAIN: Start 6\n");
-- Now you will see a series of messages when you start- this will help me
determine where it's hanging.
Ctrl-C and calling fweelin again will sooner or later
result in
Freewheeling starting up. This happens *sometimes* and I have no
clue at all as it seems to happen under different circumstances.
Thanks again for your reports,
-Mercury