TODO
====

- MP3-Wiedergabe mit Cues ermglichen
  - Wenn .clt-Datei geffnet wird, nach gleichnamiger WAV- oder MP3-Datei suchen und ...
    - die WAV-Datei ffnen
    - die MP3-Datei zur Wiedergabe auswhlen
  - Wenn .cue-Datei geffnet wird, ...
    a) die im CueSheet angegebene ...
       - WAV-Datei ffnen
       - MP3-Datei zur Wiedergabe auswhlen
    b) automatisch nach gleichnamiger WAV- oder MP3-Datei suchen und ...
       - die WAV-Datei ffnen
       - die MP3-Datei zur Wiedergabe auswhlen

- Abspeichern der markierten Cue als neue WAV-Datei (mit oder ohne Cue-List)
  - evtl. neue Spalte fr Markierung, und alle markierten Cues abspeichern
  (Mail von Nikolaos Yannopoulos <robotniko@hotmail.com> vom Mo, 29 Mrz 2004  01:01:17)

  Write cue as WAV file:
  Cue [  1] to [  1] [All Cues] [Cue in Player] [Cue under cursor]
  [x] include cue information

  Write cue points
  (o) until begin of nect cue
  ( ) until end of file
  ( ) not at all

  (o) create separate files 
  ( ) create one single file

- Markieren u/o Anzeigen der abgespielten Cue

- Beim ffnen eines Cue-Sheets auch die dazugehrige WAV-Datei ffnen

- Generate cues: Option: Add "pad" cue: Bei "Ranges" eine letzte Cue hinzufgen,
  die bis zum Ende der Datei geht (falls Dateilnge / Cue-Abstand nicht ohne Rest teilbar ist)
  (Mail von Kiyan Azarbar <clt-user@napadid.warpmail.net> vom Mo, 27 Mrz 2006  06:02:32)

- Cue-Editor: komfortabler machen
  - freie Eingabe der Zeit (Eingabeformat entsprechend eingestelltem "Time format")
  - Verschieben von Cues (Maus und <Ctrl-Up>/<Ctrl-Down>)
  - Add: Mehr Mglichkeiten der Vorgabe der Zeiten der neuen Cue (z.B. folgend auf vorherige Cue)

- SetCDPerformerAndTitleFromCDFileName: Separator zwischen CD-Performer und -Titel (aktuell "-") konfigurierbar machen
  (Mail von Wilfried Ehrenfeld <wilfried.ehrenfeld@web.de> vom Do, 30 Jul 2015)

- Frames angebbar machen (statt 75 fix). Siehe auch: http://blogs.creativecow.net/SterlingGlass/after-effects

- Erweiterung des Dialoges "Add Offset To Cue Markers" um die Eingabe eines End-Offsets
  und/oder einer Cue-Lnge, um die die Cues verlngert/verkrzt werden sollen
  (Mail von Jesus Lazaro <jesus@aguamassmedia.com> vom Mo, 03 Aug 2009  01:37:25)

- Acoustica: "Mit Acoustica gibt es scheinbar Probleme. Speziell mit Bereichen. Da wird nur der erste Bereichsmarker erkannt."
  http://www.acondigital.com/forum/viewtopic.php?t=1132

- WavPack 4.x

- Playlist: Laut http://www.sonicspot.com/guide/wavefiles.html Angeblich spielt die Reihenfolge der Segmente in der Playlist keine Rolle,
  weil sich die Reigenfolge der abgespielten Cues aus der Angabe "Position" in den Cue-Points ergibt.
  Dies ist allerdings unlogisch, da ein Cue-Point ja mehrmals in einer Playlist vorkommen kann (oder?).
  In CoolEdit und Audition steht bei "Position" derselbe Wert wie bei "Sample Offset", also der
  Offset innerhalb der Wave-Daten, an dem der Cue-Point beginnt, und die Reigenfolge der Segmente
  innerhalb der Playliste spielt sehr wohl eine Rolle.
  -> Playlist auch speichern (dynamisch allokieren) und beim Schreiben in die WAV-Datei wieder zurckschreiben
  -> ggf. informative Anzeige, da die WAV-Datei eine Playlist mit n Segmenten enthlt

- Chunks unterhalb "list" (Data List Chunk)

