PMVs MiniPlayer -RC 1- (samt Roman)
Verfasst: 31.01.2007 05:11
Hinweiß: dem Player haftet eine längere Geschichte an, sorry -.- Wer
nicht so viel Zeit hat kann sich die Featureliste durchlesen, wer etwas
mehr Zeit hat überspringt die Vorgeschichte und wer dann mal
Langeweile hat kann den ganzen Text lesen *gg*
Vorab: der Player hat unteranderem nützliche Features für Musikdateien,
die nicht so "perfekt" sind
So ... wers glaubt oder nicht, auch ich hab mich mal an einem
Musikplayer versucht. Vor 1 Jahr hätte ich gelacht, wenn jemand gefragt
hätte, ob ich einen Musikplayer programmieren würd. Mal davon
abgesehen das es schon unzählige und auch gute Player gibt, damals war
die einzige Musik die ich gehört hab die, die ich per zufall auf Viva oder
MTV gesehen hab.
Aber warum nun? Ihr habt sicher schon Iggels Videoplayer gesehen.
Wenn nicht, selbst schuld
Genau diese Idee hatte ich im Juli 06
auch, meine Lösung war aber nicht Massentauglich und deshalb hab ich
diese nie veröffentlicht. Ergebnis war damals ein kleiner Musikplayer
basierend auf FMOD und ein umständliches Downloadprogramm.
Außerdem müssen die FLV-Dateien umgewandelt werden, gut ist jetzt
immer noch so -.-. Allerdings habe ich ein schönes Zufallssystem
eingebaut, darüber aber später mehr.
Der Player nutzte damals die Sound-Befehle von FMOD und brauchte
daher nicht nur viel Speicher, sondern je nach PC auch ein paar
Sekunden zum laden (bei voller Auslastung). Ein TrackBar ist mit den
Sound-Befehlen glaub ich auch nicht möglich.
Der Downloader nutzte den IE6 um die FLV-Dateien ins Temp-Verzeichnis
zu bekommen, von dort wurden die Videos dann in ein Zielverzeichnis
kopiert, das klappte aber auch nicht immer auf anhieb. Die temporären
Dateien des IE6 mussten zudem auch immer vorher gelöscht werden.
Wie schon gesagt, nicht Massentauglich.
Interessant an meinem Player-Download-System ist aber die Playlist, die
ich damals eingeführt hab. Hier werden nicht nur Interpret- und Titelname
gespeichert, sondern auch die ID welche sie auf YouTube hat. War aber
auch noch nicht das wahre.
So viel zu damals, dank Iggels hab ich nun endlich den Ansporn alles zu
überarbeiten.
-> Interssant:
Den MiniPlayer hab ich nun (so gut wie) fertig. TrackBar und Lautstärk
sind nun direkt im Hauptfenster integriert.
Das Format der Playlist hab ich ebenfalls erweitert, es kann nun für jedes
Lied das entsprechende Portal ausgewählt werden, sofern der MiniPlayer
das kennt. Die Liste der bekannten VideoPortale ist erst mal auf YouTube
beschränkt, wird in einer späteren Version erweitert und kann auch
manuel erweitert werden (Data.dat).
Zudem habe ich noch ein Start- und EndOffset einprogrammiert. Nach
späteren konvertieren mit z.B. SUPER (meine Empfehlung
) ist es störend, wenn
z.B. das eigentliche Lied erst nach 20 Sekunden anfängt. Bearbeiten der
Musikdatei mit einem entsprechenden Programm kann auf die Dauer
nervig werden, mit dem Offset nun kein Problem mehr.
Die Lautstärke ist nicht bei jedem Lied gleich, manches ist sehr laut,
anders super leise. Durch die Einstellungsmöglichkeit für jedes Lied eine
andere Lautstärke ein zu stellen kann dem entgegen gewirkt werden. Die
Lautstärke kann relativ zu einem allgemein gültigen Wert angegeben
werden (es geht nur höher) oder aber absolut. Standarteinstellung ist
aber das Normale, die Lautstärke des Players wird einheitlich eingestellt.
Es kann aber jederzeit zwischen allen 3 Modien umgeschaltet werden. Die
Einstellungsmöglichkeit ist immer von 0 - 100. Bei relativer Angabe kann
der Standartwert ebenfalls nur von 0 - 100 gehen, wird aber nicht
umgerechnet auf die möglichen 0 - 255, es werden somit nur die unteren
101 Positionen genutzt.
-> sehr Interessant: (das Wichtigste für mich an dem MiniPlayer *gg*)
Ein Zufallsgenerator ist immer aktiv, dieser greift aber nicht auf alle
vorhandenen Lieder zu (im normalfall). Jedes Lied hat eine Position,
welche sich bei einem Liedwechsel um einen vermindert. Ein Wert
"maximale Position" bestimmt, welche höchste Position ein Lied haben
darf um im Zufallsgenerator berücksichtigt zu werden.
Die Position eines Liedes nach dem Abspielen wird bestimmt durch den
Wert "letzte Position". Ist dieser Wert gleich 0, so wird die Position gleich
der Anzahl der vorhandenen Lieder gesetzt.
Um nun Lieblingslieder öfter abspielen lassen zu können, als andere
Lieder, kann man jedem Lied eine Priorität geben. Der Wert kann 0 - 100
sein, versteht sich als umgedrehte Prozentangabe der "letzten Position".
100% bedeutet also, das die Position des Liedes nach dem Abspielen
immer 0 sein wird, also ganz vorne beim Zufallsgenerator. Eine Angabe
von 0% wird das Lied immer nach hinten katapultieren.
-> Features des MiniPlayers (Stand: 30.01.07)
Playlist per PB-Preference:
- Lieder sind einem Interpreten untergeordnet
- Speicherung der ID des Liedes für ein VideoPortal
- Speicherung des zugehörigen VideoPortals
- Speicherung eines Start-/ EndOffsets (in Millisekunden)
- Speicherung eines optionalen "letzten Position" (bei 0 wird die Anzahl der Lieder genommen)
- Speicherung einer maximalen Position (Liedpos. <= maxPos --> Zufallsgenerator)
- Speicherung der Positionen für alle Lieder (Liedwechsel: Pos - 1)
- Speicherung der Priorität (in Prozent)
- Speicherung der Lautstärke für jedes Lied relativ zu einer Standartlautstärke oder absolut (optional)
- manuelle Änderung der Playlist möglich (Fehler werden nicht abgefangen)
Stream-Befehle der FMOD-DLL:
- geringe Ladezeit eines Titels (unter 1 Sekunde)
- geringe Speicherauslastung (unter 5 MB)
- geringe CPU-Auslastung (bei meinem PC kann ich das aber nicht testen ...)
- unterstützung aller Formate, die die FMOD-Streaming-Befehle unterstützen
- Platformunabhängig (?)
Sonstiges:
- Vorabauswahl eines "nächsten Titels"
- hohe Priorität, dadurch kein Stocken der Lieder
- öffnen des original Videos im Browser (wenn ID angegeben wurde)
- besonderer Zufallsgenerator (siehe oben unter "sehr interessant")
- automatische Sortierung der Interpreten und Lieder nach Name
- zusätliches Fenster zur Anzeige aller Lieder, sortiert nach Position
- Open-Sorce, zum lernen für andere
--- Code wird aber erst mit der Final-Version veröffentlicht
--- denn da es eine Blitzaktion war, muss ich ihn noch aufräumen -.-
--- und ein paar mehr Kommentare wären sicher auch nicht übel
--- Windows-Only-Befehle mit Compiler deaktiviert bei anderem BS
--- somit eventuell auch für andere Betriebssysteme möglich (?)
- Downloadfunktion für VideoPortale (externes Programm; noch nicht eingebunden)
- keine visuellen Spielerreihen
Dann mal Bildchen, ich nehm die 3 ersten Fenster die man sehen wird:

