File: ChangeLog

package info (click to toggle)
freewheeling 0.5.2a-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,928 kB
  • ctags: 2,218
  • sloc: cpp: 17,507; sh: 6,505; makefile: 70
file content (424 lines) | stat: -rwxr-xr-x 14,536 bytes parent folder | download
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