aboutsummaryrefslogtreecommitdiff
path: root/doc/RELEASE.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/RELEASE.txt')
-rw-r--r--doc/RELEASE.txt474
1 files changed, 474 insertions, 0 deletions
diff --git a/doc/RELEASE.txt b/doc/RELEASE.txt
new file mode 100644
index 0000000..ac0d723
--- /dev/null
+++ b/doc/RELEASE.txt
@@ -0,0 +1,474 @@
1HD24Connect revision history and roadmap
2========================================
3
4Implemented features are set in the past tense. A version is complete when all
5planned versions are implemented. Until then, sub-versions are used, e.g.
60.3.1 already may have some (but not all) 0.4 features.
7
8This document ends with suggested features, but is in reverse chronological
9order otherwise, and as such starts with features planned for the next
10release.
11
12Current status is somewhere in the middle, search for the text
13'CURRENTLY IN PROGRESS' to find out what is being done right now.
14
15Version 1.1.0 => CURRENTLY IN PROGRESS
16
17- Added some unit tests to perform automated, scripted testing
18- Added frequency/gain display to mixer
19- Performed code cleanup:
20 - Moved recorder, mixer and HD24->PC file transfers
21 to their own modules
22 - permit various interfaces (X, Cocoa, Curses, etc)
23 - possibly permit recording macros?
24 - permit multi-window interface (show transport/time/mixer
25 simultaneously) and allow resizing those windows
26- Implement batch transports
27- Implement realtime recording
28- Auto-detect feedback loops!
29- Change to multi-window interface to allow viewing multiple tabs at once
30 (for example both recorder and mixer at same time)
31- Implement MIDI control/control surfaces
32 - Control other MIDI devices with HD24tools
33 - Control HD24tools with other MIDI devices
34- Implement LADSPA support for mixer FX
35 - Add default GUI for common effects, allow them
36 to be controlled through control surfaces.
37- Implement keyboardless operation
38- Add wave viewer for easier selection of export range
39- Add functionality to allow changing song naming convention for export
40- Simultaneous dual drive support. Benefits:
41 * allow copying songs between drives
42 * copying songs/projects from/to drive images
43- Add drive images that are found in drive image dir to
44 drive image dropdown to make it easier to switch between
45 real and virtual drives
46- Implement functionality to signal falling out of record
47 mode if needed (when drive is full, etc)
48- Create an interesting demo drive image to
49 allow people to play around with it
50 (low prio: people can download examples from raw-tracks.com
51 at a $5 fee)
52
53Version 1.0.0 => Will remain in alpha
54
55- Made source code available to the general public
56- Added recovery feature to deal with a specific class of
57 'unexpected end of song' error on fragmented drives
58- Added block checksum calculation to library
59- Implemented saving of changed project name/song name to disk
60- Added code for cluster allocation
61- Added code for converting orphan clusters to allocation entries
62- Compiling framework was changed to allow smoother Mac compiles
63- Added mixer tab with save/load mixer settings functionality
64- Finished up restructuring of mixer to make it work again
65- Added save functionality to allow renaming drive
66- Made detection of corrupted drives smoother to prevent need for
67 http://ringbreak.dnd.utwente.nl/~mrjb/hd24tools/drivenumber.html
68- Added Check for 'forbidden characters' in filenames
69 \ / : * ? " < > |
70 (HD24 accepts these but can have unpredictable effects on
71 OS side)
72- Added allocating functionality to allow lengthening songs
73 automatically during transfer
74- Altered layout of drive catalog to fit longer song names
75 and to have a bit larger margin on the left for printing
76- Added functionality to allow 1-click toggle between
77 sample rates of 44.1 <=> 48 kHz and 88.2 <=> 96 kHz
78 (toggling between lower/higher sample rates is not possible
79 without conversion as higher sample rates use 2 recording
80 tracks per channel).
81- Added dialog for simpler 'headerless' live recording recovery
82- Implemented initial headerless live recovery scheme
83- Made headerless live recording recovery read-only
84- Added functionality to create empty drive images
85- Created dialog for setting song parameters
86- Implemented Mixer JACK support
87- Implemented framework for smarter library loading.
88 This should allow Mac (and even Windows) users to have
89 JACK functionality, and will no longer require Mac
90 users to startup HD24connect by running an AppleScript.
91- ... and made library smart loading even smarter by letting
92 it look in the program directory first, the PATH dir next,
93 and all usual library directories next. This should result
94 in library loading that Just Works in most cases and
95 will allow JACK support on all platforms.
96- Wrote documentation explaining how to build HD24tools
97 from source (Linux, 64-bit Athlon)
98- Added functionality to create projects
99- Added functionality to create songs (incl. superblock
100 song count update)
101- Made sure changes in song/drive/project names also reflect
102 properly in FST 1.00 drives
103- Added functionality to automatically pre-record silence
104 in songs on creating them
105- Added functionality to update song usage list after
106 song creation
107- Automatically select song as 'default' after creation
108- Implemented reload of drive list/catalog/project list/song list
109 after major write operations
110- User interface settings reloaded as appropriate after writing
111 to drive
112- Added options dialog to allow (among other things) specifying
113 a filename pattern for file transfers to PC
114- Made write-protect checkbox work
115- Added drive format functionality
116- Added functionality to delete songs
117- Added functionality to delete projects
118- Made 'bypass' button for mixer work
119- Added timeout-style messages to alpha display
120- Implemented functionality to display song information
121 on alpha display
122- Implemented functionality for sorting songs inside a project.
123 This allows easily reordering songs by renaming them.
124- Implemented SMPTE timecode striping- for now limited to
125 30fps nondrop starting at 00:00:00.00.
126 May not work on sample rates other than 48kHz. In fact,
127 it may not work at all.
128- Made sure superblock is updated with number of free clusters
129 after song transfer to HD24 drive/creation of new song
130- Implemented write-protect to prevent writing to drives when
131 working with header files.
132- Implemented functionality to reduce number of sectors read
133 when transferring fewer tracks. The expected performance
134 win is not very big as the number of drive seeks is about
135 the same, but the weight of the added logic is minimal.
136 Perhaps on some systems the difference is noticable. YMMV.
137- Implemented .wav writing without libsndfile. If it is missing,
138 you'll still be able to transfer such files to your computer.
139- Made sure write functionality is disabled for drives found
140 not to be valid HD24 drives (due to corruption, or perhaps
141 they're simply OS drives which we DEFINITELY don't want to
142 overwrite)
143- Implemented locate point saving
144- Implemented (preliminary) transfer-time mixing of tracks
145- Made sure song/project are made default after selecting them
146- Fixed a non critical bug where closing the program during
147 playback caused a crash.
148
149TODO: Bugs to fix:
150
151- After quickformat of a drive, catalog and related screens are
152 not updated.
153
154TO DO: Testing and packaging:
155
156- Fixme: update all of drive info page on refresh
157 (What's missing?)
158- Make sure that 'new folder' button works properly on
159 all platforms! (Fixed on Windows, TO DO on mac)
160- Distribute Mac version as Universal Binary
161- Finally get .aif, .sd2 and .dig/.sd to work properly!
162- Check all FIXME and TODO comments in code
163- Get 16-bit export to work (low priority)
164- Documentation
165
166Version 0.9.0
167
168- Implemented tabbed interface
169- Added functionality to export drive images
170- Added time stamp to catalog
171- Added drive catalog display to drive inforrmation
172- Changed default time display to 30 frames per second instead of 1/100 sec
173
174- Added the 'Recorder' with various new features
175- Proper solo/mute buttons instead of solo/mute by channel selection
176- Track arm buttons
177- 24-channel display faithfully emulating what the HD24 would show
178- Peak modes: No peak hold, momentary peak hold, continuous peak hold
179- Added locate slider to rapidly jump to any point in the song
180- Added punch in/out locate points
181- Added visual clue to transport controls showing that clicking 'set'
182 can set locate points
183- Added input monitoring (mainly Linux)
184- Added dropdown to map stereo inputs to channel pairs in various ways
185- Fancy 7-segment LED display
186- Equally fancy info display
187- Fancy, bigger graphical buttons with LED for transport control
188- Fixed a clipping bug in portaudio playback (playback only)
189
190- Added signal detection to track selection in transfer tab
191- Added dropdown to allow a flexible custom size limit for exported files
192- Added dropdown to stamp songs with a different sample rate
193
194- Added tab for transfer back to HD24
195- Added functionality that permits selecting many files at once
196- Added functionality to automatically spread multi-track files
197 across several HD24 tracks
198- Added functionality to automatically mix multi-track files to mono
199- Added functionality to allow erasing tracks
200- Added functionality to allow moving tracks (including track action)
201 up or down
202- Added functionality to clear filenames from tracks
203- Added functionality to overwrite existing audio with audio from a file.
204 Many file formats are supported (subject to what is supported by
205 libsndfile).
206- SD2 file format support (does this work now?)
207- Create new folder from file browse dialog (does this work now?)
208
209
210Version 0.8.2
211
212- Hardened the software in some places to be more crash-resistant
213 in handling corrupt drives
214- Some compatibility enhancements
215- Fixed a bug in the calculation of the total number of bytes to export,
216 which caused the auto-split popup not to be displayed in some cases.
217
218Version 0.8.1
219
220- Fixed bug that caused auto-split popup to always appear for long recordings,
221 even if only a small fragment was being exported.
222
223Version 0.8.0
224
225- Printing disk contents on paper and file
226- Entirely replaced export engine for faster exports
227- Created OS native installers.
228- Allow transferring multiple songs at once (song choice 'All Songs')
229- Added possibility to export to stereo and multi-track files.
230
231Version 0.7
232
233- This never-released version adds high samplerate support.
234
235Version 0.6.2
236
237- Fixed a bug that caused the Windows version to lock up when loading a header file
238- Initial release for MacOS/X 10.4
239
240Version 0.6.1
241
242- Fixed a bug in the drive name generation in Windows
243
244Version 0.6
245
246- Initial Macintosh OS/X port. Still flaky due to interesting behavior of packages that HD24connect depends on.
247- Relabeled button "Transfer to PC" as "Transfer to Mac" for OS/X version.
248- Fixed bug that cleared surface of cancel button during transfers.
249- Added warning dialog to improve user friendliness when no HD24 drive is detected on program startup
250- Added menu option 'File/Detect HD24 drives' to allow re-scanning for drives after program startup.
251- Project directory browser now uses OS native file dialog.
252- Added menu option to allow creating header files from within hd24connect
253- Removed portaudio dependency (this has no visible impact).
254- Added Estimated Time of Arrival in transfers
255- Removed dependency on command line options to enable recovery features
256- Added application (desktop) icon for Windows
257- Allow exporting to more different file formats (currently WAV and AIFF)
258- Altered file naming for export
259- Cleaned up code that deals with drive name generation
260- Version control is now in place, allowing multiple people to work
261 on the project at the same time (Welcome, Randy!)
262
263Version 0.5
264
265- Added --force feature to allow using hd24 disks with invalid MBR.
266- Added --header feature which allows to use a fixed header file along with
267 a corrupt disk. This permits us to recover audio without need to modify
268 data on the corrupted disk.
269- Added portaudio playback. For the Windows version this means that audio
270 preview is now supported, while under Linux the Jack Audio Connection Kit
271 is no longer required for audio preview.
272- Fixed a bug in Linux audio preview. This minor bug affected exactly
273 1 user (me).
274- Added dialog to allow renaming drives, projects and songs (in memory only)
275- Altered project handling to more easily allow in-memory edits of projects
276
277Version 0.4
278
279- Fixed a minor bug with the file write caching.
280- Added a button to allow the user to interrupt a transfer.
281- Fixed flakyness in audio playback
282- Added dialog to allow manually setting locate points
283- Fix bug which causes windows version not to display song names
284- Added feature to allow setting loop start/end during playback
285- Implemented export to wav (for now, instead of raw) using libsndfile
286- Implemented basic loop mode for audio playback.
287
288Version 0.3
289
290- Added file write caching to speed up export under Windows.
291- Added direct playing under Linux (still flaky)
292- Altered library to resolve issue with STL string memory leaks
293
294Version 0.2
295
296- Added support for locate points.
297- Added backwards export.
298- Initial windows version.
299
300Version 0.1
301
302- First workable version.
303
304HD24hexview revision history and roadmap
305========================================
306
307Future
308
309- Verify/Fix any remaining issues with 4 GB limit on Windows
310- Correctly determine drive size
311- Allow multi-sector paste (from file).
312
313Version 1.4beta
314
315- Replaced code for windows drive size detection.
316
317Version 1.3beta
318
319- Added expert mode as safety switch to prevent accidentally writing to disk.
320- In expert mode, added a big fat warning for writing to the default boot
321 disk (/dev/hda or \\.\PHYSICALDRIVE0) and a (not so big & fat, but still)
322 warning for writing to other devices.
323
324Version 1.2beta
325
326- Added d-<hex> feature to dump sector <hex> counting from end of disk
327 This allows dumping the last sector from disk without having to figure
328 out the number of sectors based on brand and model of the disk.
329 Unfortunately, this does not work properly yet for Windows devices.
330
331Version 1.1beta
332
333- Fixed a bug in windows version that required output file to already exist
334 before writing
335- Added single-sector checksum (no multi-sector checksum yet)
336
337Version 1.0beta
338
339- Implemented compare
340- Implemented write offset
341
342Version 0.3
343
344- Implemented edit and write back of sectors
345- Implemented single-sector paste
346- Ported to Windows
347- Resolved a 4 GB issue with windows version
348- Allowed using files as devices
349
350Version 0.2
351
352- Implemented support for setting blocks
353- Resolved 4 gigabyte limitation for linux
354- Implemented scan
355- Implemented write to file
356
357Version 0.1
358- Implemented code to autodetect HD24 disks
359- Implemented feature to navigate disks with +/-/o
360
361========================================================
362Version x.x
363
364Spare ideas/suggested future features:
365
366- Allow exporting audio based on a 'guide track'. If a nonempty audio track has been exported, after which the disk has gotten corrupted, this audio track can be used to find back the other tracks without allocation information.
367
368 Will not be implemented anytime soon; this scenario is too
369 rare. Also, should recovery be needed, other ways exist to do so.
370
371- Allow the program to use installed audio encoders to
372 encode to mp3/flac/etc
373
374- Time line/draggable export locators
375
376 Proposed is a graphical display to allow
377 visually setting locate points for export.
378 Alternatively, a 'scrub editor' style display would be
379 workable.
380 While interesting, it would be rather time consuming
381 to build such a time line. For now, a draggable slider
382 is made available to ease the pain a bit.
383
384- Check available drive size before export
385
386 I'm not sure if I already implemented this. Obviously,
387 it is a required feature.
388
389- Allow transferring multiple projects at once
390 (project choice 'All projects')
391
392 Will probably be implemented at some point, but
393 custom song naming convention is then required first.
394
395- Allow automatic deletion of files when transfer is interrupted
396
397- Normalizing audio as it is being exported
398
399 This will require analyzing the entire export range
400 prior to export (possibly more, if the export is a
401 single song of an entire live performance; it is likely
402 that we'd want to normalize the whole performance
403 equally.
404
405- Allow exporting to different bit depths
406- MIDI control (both controlling HD24tools via MIDI or
407 let HD24tools control HD24 recorder via MIDI).
408
409 The benefit of allowing HD24tools control via MIDI
410 is that frequently requested functionality that the
411 HD24 does not support is a possibility; for instance,
412 the HD24 does not allow selecting songs via MIDI,
413 whereas such implementation in HD24tools would be
414 a fairly simple matter once it is MIDI enabled.
415 Someone also mentioned that possibily a recording
416 log could be kept by HD24tools when connected to
417 a HD24 via MIDI by simply keeping track of record
418 events. Unfortunately the HD24 does not send MIDI
419 for track record enable, even though it supports
420 track arming via MIDI (the good news is that some
421 MIDI functionality is supported even though the
422 HD24 itself does not send out MIDI for those actions).
423
424- Storing metadata on HD24 drives
425
426 There are some possibilities for this. One way is
427 to create a song contaning (for instance) a FAT
428 file system, and using some unused space in the
429 song entries to allow entries in that FAT file
430 system to uniquely point to them; this would allow
431 storing song-unique info (such as track data, etc)
432 in that file system.
433
434- Locate points in directory listing
435
436 This would make the catalog file a fair bit longer.
437 As such it would have to be an option that could
438 be turned on/off.
439
440- Virtual BRC application
441
442 This would be limited to whatever MMC supports.
443
444- Copying projects
445- Batch transfer
446- One click drive backup
447
448 These all come down to the same thing: find a
449 way to not require user intervention while
450 transferring large amounts of data.
451 Perhaps a 2-click drive backup (with the possibility
452 to edit the batch before export) is more useful than
453 a 1-click backup.
454 The main benefit (not having to wait actively while
455 audio is being transferred) is the same.
456
457- Calculate approx. occupied drive space per song, and add
458 to catalog.
459
460- Display currently selected song/project on other tabs as
461 well
462 - current song is now displayed on alpha display.
463
464- Allow different UIs (proposed is command line interface,
465 non-X interface, Cocoa interface, ...)
466
467- Control surface support, to allow using MIDI-enabled
468 consoles to control the HD24tools mixer/recorder
469
470- Add Vista tip to manual (regarding admin account for write
471 support)
472 Also add this info:
473 http://tech.groups.yahoo.com/group/hd24/message/12102
474