
------------------
	TODO
------------------

- cdrdao: --overburn
Abrechen berrpfen. Auch den vom mplayer preview!
cue-preview funktioniert nun nicht mehr! :-(
- slotStartMplex:
	batch mode.

-------------------------------------------------
- Filter -J fps=29.97:25 bzw. andersrum benutzen
	PAL<->NTSC
- Codereview: englische Kommentare
- Code redesign: Transcode Klasse, unabhngig von GUI!

	
Wnsche von: adets@idsk.com

List of the major problems so far:

 - if you'll set your resolution to different value than default (for example, 
480x480 instead of 480x576) the video will be encoded to default resolution 
anyway (at least in some cases);

Wishes:
 - allow configuration of mpeg2enc encoder (you are calling it mjpeg for some 
reason) and not only bbmpeg;
 - probably it is better to separate configuration of video/audio encoders to 
the different tabs from transcode tab, leave only basic settings on transcode 
tab;



Anderes:

--write_pid file
              write pid of signal thread to file [off]
              Enables you to terminate transcode cleanly by sending a SIGINT
              (2) to the pid in file. Please note file will be overwritten.
              Usage example

              $ transcode ... --write_pid /tmp/transcode.pid &
              $ kill -2 `cat /tmp/transcode.pid`
	Danach muss aber scheinbar noch ein normales
		kill `cat /tmp/transcode.pid` folgen

	es bleiben tcextract prozesse zurck.
		
 - aspect_ratio... Den aspect-ration entfernen.
        Ein checkbox machen, ob man ihn haben will oder nicht.
        Fr asr diese Zeilen auswerten:
        [transcode] V: import frame     | 480x480  1.00:1  encoded @ 4:3

 - bbmpeg besser dokumentieren:
	vbr = variable bitrate
	cbr = const. bitrate
	mux = multiplexing
	vbv = video buffer verifier
 - bitrate:
 	slotCalcVideoSize testen.
	Falls bei bitrate eine eingabe gemacht wurde:
		Option -f 25 angeben
