1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424
|
2006-05-17 v0.5.2a
Bug Fix Release
---------------
* v0.5.2 MIDI port switching was broken.
(Problem in the configuration .fweelin.rc).
The configuration in this release should work.
No other changes have been made.
2006-05-13 v0.5.2
The Patch Browser Upgrade
New Features
------------
* Integrated patch browsers for external audio apps
* Bank and program changes are now sent based on the patches
you define
* MIDI outputs are now switched as part of the integrated
patch browser
* Automatic patch list generation for DSSI softsynths
Detail:
The Fluidsynth patch browser has been expanded to provide
patch browsing for external synths/apps.
You can define your patches (MIDI port, channel, bank, program,
and name) in external XML patch files.
All your patches, internal and external, now appear in the
patch browser. The browser now has several pages,
one for each MIDI port and channel for which you have defined
patches. Therefore, if you have Hexter on channel 1 of MIDI
output 1, and WhySynth on channel 2 of MIDI output 1, you can
independently browse your Hexter and WhySynth patches right from
within Freewheeling.
Freewheeling sends the right bank and program changes out the
right MIDI port based on your patch definitions. It also echoes
your MIDI events to the right place, so that you can switch
one keyboard between several softsynths.
When you have the patch browser selected, you can use the
left/right arrow keys to switch between browser sections.
This causes your incoming MIDI events to be switched from
one port to another- as defined in your ~/.fweelin.rc and
patch XML files. This way, you can quickly
switch between softsynths without leaving Freewheeling's
interface.
To use this feature, please read 'examples/readme.txt' for setup
info.
I will likely be expanding this to include 'combi' type
actions where you can custom configure your MIDI signal to be
sent to several softsynths. Then you could, for example,
play Hexter with your left hand and Linuxsampler with your
right hand.
* Configuration files now live in ~/.fweelin/
~/.fweelin.rc will be moved to ~/.fweelin/.fweelin.rc
when you start version 0.5.2.
Fixes
-----
* Fixed startup segfault when running without integrated
FluidSynth
2006-03-22 v0.5.1
Thank you to all for good ideas and inspiration over the summer
and winter. Many thanks to Paul Davis for hooking me up with
a great Linux Audio development gig. And thanks to an anonymous
donor for his contribution, and to Dubphil and Paul Brossier for
beta testing.
** FreeWheeling now requires libgnutls11-dev (gnutls-openssl)
instead of openssl (Thanks, Piem).
New Features
------------
* Significantly less memory usage-- more than 20 megabytes less.
Thanks to Drobilla for pointing out the issue with thread
stack size.
* New scripts (see scripts/ folder) to help you manage
a library of loops. You can now bath move, delete, and
archive loops & scenes by date.
* Jack transport sync-
- Master and slave mode
For sync to work, you must first create a pulse,
either by recording a loop and pressing F1, or by tapping
a pulse by tapping F2 twice.
Freewheeling tries to become the Jack timebase master,
but if another app is master, it switches to slave mode.
In master mode, Freewheeling generates beats and bar counts
for every repetition of the currently selected pulse.
In slave mode, Freewheeling receives beats and bar counts
and syncronizes the currently selected pulse to them.
For both master and slave modes, you can adjust the number of
bars/beats per pulse using:
Ctrl/Shift + S - adjust timebase
You can also switch between sync to bars or sync to beats
using:
Alt + S - switch bars/beats sync
Note that in master mode, FW is currently hard-wired to
generate 4 beats per bar. Since this is preliminary code,
not a big deal.
* New user interface
- Progress bar for saving and loading loops and scenes
- Better organization of help page with clear sections
- Mouse support
- Click on loops triggers them.
- Space + Click erases loops.
- Mousewheel on loops now adjusts loop volumes--
very convenient when you are mixing and playing with
improvisations.
These can be configured.
See 'loop-clicked' in .fweelin.rc.
- Joystick support
- Joystick buttons can now trigger events.
For example, I have used FW with a DDR dance mat to
trigger loops.
See 'joybutton' in .fweelin.rc.
- New 'engage' and 'shot' options in trigger-loop.
'Engage' forces a loop to ON or OFF,
overriding the default toggle behavior.
You can use it to create triggers that play short bursts,
rather than long loops.
'Shot' to be implemented.
* Stability improvements
- Better thread safety and design improvements to the real-time
memory manager have improved stability.
* Significant improvements to loop/scene management and browsing
- You can now give loops and scenes your own names
- New names are stored within the filename of library files
- Expanded browser window shows several items at once
- Browser now sorts so that newer loops and scenes are first
* Better handling of looppoints
- Resolved issue with clicking at the looppoint on reloaded
loops.
- Resolved sporadic clicks on syncronized loops.
* Better handling of loading/saving loops
* Adjustable video loop delay
- You can now adjust the performance of FreeWheeling
by changing the delay between video refreshes.
Several people asked for this feature, because
FW is processor-heavy on the video side.
The video thread does run at a low priority,
and so it should not affect the performance of other
realtime audio threads. However, the system may get
sluggish, and if this happens, you may want to increase
the delay in .fweelin.rc:
<var videodelay="20"/>
Fixes
-----
* Fixed 'glibc double free' segfault- FW should now run
when compiled with GCC 4.0.
* Adjusted the way F2 tap tempo works-
tapping a new tempo with F2 is now more responsive,
but less tolerant of mistakes
* Fixed 'pure virtual method called' segfault
* Fixed segfault when browsing past end of FluidSynth patch list
* Various fixes to reduce CPU hogging
* Merged patches from Piem's debian package:
MaxVol, compile fixes for GCC 4.0, and removal of non-free
elements
* FW can now run without physical JACK inputs or outputs.
Thanks to Piem for this patch.
2005-05-02 v0.5pre4
Many thanks to Sune Mai for several clever fixes,
to Plutek for your generous donation,
and to all of you for inspiration and feedback:
Wolfgang Woehl, Mark Knecht, Shayne O'Connor, Esben Stien,
Gregory Maxwell...
** FreeWheeling now requires libvorbisfile.
New Features
------------
* Go back to previous improvisations
- Saving -and- loading of loops and scenes of many loops
- Integrated browser for scenes, loops, and FluidSynth patches
- Loops and scenes are sorted by time in browser
QuickStart:
Use F8 to save a loop, F7 to save a scene of all loops,
F9 to toggle auto-saving of all loops, 'b' to switch browsers
from FluidSynth to Loops to Scenes, 'enter' to load the
selected loop or scene, Shift +/- jumps to the next group
of scenes or loops on disk (at least an hour different in
time)
When loading a scene, the loops are restored to their
original placement. When loading a single loop,
it goes to the footswitch (SW) by default. You can then
move it to any QWERTY or MIDI key by pressing that key.
FreeWheeling no longer saves in folders save1, save2, etc.
A new library folder (by default, fw-lib/)
contains all your loops, scenes, and live mixes.
A new script scripts/godelete-date, can be used to delete
loops and scenes from your library by date.
* Full stereo support
- Individual inputs configurable stereo or mono
- Automatic stereo or mono loops
- FluidSynth in stereo or mono
QuickStart:
In ~/.fweelin.rc find:
<var externalaudioinputs="MMS"/>
This configures two mono and one stereo input.
FreeWheeling no longer auto-connects to system inputs and
outputs. You only need to configure what kinds of inputs
you'd like. Please note that, for now, you need to manually
add displays and keyboard mappings for any inputs you add.
The rest is handled automatically.
* Multiple ALSA MIDI outputs
- Send live MIDI messages to different MIDI ports
to control different Linux apps in real-time
QuickStart:
Use "m" key to switch MIDI outputs. The default configuration,
<var midiouts="2"/>
defines two MIDI outputs. "m" toggles between the two outputs
and the internal FluidSynth.
* Configurable limiter
- Max gain, threshold, and release rate can be changed
- By default, limiter no longer raises gain above 100%
See help in ~/.fweelin.rc
* Input level displays
- Peak levels for each input are now shown
* Footpedal volume adjust configuration
QuickStart:
Use MIDI controller 1 to control individual input levels.
Press keyboard 1-4 to select input. Then move CC1 to adjust
volume. Or press and hold keyboard 1-4 while moving CC1 to
jump to a new pedal value without adjusting volume.
In ~/.fweelin.rc, see:
<declare var="VAR_footpedal_ctrl_num" type="int" init="1"/>
<declare var="VAR_footpedal_vol_max" type="float" init="3.0"/>
You can change the CC# and max volume.
* Laptop keyboard configuration
QuickStart:
If you are using FW on a laptop, you probably don't have
easy access to some keys. I've provided a laptop keyboard
configuration which remaps some keys. In the help pages,
the new keys are shown in square brackets.
To enable this configuration, edit ~/.fweelin.rc:
<declare var="VAR_laptopkeymode" type="char" init="0"/>
init="0" becomes init="1"
* Config file version checking
- If your config file is out of date, FreeWheeling will
ask whether you'd like a new one installed.
This means you never have to manually erase ~/.fweelin.rc.
Fixes
-----
* fixed MIDI note off being misinterpreted on keyboards that
send note on with velocity 0
* JACK ports are no longer auto-connected
* fixed startup hang on some systems (mutex init problem)
* fixed bug in block memory allocator Recycle()
that causes a segfault during bursting of many events
* compile fix error: 'ISO C++ forbids cast to non-reference type
used as l-value' in RTNew()
* footswitch is now controller 64 by default, not 67
* several keys have been remapped- see the help for details
2005-03-11 v0.5pre3
New Features
------------
* A new way to tap downbeat and tempo (tap-pulse event)
* Switching of metronome sound for pulses (switch-metronome event)
* FreeWheeling events can now trigger MIDI events, so you can
control other audio apps from within FluidSynth--
For example, you can fire off changes to your modular synths
from your keyboard or footpedals.
This eliminates the need for an extra MIDI router app, since
it is now built in to FreeWheeling. Your custom FreeWheeling
setup defines how MIDI events are generated.
* More flexible, clearer configuration syntax, with better error
checking and colored warning messages.
* Full input & output implementation of MIDI program change
and pitch bend messages.
* An example of the new MIDI output features-
A MIDI patch changer has been configured using the left/right
arrow keys. An on screen display shows patch number.
See .fweelin.rc and video tutorial: Hookups.
* Faster, tighter memory management for events.
* Scripts are now included that load FreeWheeling and Hexter DX7
softsynth, connect to LADSPA reverb and tube amp sim- see
scripts/README.
Fixes
-----
* fixed config bug that may cause "PreallocatedType: no instance
available" errors on startup
* compile fix on Mandrake GCC 3.4.x - 'parenthesized type-id' error
2005-01-19 v0.5pre2
New Features
* Saving and autosaving of loops in OGG format-
loops and live mixes are saved in their own folders
* Real-time toggling of FluidSynth
* Multipage help
* Documentation for 'z'/'x' loop octave
Fixes
* configure check for SDL_gfx filledPieRGBA vs filledpieRGBA
* configure now gives websites for dependent libraries
* added XInitThreads to fix 'Xlib async reply' error
2005-01-03 v0.5pre1 - first public prerelease
2003 -2004 v0.1, 0.2, 0.3, 0.4 (internal)
many internal changes--
* moving from OpenGL to 2-D SDL
* loop visuals
* downbeat awareness
* memory manager
* event manager
* block extended data
* configuration system
* many bugfixes
These form the foundation of FreeWheeling as a modular looping
platform.
2002-06-05 FreeWheeling (then 'dogon listening device')
* initial Linux version based on Mac MAX/MSP prototype
|