- "labl" (Cue-Label), "note" (Cue-Notes), "ltxt" (Labeled Text, auch Cue-Lngen), "smpl" (Sampler = MIDI-Angaben), "inst" (Instrument)

- ltxt-Chunk (Labeled Text): Cue-Lngen; kann auch Text enthalten (chunkSize dann > 20), genau wie bei Labels oder Notes
  Purpose bei CoolEdit: rgn, indx, beat, trak
  knnte aber auch sein:
  - scrp = Script Text, welcher dann ab Offset 0x1A ist
  - capt = close-caption (was auch immer das heit)
  -> Anzeige als Cue-Typ-Bezeichnung
  -> Fr jede Cue auch den Labeled Text in einem String speichern und beim Schreiben in die WAV-Datei wieder zurckschreiben
  -> Auch die anderen Daten des ltxt-Chunks speichern (Country, Language, Dialect, Code Page)

- Wenn Button [<= WAV] oder [=> WAV] bettigt wird, und es ist noch kein WAV-File geladen, dann ffnen-Dialog aufrufen
  (Oder vielleicht besser doch nicht? Denn sonst schreibt man mglw. die Cue-List in die "falsche" WAV-Datei zurck...)
  -> Evtl. [Open WAV] ganz weglassen, und [<= WAV] und [=> WAV] ffnen *grundstzlich* zuerst einen Open-/Save-Dialog!
     - WAV-Dateiname wird intern gemerkt
  ???

- Manual: Known Bugs: Funktioniert nicht auf asiatischen Windows-Versionen. Fehlermeldung:
  "Fehler beim Lesen von RichEditCueList->Lines.String: Fehler bei Einfugen von RichEdit-Zeile"


DONE
====

+ Import und Export von Audacity-Label-Tracks (.txt-Dateien).
  - siehe Unterverzeichnis "Audacity"

+ Kommandozeilenschalter -t zum Exportieren der Cue-List als Text (wie File > Save Text file [Strg-T]).
  (Mail von Karsten Steinhauer <karsten.steinhauer@mcgill.ca> vom Fr, 20 Apr 2007  12:58:49)
  - ggf. mit zustzlicher Auswahl des Display-Formats

+ Manual: into the clipboard oder saved to a plain text -> into the clipboard or saved to a plain text
  - in manual.htm (Entwicklung und Homepages) bereits korrigiert, aber noch nicht ins Helpfile compiliert

+ INI-Datei in %LOCALAPPDATA%\CueListTool, falls Installationsverzeichnis nicht beschreibbar.
  -> Umsetzung: Fr die Installation sind keine Administrator-Rechte mehr
     erforderlich. Als Installationsordner wird der lokale AppData-Ordner
     des Benutzers vorgegeben, was aber (wie bisher) gendert werden kann.

+ Hilfe mit Inhaltsverzeichnis und Navigationselementen
  (oder Seitenleiste links)

+ Ausgewhltes Tab (View, Edit) merken.

+ Fehler bei der Wiedergabe hochauflsender WAV-Dateien (z.B. 24 Bit).
  - Wenn die Gre des WAV-Buffers in den Einstellungen ohne Rest durch 3 teilbar ist, wird die Datei korrekt abgespielt.
  - Das Lesen, Schreiben und Wiedergeben einzelner Cues funktioniert ohne Fehler, da Cues Sample- und nicht Byte-basiert sind.
  -> Bei der Wiedergabe den Buffer nur mit vollen Samples fllen, d.h. die zu verwendende Bufferlnge auf einen Wert abrunden, der glatt durch die Anzahl von Bytes pro Sample teilbar ist!


Evtl.
=====

- Wiedergabe zwischen benachbarten cues nicht unterbrechen
      - Das UpDown-Control mu weitergeschaltet werden, jedoch ist es dafr in OnWaveOutDone() bei
        nPlaySamplesRemaining == 0 noch zu frh, da noch (nWaveBuffers - 1) Buffer wiedergegeben
        werden mssen, die sich auf die vorherige Cue beziehen. Folge: Die Anzeige "spinnt".
      - Wenn Cue-Points bersprungen werden, entsteht ein "Knackser" (drfte eigentlich nicht).
      - ... (?)

