358c1317c430b22b6f5c4c66683633633a5c2479
[ardour.git] / ReleaseNotes-0.9betaX
1
2                             RELEASE NOTES
3                            ***************  
4
5 >>>> 0.9beta13
6
7 beta13 is mostly bug fixes and a few new features over beta12.
8
9 >>>  0.9beta12
10
11 Welcome to the 0.9beta12 release of Ardour. We are now moving ever
12 closer to a 1.0 release. This release includes an incredible number of
13 changes and improvements since beta11. We expect some instabilities
14 compared to beta11 to remain - please test, collect debug traces,
15 etc. etc.
16
17                   +++++ FIRST IMPORTANT NOTICE +++++
18
19 Although beta12 will load sessions created by earlier versions of
20 Ardour, if it is allowed to save a session at any time, that session
21 will immediately be INCOMPATIBLE WITH ALL PRIOR VERSIONS OF ARDOUR.
22
23 If you have important sessions, you are advised to back up the session
24 state files (generally called <session-name>/<session-name>.ardour). 
25
26 I repeat: if you care about being able to use prior versions of Ardour
27 on your existing sessions, you MUST BACKUP YOUR SESSION STATE FILES.
28
29 Please rest assured that after 1.0 appears, no incompatibility,
30 forward or backwards, will be tolerated in any future version.
31
32                  +++++ SECOND IMPORTANT NOTICE +++++
33
34 Why the change in the session files? At some point as work on beta12
35 was in progress, we realized that Ardour's panning model was
36 fundamentally broken. Not just the mathematics of the pan law, but the
37 actual software architecture of panning. Fixing this has required a
38 massive set of changes to Ardour's basic data flow and a lot of subtle
39 and not-so-subtle  changes to a lot of code. On the plus side, we now
40 have a completely modular panning architecture that will make it
41 trivial, mostly, to use plugins for panning in the future.
42
43                  ++++++ THIRD IMPORTANT NOTICE ++++++
44
45 ardour/ksi is no longer built by default. The changes to libardour are
46 massive and widespread, and I do not have the resources to spend time
47 getting ardour/ksi to catch up with them. I will reenable default
48 building if and when ardour/ksi compiles again. I wish I could spend
49 time on this, but the work is just too much at a time when I
50 desperately need to get Ardour to a reasonable 1.0 release.
51
52                  +++++ FOURTH IMPORTANT NOTICE +++++
53
54 This version of ardour will NOT compile with gcc 2.95. we are now
55 using the standard C++ class "stringstream", which has no support in
56 gcc2.95. i will accept patches that attempt to use the gcc class
57 "strstream", but i am not willing to spend time on this myself.
58             
59
60                        Changes since 0.9beta11
61                        ------------------------
62
63 A) PANNING
64
65     * panning control is per-stream
66          code is now supporting the notion of the "number of active
67          streams" within various parts of a signal processing
68          "route". this is different and orthogonal from the number of
69          inputs and outputs the route has. if you put a 1in/2out
70          plugin into a 1in/1out route (which arguably should not be
71          possible), then before the plugin there is 1 active stream,
72          and afterwards there are 2. 
73
74     * panner linkage
75          - panners for all streams/channels can be moved
76            together or in opposing motion.
77
78     * new "bar controllers" for controlling panning to 
79             a stereo output, 1 per data stream
80     * dbl-click on the bar controller to get numerical
81             entry, then Return or Tab to get back
82             to graphics.      
83
84 B) AUTOMATION
85    ----------
86
87     * gain and pan automation now totally separated
88            - you can playback pan automation while
89              doing touch automation on gain.
90     * if playing automation, and playhead goes past
91               the last control point, value remains
92               at that level.
93     * one button for gain automation state and one for
94        pan automation state per mixer strip
95     * ignore the automation mode for now
96     * touch automation for panning now works.
97     * hide all automation control points, display them
98        only as mouse pointer moves through them
99     * automation values reflected after transport stop
100        or locate if automation is not off, or when
101        automation is turned on.
102
103 C) PLUGIN GUIs
104    -----------  
105     * use bar controllers (see Panning above) instead of sliders
106
107 D) OTHER MAJOR FUNCTIONALITY
108    -------------------
109
110   * initial support for win32/x86 VST plugins as native objects
111        in Ardour
112
113    * Added exclusive solo operation (ctrl-alt click on solo button)
114      which sets that track to be the only soloed track.  it has a
115      momentary counterpart (ctrl-alt middle-click) which temporarily
116      exclusively solos the track while the mouse button is pressed.
117      BTW, middle-clicking mute buttons is momentary mute as well.
118
119   * Added seamless looping.  this can be enabled in the options editor
120      (misc tab).  why is this an option you ask?  well, our current
121      looping scheme simply does a transport reposition at the end of the
122      loop, and while completely sample accurate, there can be a time gap
123      between the end of the loop and the beginning.  This happens due to
124      the slow-sync jack transport system, to allow all clients to
125      reposition in sync (including ardour).   However, if you need truly
126      seamless looping with no gap, you can enable this option which will do
127      it within ardour only -- you must disable ardour as the jack
128      transport/time master for it to work. In the near future, the Jack
129      transport system may acquire a notion of looping, and at that time,
130      seamless may be used at any time.
131
132      Note that for full compatibility with other transport aware apps, the
133      normal (non-seamless) looping with ardour as jack transport master is
134      required and is still quite usable, so don't be discouraged from using it.
135
136   * drag-n-drop from a file manager implemented for 
137       placing audio files into audio tracks
138
139   * LADSPA Presets are now saved in RDF format in
140       ~/.ladspa/rdf/ardour-presets.n3. Ardour will also 
141       read any other RDF files saved in that location.
142
143   * region list redesigned
144
145   * mouse wheel events now scroll canvas, not change mouse mode
146
147   * always store to current snapshot file, do not make read-only
148          anymore (might cause problems on older sessions with
149            snapshots if editing the snapshot)
150
151   * mouse shuttle mode (the return of "scrub")
152        a new widget replaces the ffwd/rev buttons to provide
153        continuous speed control in forward and reverse directions.
154           
155   * Added option to update actively recording regions with waveforms.
156        Much cooler than just the pink boxes, eh?  On by default, you
157        can turn it back to the plain pink boxes from the display tab
158        of the options window.    
159
160 B) MINOR IMPROVEMENTS + BUG FIXES
161    ------------------------------
162
163   * correct handling of JACK transport API when transport master
164   * improved handling of SMPTE timecode 
165        - SMPTE frames-per-second can be edited from the options editor
166        - SMPTE offset (what absolute time with respect to audio frame
167            zero is SMPTE 0:0:0:0) can be edited from the options
168            editor 
169        - correct drop frame calculations
170   * fix for "Destroy Last Capture" bug, plus a correction for
171            a thinko that caused a segv if DLC done twice between
172            captures.
173   * recent session dialog doesn't have "subtrees" for sessions
174            with just a single state (snapshot)
175   * xfade editor changes 
176          - "shade under line"
177          - fix left offset of wave display
178   * buttons/arrows on editor vertical scrollbar now work
179   * template selector hidden in new session dialog if the user
180           has no templates
181   * fix problem with exporting caused by JACK transport fixes
182   * MMC buttton relabelled "External MIDI Control", and moved
183          to MIDI tab of Options editor, along with "Send MMC"
184   * Better implemented the momentary mute and solo operations so that
185     the previous state is restored on mouse-release.
186   * added "lock", "unlock", "normalize", "reverse" to region context
187         menu
188   * add new operation to return captured regions to their "captured"
189         location (does not work for embedded/imported regions). the
190         operation is in the region context menu as "Original position".
191   * fixes for region naming when handling external audio files
192   * redesign new session dialog to use a tabbed notebook
193   * make sure option editor's "follow playhead" button is in-sync
194         with follow playhead setting
195   * fix long-standing bug with MIDI request pool running out of
196         memory.
197   * fix export of 100% zeroes in 32 bit integer sample files
198   * added MMC command when in master MMC mode for transport 
199         startup (Deferred Play)
200   * correct design flaw in creating regions from session file.
201         (fixes some odd behaviour when undoing close to
202          start of working on a session, because regions did
203          not have the correct history set up)
204   * limited shuttle speed when mouse departs the control box.
205   * keep JACK shutdown/kick message on top of editor window
206   * use "e" and "p" to position edit/playhead wherever mouse is
207   * fixes for transport button madness
208   * fix for autoloop indicator region visibility
209   * made the horizontal scrollbar be a standard one
210   * included new fader pixmaps from ryan (precursor to new theme)
211   * ExportDialog saves Track information.  It doesn't restore it yet though.
212   * LRDF enumerations are displayed in a combo box in the PluginUI.
213   * Updated gtk-ardour Russian translation and added new libardour Russian translation.
214   * Recent Sessions dialog doesn't display sessions that have been deleted.
215   * Trying to sample a file in the AudioLibrary that has been moved or deleted won't crash.
216   * fix catastrophic, stupid, unbelievable and just plain ridiculous 
217         bug in editor constructor that left edit_cursor and
218         playhead_cursor with random values when Editor::set_state()
219         was called.
220   * move "optimization flags" setting into a global autoconf file,
221      and call AM_OPT_FLAGS from most configure scripts
222   * increase size of UI request pool
223   * increase size of UI request ringbuffer
224   * finally get all tracks connected to ins+outs
225       when using "auto-connect" options.
226       (previously only the first N tracks
227        would be connected, where N was the 
228        number of physical i/o's on
229        your audio interface)
230   * prevent GTK from loading its default
231       RC files at all costs.
232   * fix gcc 3.3 "bug" in libsoundtouch
233   * start to use the new BarController widget in plugin GUIs
234   * fixed the declick on transport stop.  yes, it probably never
235       worked, which is why you heard clicks on stopping.  this also
236       fixes the problem where plugins are interrupted briefly on stop...
237       now reverb tails are undisturbed on transport stop.
238   * Audition port names are looked up at runtime.
239   * Library UI uses the new jftw in libpbd.
240   * The plugin selector is now sortable by clicking on the different column
241      titles.
242   * "stop at session end" option is now saved
243   * "splash/about window" design changes - unfinished, and wow is it
244       ugly. but its also more flexible, and i'll finish it RSN.
245   * several dialog windows forced to float over the editor
246   * "wait for loading" message removed
247   * when adding multiple tracks, GUI runs between each track    
248           (causes ugly flashing of mixer window, however)
249   * Select context menu now contains
250              "Select all in track"
251              "Select all"
252              "Invert in track"
253              "Invert all"
254                 (invert is known not to work on automation tracks)
255   * incorrect handling of stereo streams through routes fixed.
256   * check for adequate version of JACK
257   * fix recursive call to DiskStream::set_name() that caused a crash
258         when renaming a track
259   * fix PortInsert to do a pure wire-level copy - no gain, no pan
260   * count cycles for plugins
261   * make sends meter correctly
262   * clean up (longstanding) late initialization of several variables
263          (thanks valgrind!)
264   * convert error log to popup messages, mostly
265   * run Gtk::Main event loop while embedding/linking an external file
266         (and use the "watch/wait" cursor too)
267   * add a half-working detent for panner bar controllers 
268   * try to improve operation of gain/pan automation buttons
269   * Added spanish translation.  Thank you Alex Krohn.
270   * change pan line colors
271   * fix display of slide/splice mode
272   * clicks on track canvas views do not select track
273   * pack IO CLists in IOSelector in a scrolled window (needs theme name)
274   * select next IO port after making connection to current one
275         (speeds and smooths UI interaction when doing IO setup)
276   * Added spanish translation of ardour.1.
277   * test plugin configuration and display a dialog if its incorrect
278         (even when loading ... work in progress)
279   * Added russian translation of man page.
280   * Added valgrind shortcut for ardour into gtk_ardour. (arval).
281   * correct problem with lack of playback in rec-enabled
282         tracks when not using s/w monitoring
283   * apply gain to s/w monitored rec-enabled tracks
284   * fix nasty thread synchronization bug related to
285         allocation+use of session-wide pan automation
286         buffers
287   * provide (not very good) warning if rec-enable attempt
288        made on a track with no input connections
289   * more tooltips
290   * pan muting via context menu
291   * fix potential segfault in ::~Session caused by
292       double delete of playlists
293   * MIDI control for panning added back (untested)
294