#		 *NUR* Type 2 oder 5 auswhlen!
#	Funktionniert nur bei SVCD (5)
	mplex funktioniert nur bei SVCD (4)
		Ausgabe von mplex. Wenn ein Fehler kommt und
		Type=5 gewhlt war, Type=4 vorschlagen.
	Stimmt die Gre?
	
 - lead-in
 - Aus zwei Avi-Dateien den Film zusammensetzen.
   transcoden, mergen, mplexen
	Dazu kann man zu Anfang "avimerge" verwenden!
 
 - -X unb -B mit der dritten Option betreiben?
 - Die Dokumentation bersetzen.
 - g++ -make[3]: Entering directory
	 `/usr/local/kavi2svcd-0.4.1/doc/en'
	 /opt/kde3/bin/meinproc --check --cache index.cache.bz2
	  ./index.docbook
		WARNING: couldn't find xmllint

 - fastcalc von sojus berprfen. Das ist zu langgestreckt.
 - Fge den mencvcd ein. Ein script aus dem neusten mplayer, der erstellt auch
	vcd's aus anderen Dateien.
  Dazu msste man einen Radiobutton o.. auf die Frontseite machen...
  	aber wieso? Wenn das nciht konforme auch mit transcode funktioniert,
   	werde ich erstmal drauf verzeichten.
  Kommentar von sojus:
  for your aspectratio problem, please have a look at the "-ratio" option of
	mencvcd, which points to the ratio option of the yuvscaler. i haven't used
	it myself, but it seems straightforward. examples are at the end of the
	yuvscaler manpage. as i used this tool not so often yet (not too much
	time...) i haven't experimented with the fast scalers mentioned there, but
	i will... someday...
			 - Erstellen aus nicht konformen mpegs.
			 		mencvcd <output> -mpgonly -ratio XXX -svcdout / -size XxY
					-vnorm p <input>




-----------------------------------------
 DONE Version 0.8.2
-----------------------------------------

- avi-eingabezeile sollte Eingabe akzeptieren
- export_asr und import_asr fr transcode
- vcdimager derart berarbeiten, dass man mehrere Dateien im Filedialog auswhlen kann...
- Ausgabe Pfad in den Einstellungen angeben, wo alles hingeschrieben wird.
- basismodus ergnzt.
- Project speichern und laden
- Project an der abgebrochenen Stelle beim Laden fortsetzen-.
- Project an irgendeiner Stelle abbrechen und speichern.
-	Project automatisch speichern.
- Vorwrtsbutton im basismodus mit leben fllen
Images fr
 - Information
 - Hinweis
 - Erfolg (beim brennen oder transcoden o..)
 - Save Project
 - Load Project
- Button (Schlieen) der Prozesse abhngig vom Erfolg einfrben.
	setPaletteForegroundColor ( QColor( r, g,b));
	=> Abhngig vom Erfolg wird ein image gesetzt.
- Batchmode fr transcode. Es knnen mehrere Dateien ausgewhlt werden. (vgl. dir mode)	
-----------------------------------------
 DONE Version 0.8.1
-----------------------------------------
-Daten von subtitler werden beim nchsten Aufruf wieder bergeben.
-subtitler um mplayer erweitert, da transcode nur ppml untersttzt.
-in case of subtitle -x mplayer is set automatically
-fixed trancode abbruch. Zurck bleibt aber immer ein mpeg2enc Prozess! :-(
 dafr gibt es das Script "restlosKillTranscode"
-Quellbitrate anzeigen.
	(evtl. ein Fenster im Contextmen mit ALLEN Infos)
-Errorhandling Frame, Width, Height -> vgl. sourceforge
	=> Falls die Werte nicht erkannt werden, werden die Felder als Eingaben
		freigeschaltet.
-Bitrate <-> Dateigre von Transcode.
	Wenn man die Dateigre angibt, soll er die
	Bitrate ausrechnen
-Nun wird auf dem mplex-tab immer die m2v/mpa dateien abhngig von der ausgabedatei
	auf dem transcode-tab gendert.
	void Kavi2svcd::slotFillMplexTab(){
---------------------------------------------
 DONE Version 0.8
---------------------------------------------
- fix: system aufrufe lieen kavi2svcd einfrieren.
	wieder qprocess verwendet.
- sigstop eingefgt.
- new spanish translation
-----------------------------------------------
 DONE Version 0.8a
-----------------------------------------------

				- getInfo mit tcprobe -i machen...
- Berechnung der Bilder bei MPEG berarbeiten
- --update_scan_offsets bei vcdimager einfhren
- es lt sich pal/ntc auswhlen. => auflsung.
- it is not possible to specify audio import module;
- it is possible to specify even video export module as an audio export module
- rudimentrer directory mode ergnzt im Kontextmen
	Dann muss der Fortschrittsbalken aber auch fr jede Datei berarbeitet werden.
	OPTION mode und IMPORT mode
- keyframes zur Option -w (bitrate) hinzufgen...
	Habe einfach das Feld erweitert.
- das abbrechen von cdrdao oder cdrecord funktioniert nicht richtig.
	Nun ber: kill -SIGINT <pid>
	Dafr muss aber cdrdao und cdrecord mit dem suid bit gesetzt sein.
	sudo wird nicht mehr verwendet!!
- Eigene getInfo-Klasse angelegt. Code redesign
- don't warn every time about missing sudo, cdrdao etc.
- calculate estimated file size. even is -w is not set.
	Bei SVCD ist das Ergebnis ca. 30% kleiner als errechnet. (wegen VBR)
- VCDClass redesign
- Mehrere Signals knnen nun an ein Prozess gesendet werden.
- Ein Struct an VCDClass bergeben. Aus der struct IM VCDClass das Kommando
erzeugen. So kann auch in der Automation eine struct bergeben werden und
jedesmal ein anderes Kommando erzeugt werden.
Die Schnittstelle setKommando kann ja bleiben...
- kavi2svcd-script berarbeiten  ==>> Version 0.8
  script schon bei transcode beginnen
  Im Skript: Die Checkboxen "Dateienlschen" mit leben fllen.
- Wahlweise tcmplex benutzen.
- it doesn't allow to specify a directory as encoding source though transcode
allows this;
- DateiauswahlDialog:
	Subtilte file auswheln.
	In Kontectmen	=> Version 0.8
	verweise-> ksubeditor.
- Contextmen: Wenn subtitler gewhlt, dann einen Haken vor das Menn machen!
	Ebenso bei DirMode, Interlace und Range of frames
- setPreferences zwischen kavi2svcd und PrefClass mit einer Struct gestalten.
- Preview fr cue-file in cdrdao einbauen.
	mplayer cue://file.cue
- subtitler auch in eine struct zusammenfassen.
- vcdimager: Wenn man mehrere mpegs nimmt, sollte aus der Liste die
	totale Gre aller Dateien berechnet werden!							
-----------------------------------------------
 DONE Version 0.7
-----------------------------------------------
- manpage von transcode u.. ins kontextmen aufmehmen.
- Transcode: Ausgabedateien vorbelegen
- MPLEX-Tab: wenn man die video-datei auswhlt, soll er die mpa-datei vorbelegen.
	und die Ausgabedatei vorbelegen.
- "Start"-Button entfernen.
- transcode -I einfgen
- Benutze fr die lib-Angabe den Befehl
	tcmodinfo -p
- Nun werden Systemfonts genutzt.
- TOOL: (-y) mjpeg, bbmpeg um mpeg erweitern. !!! Ist doch schon durch bbmpeg gegeben.
	zustzlich zur Nutzung von tcmplex
- nice level einbauen in mplex und andere
	Das kann in die Preferences rein.
	10-15 funktioniert bei mir gut!
- spec-file angepasst.
	rpm -ta kavi2svcd-0.6.1.tar.gz
	sollte nun ein RPM erstellen.
- cdrecord untersttzen:
  cdrecord dev=/dev/hdf -v driveropts=burnfree -dao cuefile=videocd.cue
 	ab version 2.01a14
- Ausgaben von transcode speichern in ein logfile.
	- letzte Kommandozeilen von transcode speichern (als history)
		Die in das logfile schreiben.
- Noch mehr Vorbelegungen, wenn man eine Datei irgendwo ausgewhlt hat!!!
		z.B. bei vcd-imager das cue-file in dem Entsprechenden Verzeichnis...
		Auch zwischen den einzelnen Tabs vorbelegen, wenn die Felder leer sind...
		=> schon bei der Auswahl der erste AVI:
			-> Ausgabe von Transcode   OK
			-> Datei-input fr mplex   OK
					ebenso wie der output. OK
		=> Wenn eine Datei bei vcd-imager eingefgt wird, die cue-Datei vorbelegen. ok
			-> diese cue-datei auch auf dem CD Burn-Tab vorbelegn. ok
- cdrdao: cdrecord: Ausgabe richtig interpretieren!
Writing pregap for track 1 at -150
Starting new track at sector: 0
Track 01:    1 of    1 MB written (fifo 100%) [buf  98%]   4.1x.
Track 01: Total bytes read/written: 1058400/1058400 (450 sectors).
Starting new track at sector: 450
Track 02:  677 of  677 MB written (fifo 100%) [buf 100%]   4.3x.
Track 02: Total bytes read/written: 710920224/710920224 (302262 sectors).
Writing  time: 1071.130s
Average write speed   3.8x.
Min drive buffer fill was 95%
Fixating...
WARNING: Some drives don't like fixation in dummy mode.
Fixating time:    1.705s
cdrecord: fifo had 11212 puts and 11212 gets.
cdrecord: fifo was 0 times empty and 11093 times full, min fill was 96%.


-----------------------------------------------
 DONE Version 0.6.1
-----------------------------------------------
patches:
bbmpeg berarbeitet
fehlerausgabe von transcode berarbeitet
fehler im FileDialog von transcode Tab
 - Wenn man beim Transcode File Dialog den "*" whlt, erscheint *.avi.

features:
cdrw blanking, added a cdrw blanking process class
 - -c 1- 1200 angeben knnen o..
	Anzahl der zu transcodierenden Frames.
	Dafr ein Kontextmen machen (rechte Maustaste),
	ber das man an zustzliche Optionen kommt.
 - Wenn man beim Transcode File Dialog den "*" whlt, erscheint *.avi.
 - transcode fortschritt wird in der Titelleiste angezeigt;

-----------------------------------------------
 DONE Version 0.5.5
-----------------------------------------------
- Fehlerausgaben transcode verbessern
- voting auf die Webseite bauen
	http://www.fuzzymonkey.org/newfuzzy/software/perl/
- Incosisency if wav is being piped!
	Probiere mal statt
	-y mpeg2enc, wav!!!
	um die synchronisationsprobleme zu vermeiden.
	Combobox mit audiomodulen
- -w-Option einbauen:
	    -w b[,k[,c]]
              encoder bitrate[,keyframes[,crispness]] [1800,250,100].
    => daraus die Gre der Ausgabe berechnen.
- icon berarbeiten
- Ein AVI angeben, aus dem man nur das Audio extrahiert:
	[ ] Checkbox nur audio
	-y null,mp2enc
	-a #audiotrack
 
-----------------------------------------------
 DONE Versino 0.5.4
-----------------------------------------------
 - Wenn der Transcode abgeborchen wird, bleiben Prozess zurck!!!
		vcdimager kann abgebrochen werden! Eindeutige PID
 - Dateiladefenster berarbeiten.
	Die sollten sich die zuletzt ausgewhlte Verzeichnis merken.
- Fehlerausgabe von mplex und vcdimager eingefgt.		
-----------------------------------------------
 DONE Version 0.5.3
-----------------------------------------------
- include <stdlib.h>, kleiner fix fr QT3.0.5
- benutze -F 1,'-S 700' fr Transcode
- mplex -S und mpeg2enc -S in den Preferences trennen!
- MplexOptionen -S berarbeiten im MplexTab: ber Checkbox whlbar gemacht.
- Auf der Webseite: Die Zhlung von den Downloads von der Version
	abhngig machen.
- VCDImager-Tab: Wenn man ein cue-file gewhlt hat,
	soll das bin-File vorbelegt werden.
- Preferences Dialog aufrumen.
- Erzeugtes Script berarbeiten: (mplex -M -S)
 => Test mit der Bourne Identitt!
- schmiert bei toystory 1 ab. Ausgabe von transcode besser interpretiert. Fehlerausgabe von transcode besser verarbeitet.
- TIMER aus mplex output rausnehmen
- vorschau funktioniert nicht immer
 		(Das liegt daran, dass keine Video Datei erzeugt wird.
-----------------------------------------------
 DONE Version 0.5.2
-----------------------------------------------
 - Layoutproblem bei qt 3.0.5 behoben
 - und das Programm ignoriert KDEHOME, welches bei mir ~/.kde3 ist,
	KAvi2svcd wollte in ~/.kde schreiben, welches nicht exisitiert. Dies endete
	mit einer Fehlermeldung.
- In den Preferencs: Standardoptionen angeben. (Unabhngig von der GUI)
- Bei cdrdao: Option  --driver generic-mmc
							cdd2600, plextor, plextor-scan, generic-mmc, generic-mmc-raw, ricoh-mp6200,  yamaha-cdr10x,  teac-cdr55,
              sony-cdu920, sony-cdu948, taiyo-yuden, toshiba
              	Diese Liste in einem Konfig-File hinterlegen.
- In den Preferences: Man kann kein zweites mal speichern!
 ----------------------------------------------------
 DONE Versino 0.5.1
 ----------------------------------------------------
 - Dateiauswahlfenster:
	Avis von den mpegs trennen in der Auswahl
- in der listbox vom vcdimager gibt es Probleme mit Dadteien, die
	leerzeichen enthalten.
	Sie werden nach den Leerzeichen abgeschnitten!
	Das kann man beheben, indem man leerzeichen um die
	Dateinamen macht.
	Ebenso muss man wohl im cdrdao Anfhrungszeichen rummachen.
 	Muss in alles "slotGenerate" berprft werden!
 - Zustzlich -z (swap) anbieten. Checkbox
 - Generierung der Liste der transcode import-module berarbeitet.
 - Wenn Transcoding fertig ist, Anzahl der Bilder anzeigen

 ----------------------------------------------------
 DONE Version 0.5
 ----------------------------------------------------
- Myqlineedit problem gefixt.
- Franzsische bersetzung
- Danksagung fr die franzsiche bersetzung an:
 	Jean-Jacques Freulon
- Option fr -V machen.
- Die KAVI-out dateien lschen!
- Wenn Trasncode fertig ist 100% zeigen
- Preview-player in Preferences ergnzt.
- Bei cdrdao beim ausfhren des scripts die geschriebenen MBs rausfiltern.
	lieber in einem QLabel ausgeben.
- Preview auf Transcode Dialog.
- a) The dir /data/home/corny/src/kavi2svcd/kavi2svcd/ had to
	 be created in order to compile kavi2svcdDlg.cpp
- Nicht nur schwarzen Rand anbieten, sondern auch rechts und links
	abschneiden.
- (-x) option bei transcode einbauen. Import und Export Module.

 ----------------------------------------------------
 DONE Version 0.4.1
 ----------------------------------------------------
 - Nach dem transcoden angeben, wie lange es gedauert hat.
 - Deutsche bersetzung
 - Die About-Klasse entfernen.

 ----------------------------------------------------
 DONE Version 0.4
 ----------------------------------------------------
 - hilfe.
 		links zu den ensprechenden Webseiten, wo die Programme zu beziehen sind.
 - Den About Dialog von KDE genommen.
 - Eine Klasse MyQLineEdit eingebaut, die ein signal wirf, wenn sie den Focus verliert.
 		=> der GetInfo-Button konnte entfernt werden.
 - Helligkeit verndern (gamma) 0.0 - 10.0
 	0.1 -> heller
	1.1 -> dunkler
 - Hilfe sehr rudimentr angefangen.
 - Die Anzahl der Frames von MPEGs als InputFile wird ermittelt.
 - Die FAQs in die Hilfe einfgen.
 - Erstellen aus mpegs:
   transcode -i Futurama-NonConform.mpg
    	     -V -y mpeg2enc,mp2enc
             -F 4 -E 44100 -b 128  -o test -Z 480x576
             -j wird parallel berechnet...
             -export_asr 2
 - resizable: Die Dialoge sollten alle in der Gre vernderbar sein.
 - check beim Start, ob alle Programme vorhanden sind:
 		transcode, mplex, vcdimager, cdrdao, avifix, sudo
 --------------------------------------------------------------------
 DONE Version 0.3
 --------------------------------------------------------------------
 - Nutzen von anderen Optionen -X -B usw. in Transcode.
 - Im Transcode-Dialog werden nicht mehr alle frames angezeigt.
 		strt ja nur. ;-)
 - Icon hinzugefgt.
 --------------------------------------------------------------------
 DONE Version 0.2.2
 --------------------------------------------------------------------
 - ProgressBar fr manuelles CDR und automatisches: in eine gemeinse Klasse packen..
 		Ist in der gemeinsamen Klasse drinnen.
   	Nun noch in manuelles CDR.	

 - im CDR-Tab eine Checkbox fr "simulate" einfgen.

 - mplex-Tab: Die Option -O soll auch beim automatischen Script bernommen werden.
 - Nur transcodieren, wenn ein output angegeben ist.
 		Das freischalten des "Execute"-Buttons sollte einheitlich erfolgen
 - Das Erstellen von VCDs aus mehreren Mpeg o.. Dateien, z.B. fr Futurama und kurze Sendungen
 		Das macht er doch schon die ganze Zeit???

  - Tooltips, What's this, tabreihenfolge.
 --------------------------------------------------------------------
 DONE Version 0.2.1-2
 --------------------------------------------------------------------

   DONE
			Progress von VCD und CDR auch in die manuellen Tabs bernehmen.	

 	DONE
			Der Cancel-Button funktioniert nicht richtig proc->kill()
			Scheint im hintergrund zu forken.

   		Entweder im Script bauen oder im myProc???
     	Das bashscript und der mplexbefehl haben zwei veerschiedene pids.!
      Das tten der Kindprozesse funktioniert, wenn man sie in einer
      eigenen shell aufruft.

   DONE
   		Alle eigenen includes auf "" stat <> gendet.

   DONE
   		checkboxen-abhngigkeit im mplex-tab korrigiert.

   DONE
   		mplex startet nur, wenn ein outputfile vorhanden ist.
   		
   DONE
   		mplex-progress ist als static-function in die Mplex-Klasse aufgenommen
 --------------------------------------------------------------------
 DONE Version 0.2
 --------------------------------------------------------------------

  DONE
  		Ein Fenster bauen, in dem das Script ausgefhrt wird.
      +------------------------------------+
     	| [ ok ] mplexing						
      | [ ok ] vcdimaging CD 1 / 3
      | [    ] CDs brennden
			+------------------------------------+

  DONE
   		Progress von CDRs bauen.



  DONE
			wenn keine CDs gebrannt werden, sollen die checkbox und
   		progressbar versteckt werden oder ausgegraut.



	DONE
   		Im Script sollte kein bin/bash vorkommen, das fhrt zu einer
     	Fehlermeldung

  DONE
			Mit QTimer den Fortschritt vom automatischen
   		mplex anhand der Dateigre auswerten.

	DONE
   		Zum ausfhren wird das temporre skript im Verzeichnis ~/.kde/share....
      gespeichert.
      Das temporre Skript muss dann chmod 755 gemacht werden und kann dann
      ausgefhrt werden.

  DONE
  		Beim mplexing wird nun der Fortschritt angezeigt.
    	Momentan nur beim manuellen mplexing.

 --------------------------------------------------------------------
 DONE Version 0.1.1	
 --------------------------------------------------------------------
	DONE:
 		Das erzeugt Script kann angezeigt, editiert, gespeichert und geladen werden.

	DONE
  		Das Script muss nun noch richtig erzeugt werden.
		Im Script muss geprft werden, ob wenn !myCDsBrennen ein Prfix anegegeben wurde,
			ansonsten muss das Standard Prfix gesetzt werden.
		Es sollte der Plattenplatz geprft werden oder
			nach vcdimager die mpeg-Dateien gelscht
			nach cdrdao die cue und bin Dateien gelscht werden.

	DONE
   	  Kann man das Generieren von einem externen Skript nicht ganz weglassen?
    	Geht das Script nicht auch mit ein paar Argumenten?

      Ja, das Script werde ich mit ein paar Argumenten generieren.
			Das Script ist gebaut und liegt unter ~/bin/kavi2svcd-script
   		Zuknftiger Ort des Scriptes:
			 ~/.kde/share/apps/kavi2svcd/
	DONE
 			Wie bekommt man das Script an diesen Ort?
    	Das Script wird mit "make install" an den selben Ort
     	installiert wie kavi2svcd selber...
      (Standard /usr/bin/kavi2svcd-script)
      Ich muss dort, wo das script aufgerufen wird, das homedir rausnehmen.
      (in generatescript)
      Es soll nicht mehr unter
			~/.kde/share/apps/kavi2svcd/ liegen.
   		DONE 18.08.2002: Das Script wird hart nach /usr/bin installiert.
     	Dort kann es dann auch als template gelesen werden.

	DONE 05.08.2002
			Das Script sollte auch noch speziell generiert werden knnen, damit man es
   		spter verwenden kann und editieren kann.
			Evtl. kann man im Script einfach die entsprechenden Variablen ersetzen und
   		in dem altbekannten Fenster anzeigen.

  DONE: Im Script, das gespeichert wird, knnten auch noch die mplex-
     	Angaben stehe, so dass beim Laden der Dialog wieder vorbelegt wird.
			Wenn ein altes Script geladen wird, werden die Werte im Tab mplex und
   		cdrdao vorbelegt.

  DONE
  	  qt2 oder nur qt3? Projekt->Optionen
     	Scheint auch mit qt2 zu funktionieren.

 - Im GetInfo-Knopf abfangen, wenn noch keine Datei gewhlt wurde.
 		DONE

 - save und open:
 		Die erzeugten Befehle werden in ein shellscript gespeichert, so dass die
   	spter an der Kommandozweile aufgerufen werden knnen.
		DONE