- Bug: Wenn eine Cue-Datei keinen Prefix enthlt und man auf die Frage,
  ob eins eingegeben werden soll, mit "Ja" antwortet, gibt es eine
  Zugriffsverletzung, und die Cue-Datei wird nicht geladen.
  -> nicht mehr nachvollziehbar

- Bug: Wenn "Generate Cues" direkt nach dem Programmstart aufgerufen wird (2000 Cues), erscheinen RTF-Tags im RTF-Fenster.
  Nachdem dann eine WAV-Datei ausgewhlt wurde, wird der Text richtig angezeigt.
  -> nicht mehr nachvollziehbar

- Label statt Panel fr Display (wg. "Flackern"!)
  -> Kein Unterschied

- Cue-Player:
  - OnWaveOutDone: Nchste Cue abspielen, ohne Wiedergabe zuvor zu stoppen (Regler "springt" zurck+vor; Gap; Wenn ganz am Ende, regelm. Gaps) 

- "%nl" wird im Format-String zu 0x0A konvertiert, nicht zu 0x0D, 0x0A.
  Bei Copy & Paste in einen Text-Editor erscheinen dadurch statt Zeilenumbrchen Steuerzeichen (^J).
  -> Auf dem Home-Rechner nicht nachvollziehbar (Phnomen trat auf Notebook auf)

- Help > Check for Update
  -> http://www.StefanBion.de/cueltool/check?ver=1.4.5.0&lang=en
     - Test, ob Java Script aktiv
     - Auswertung der Variablen (ver, lang)
       - lang ggf. ermitteln -> auch fr "Go to website / download"

- Mglichkeit, das Programm aus Audition heraus zu starten mit bergabe des Namens der aktuell im
  Wave-Editor gefneten Datei und einer Option, die Cue-List daraus zu laden und anschlieend ein
  Cue-Sheet zu erstellen.
  -> In den Favoriten kann man leider keine Variablen (Dateinamen) bergeben.
  
- Feature request:  Can cue lists be made exportable from wav files
  greater than 2gb in size (up to the wav-format max of 4gb)?
  (Mail Bret Ford <bford@pemberley.org>, Di, 19 Apr 2005  04:37:27

- Wav-Format "Microsoft ADPCM" (Mail von Othmar Wrmle <wuermle@puk.unibe.ch> vom Mo, 30 Jan 2006  16:07:50)

- Feature request: Track-Namen aus Datei in Cue-List-Fenster laden (bestehende Namen werden berschrieben)
  (GB-Eintrag von Alex yescool2002@yahoo.com vom 04.04.2007)

- Hinweis von Justin <blancoj@seas.upenn.edu> (April 5, 2007, 8:53:12 PM):

	Using CueListTool on >4 GB .wav files

	can you easily adapt your code to deal with .wav files that are larger than >4GB?
	These are files that have FF FF FF FF in the "ChunkSize" field at byte offset 4,
	and are perfectly readable and markable in Adobe Audition 2.0.  Right now, if I
	try to use CueListTool to open one of these large files, I get the error: "cannot
	find fmt chunk." I'm assuming your code relies on the "ChunkSize" field to find
	the EOF, and hence the "cue" chunk.  So it appears that all you would need to do
	to make your program work for >4GB files would be to use the data "SubchunknSize"
	fields (starting with the one at byte offset 40) to find the EOF, rather than
	using the ChunkSize field.

- GB-Eintrag von Alejandro <yescool2003@yahoo.com> vom 24.07.2007:

	Would you consider adding to next version the possibility to import the track names
	from a text file (or clipboard)? That would make adding track names easier that
	going to every line in CueListTool.

- Komprimierte WAV-Formate untersuchen u. ggf. ermglichen.
  -> siehe Beispiele in Ordner "Test\Abweichendes WAV-Format"
  -> Nicht umgesetzt, da es hierfr keinen einheitlichen Standard gibt, sondern x proprietre Implementierungen.


Nicht umgesetzt
===============

- Import ID3 tags from MP3 file as Cue List
  - ID3v1/1.1 tags
  - ID3v2 tags
  -> Es gibt keine allgemeingltige Lsung, Cue-Informationen in MP3-Dateien einzubetten.
     Proprietre Lsungen wie das Winamp-Plugin mp3cue, das eine CUE-Datei in eine MP3-Datei einbettet, funktionieren nur mit der betreffenden Software (Winamp).