Startfenster, auswahl einer Playliste oder anlegen einer neuen Playliste

Das Hauptfenster, nicht überladen und auch nicht zu groß. Ich denke
damit können sich einige anfreunden.

das umfangreichste Fenster, ändern aller Playlist-Eigenschaften
Version: RC 1 (nachträgliche gravierende Änderungen vorbehalten
)
-> Download: PMVs MiniPlayer @ pmv.de.vu
(bitte auf Bugs testen; Feetback wäre nicht übel -> Vorschläge?)
-> geplante Downloadfunktion:
Jetzt hab ich es nicht geschaft, die geplante "Downloadfunktion" zu
erwähnen
... oh je. Nachgereicht:
Naja gut, der zweite Teil des ganzen, der Downloader, ist noch nicht
überarbeitet und auch nicht integriert. Der Button zum Aufrufen des
original Videos im Hauptfenster ist eigentlich zum starten des
Downloaders. Aber da keine Funktion, hab ich ihn schnell umfunktioniert.
Mal schauen ob ich den lasse oder das wieder rückgängig mache.
Nun weiter: Geplant ist mit Iggels zu koopierieren, aber darüber haben
wir noch nicht so ausgibig gesprochen, das will ich in den nächsten Tagen
nachholen. Sein VideoPlayer hat schließlich alle Funktionen, die meinen
Downloader perfektionieren würde. Es müssten auch nur noch ein paar
Kleinichkeiten Eingebaut werden (was ich auch machen kann), damit alles
so Funktioniert wie ich es gerne hätte. Es gäbe aber auch die Möglichkeit,
nur seine DLLs zu verwenden und er hatte einen weiteren Vorschlag
genannt, den ich hier nicht erwähne, weil ich nicht weis ob der schon für
die Öffentlichkeit bestimmt ist. Natürlich ist es auch denkbar, wenn ich
alles selber machen muss ... vielleicht mit eigenen DLLs, es wäre aber
sicher nur YouTube.com von mir unterstützt. Obwohl, da könnte man
dann ein extra Doku machen und User könnten die anderen Portale leicht
hinzufügen. Wäre auch nicht übel ... naja egal. Entscheidet sich später.
Jetzt ein paar Details zu meinen Vorstellungen:
Der Downloader ließt die Playlist ein und kann damit bestimmen, ob ein
video bereits runter geladen wurde, oder nicht. Manuelles Auswählen
eines einzelnen zu ladenden Liedes oder aber (bei gedrücktem Toggled-
Button) automatischer Download aller ausstehenden Downloads. Angabe
eins allgemeinen Downloadordners und benennung der Dateien, anbieten
würden sich dafür Platzhalter damit jeder nehmen kann was er will.
Puh ... der Beitrag hat mich glatt 4 Stunden gekostet (bei über 400
Anschlägen pro Minute *gg*) ... danke an alle die sich wirklich für den
kompleten Post interessiert haben. (werden wohl net viele sein -.-)
An den Rest ... *grins* ... ne Spaß, ich hab doch keine bösen gedanken
... ich kanns euch schließlich nicht verübeln. Allein interesse an den
eigentlichen Programmen reicht.
Hm, hoffentlich sind da nicht all zu viele Rechtschreib ... äh ... Tippfehler
drinne
MFG PMV
PS: bis zur Final ist alles Möglich, je nach Interresse
nicht so viel Zeit hat kann sich die Featureliste durchlesen, wer etwas
mehr Zeit hat überspringt die Vorgeschichte und wer dann mal
Langeweile hat kann den ganzen Text lesen *gg*
Vorab: der Player hat unteranderem nützliche Features für Musikdateien,
die nicht so "perfekt" sind

So ... wers glaubt oder nicht, auch ich hab mich mal an einem
Musikplayer versucht. Vor 1 Jahr hätte ich gelacht, wenn jemand gefragt
hätte, ob ich einen Musikplayer programmieren würd. Mal davon
abgesehen das es schon unzählige und auch gute Player gibt, damals war
die einzige Musik die ich gehört hab die, die ich per zufall auf Viva oder
MTV gesehen hab.
Aber warum nun? Ihr habt sicher schon Iggels Videoplayer gesehen.
Wenn nicht, selbst schuld

auch, meine Lösung war aber nicht Massentauglich und deshalb hab ich
diese nie veröffentlicht. Ergebnis war damals ein kleiner Musikplayer
basierend auf FMOD und ein umständliches Downloadprogramm.
Außerdem müssen die FLV-Dateien umgewandelt werden, gut ist jetzt
immer noch so -.-. Allerdings habe ich ein schönes Zufallssystem
eingebaut, darüber aber später mehr.
Der Player nutzte damals die Sound-Befehle von FMOD und brauchte
daher nicht nur viel Speicher, sondern je nach PC auch ein paar
Sekunden zum laden (bei voller Auslastung). Ein TrackBar ist mit den
Sound-Befehlen glaub ich auch nicht möglich.
Der Downloader nutzte den IE6 um die FLV-Dateien ins Temp-Verzeichnis
zu bekommen, von dort wurden die Videos dann in ein Zielverzeichnis
kopiert, das klappte aber auch nicht immer auf anhieb. Die temporären
Dateien des IE6 mussten zudem auch immer vorher gelöscht werden.
Wie schon gesagt, nicht Massentauglich.

Interessant an meinem Player-Download-System ist aber die Playlist, die
ich damals eingeführt hab. Hier werden nicht nur Interpret- und Titelname
gespeichert, sondern auch die ID welche sie auf YouTube hat. War aber
auch noch nicht das wahre.
So viel zu damals, dank Iggels hab ich nun endlich den Ansporn alles zu
überarbeiten.
-> Interssant:
Den MiniPlayer hab ich nun (so gut wie) fertig. TrackBar und Lautstärk
sind nun direkt im Hauptfenster integriert.
Das Format der Playlist hab ich ebenfalls erweitert, es kann nun für jedes
Lied das entsprechende Portal ausgewählt werden, sofern der MiniPlayer
das kennt. Die Liste der bekannten VideoPortale ist erst mal auf YouTube
beschränkt, wird in einer späteren Version erweitert und kann auch
manuel erweitert werden (Data.dat).
Zudem habe ich noch ein Start- und EndOffset einprogrammiert. Nach
späteren konvertieren mit z.B. SUPER (meine Empfehlung

z.B. das eigentliche Lied erst nach 20 Sekunden anfängt. Bearbeiten der
Musikdatei mit einem entsprechenden Programm kann auf die Dauer
nervig werden, mit dem Offset nun kein Problem mehr.
Die Lautstärke ist nicht bei jedem Lied gleich, manches ist sehr laut,
anders super leise. Durch die Einstellungsmöglichkeit für jedes Lied eine
andere Lautstärke ein zu stellen kann dem entgegen gewirkt werden. Die
Lautstärke kann relativ zu einem allgemein gültigen Wert angegeben
werden (es geht nur höher) oder aber absolut. Standarteinstellung ist
aber das Normale, die Lautstärke des Players wird einheitlich eingestellt.
Es kann aber jederzeit zwischen allen 3 Modien umgeschaltet werden. Die
Einstellungsmöglichkeit ist immer von 0 - 100. Bei relativer Angabe kann
der Standartwert ebenfalls nur von 0 - 100 gehen, wird aber nicht
umgerechnet auf die möglichen 0 - 255, es werden somit nur die unteren
101 Positionen genutzt.
-> sehr Interessant: (das Wichtigste für mich an dem MiniPlayer *gg*)
Ein Zufallsgenerator ist immer aktiv, dieser greift aber nicht auf alle
vorhandenen Lieder zu (im normalfall). Jedes Lied hat eine Position,
welche sich bei einem Liedwechsel um einen vermindert. Ein Wert
"maximale Position" bestimmt, welche höchste Position ein Lied haben
darf um im Zufallsgenerator berücksichtigt zu werden.
Die Position eines Liedes nach dem Abspielen wird bestimmt durch den
Wert "letzte Position". Ist dieser Wert gleich 0, so wird die Position gleich
der Anzahl der vorhandenen Lieder gesetzt.
Um nun Lieblingslieder öfter abspielen lassen zu können, als andere
Lieder, kann man jedem Lied eine Priorität geben. Der Wert kann 0 - 100
sein, versteht sich als umgedrehte Prozentangabe der "letzten Position".
100% bedeutet also, das die Position des Liedes nach dem Abspielen
immer 0 sein wird, also ganz vorne beim Zufallsgenerator. Eine Angabe
von 0% wird das Lied immer nach hinten katapultieren.
-> Features des MiniPlayers (Stand: 30.01.07)
Playlist per PB-Preference:
- Lieder sind einem Interpreten untergeordnet
- Speicherung der ID des Liedes für ein VideoPortal
- Speicherung des zugehörigen VideoPortals
- Speicherung eines Start-/ EndOffsets (in Millisekunden)
- Speicherung eines optionalen "letzten Position" (bei 0 wird die Anzahl der Lieder genommen)
- Speicherung einer maximalen Position (Liedpos. <= maxPos --> Zufallsgenerator)
- Speicherung der Positionen für alle Lieder (Liedwechsel: Pos - 1)
- Speicherung der Priorität (in Prozent)
- Speicherung der Lautstärke für jedes Lied relativ zu einer Standartlautstärke oder absolut (optional)
- manuelle Änderung der Playlist möglich (Fehler werden nicht abgefangen)
Stream-Befehle der FMOD-DLL:
- geringe Ladezeit eines Titels (unter 1 Sekunde)
- geringe Speicherauslastung (unter 5 MB)
- geringe CPU-Auslastung (bei meinem PC kann ich das aber nicht testen ...)
- unterstützung aller Formate, die die FMOD-Streaming-Befehle unterstützen
- Platformunabhängig (?)
Sonstiges:
- Vorabauswahl eines "nächsten Titels"
- hohe Priorität, dadurch kein Stocken der Lieder
- öffnen des original Videos im Browser (wenn ID angegeben wurde)
- besonderer Zufallsgenerator (siehe oben unter "sehr interessant")
- automatische Sortierung der Interpreten und Lieder nach Name
- zusätliches Fenster zur Anzeige aller Lieder, sortiert nach Position
- Open-Sorce, zum lernen für andere
--- Code wird aber erst mit der Final-Version veröffentlicht
--- denn da es eine Blitzaktion war, muss ich ihn noch aufräumen -.-
--- und ein paar mehr Kommentare wären sicher auch nicht übel

--- Windows-Only-Befehle mit Compiler deaktiviert bei anderem BS
--- somit eventuell auch für andere Betriebssysteme möglich (?)
- Downloadfunktion für VideoPortale (externes Programm; noch nicht eingebunden)
- keine visuellen Spielerreihen
Dann mal Bildchen, ich nehm die 3 ersten Fenster die man sehen wird:

Startfenster, auswahl einer Playliste oder anlegen einer neuen Playliste

Das Hauptfenster, nicht überladen und auch nicht zu groß. Ich denke
damit können sich einige anfreunden.

das umfangreichste Fenster, ändern aller Playlist-Eigenschaften
Version: RC 1 (nachträgliche gravierende Änderungen vorbehalten

-> Download: PMVs MiniPlayer @ pmv.de.vu
(bitte auf Bugs testen; Feetback wäre nicht übel -> Vorschläge?)
-> geplante Downloadfunktion:
Jetzt hab ich es nicht geschaft, die geplante "Downloadfunktion" zu
erwähnen

Naja gut, der zweite Teil des ganzen, der Downloader, ist noch nicht
überarbeitet und auch nicht integriert. Der Button zum Aufrufen des
original Videos im Hauptfenster ist eigentlich zum starten des
Downloaders. Aber da keine Funktion, hab ich ihn schnell umfunktioniert.
Mal schauen ob ich den lasse oder das wieder rückgängig mache.
Nun weiter: Geplant ist mit Iggels zu koopierieren, aber darüber haben
wir noch nicht so ausgibig gesprochen, das will ich in den nächsten Tagen
nachholen. Sein VideoPlayer hat schließlich alle Funktionen, die meinen
Downloader perfektionieren würde. Es müssten auch nur noch ein paar
Kleinichkeiten Eingebaut werden (was ich auch machen kann), damit alles
so Funktioniert wie ich es gerne hätte. Es gäbe aber auch die Möglichkeit,
nur seine DLLs zu verwenden und er hatte einen weiteren Vorschlag
genannt, den ich hier nicht erwähne, weil ich nicht weis ob der schon für
die Öffentlichkeit bestimmt ist. Natürlich ist es auch denkbar, wenn ich
alles selber machen muss ... vielleicht mit eigenen DLLs, es wäre aber
sicher nur YouTube.com von mir unterstützt. Obwohl, da könnte man
dann ein extra Doku machen und User könnten die anderen Portale leicht
hinzufügen. Wäre auch nicht übel ... naja egal. Entscheidet sich später.
Jetzt ein paar Details zu meinen Vorstellungen:
Der Downloader ließt die Playlist ein und kann damit bestimmen, ob ein
video bereits runter geladen wurde, oder nicht. Manuelles Auswählen
eines einzelnen zu ladenden Liedes oder aber (bei gedrücktem Toggled-
Button) automatischer Download aller ausstehenden Downloads. Angabe
eins allgemeinen Downloadordners und benennung der Dateien, anbieten
würden sich dafür Platzhalter damit jeder nehmen kann was er will.
Puh ... der Beitrag hat mich glatt 4 Stunden gekostet (bei über 400
Anschlägen pro Minute *gg*) ... danke an alle die sich wirklich für den
kompleten Post interessiert haben. (werden wohl net viele sein -.-)
An den Rest ... *grins* ... ne Spaß, ich hab doch keine bösen gedanken

eigentlichen Programmen reicht.

Hm, hoffentlich sind da nicht all zu viele Rechtschreib ... äh ... Tippfehler
drinne

MFG PMV
PS: bis zur Final ist alles Möglich, je nach Interresse
