TITLE

AUTHOR
Version 1.0
CREATEDATE

Inhaltsverzeichnis

Table of contents

Ausstehende Aufgaben

 Element i2bpro.playlist.M3U.SavePlayList (String filename, String type, HashMap< Integer, HashMap< String, String >> list) 
Es ist der bereich der Speicherung der Metadaten zu überarbeiten, da wav-Dateien nicht berücksichtigt werden. Des Weiteren kommt es bei erweiterten m3u-Wiedergabelisten zu einem Fehler, beim Versuch die Daten für die erweiterte Zeile aus einer wav-Datei zu ermitteln.
 Element i2bpro.playlist.M3U.writeToPlayList (String line, String extm3u) 
In der Methode wird noch keine Rücksicht auf cue-Wiedergabelisten genommen. Dies ist noch umzusetzen.
 Element i2bpro.playlist.PlayList.setPlayList (String file) 
Derzeit können keine cue-Wiedergablisten ausgelesen werden. Dafür ist noch eine entsprechende Klasse zu schreiben.
 Element i2bpro.playlist.PlayListCellRenderer.getTableCellRendererComponent (JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) 
Die MEthode ist noch zu überarbeiten, da bei Beendigung des Abspielens eines Audiotitels dessen Zellen als aktuell abgespielter Audiotitel markiert bleiben.
 Klasse i2bpro.playlist.WavTag  
Es muss noch eine Methode eingearbeitet werden, welche Metadaten in eine wav-Datei schreibt, so dass geänderte Daten in der Wiedergabeliste dauerhaft gespeichert werden können.

Liste der bekannten Fehler
 Klasse i2bpro.player.Player  
Es weren einige mp3-Dateien nicht abgespielt. Der Fehler scheint im Java Media Framework zu liegen.
 Element i2bpro.playlist.M3U.SavePlayList (String filename, String type, HashMap< Integer, HashMap< String, String >> list) 
Bei Audiodateien im Format WAVE werden Metadaten nicht gespeichert, da diese von Audiotagger nicht ausgelesen werden können bzw. Metadaten damit nicht gespeichert werden können und die Klasse WavTag dies noch nicht vorsieht. Des Weiteren kommt es bei erweiterten m3u-Wiedergabelisten beim erstellen der erweiterten Zeile zu einem Fehler, wenn versucht wird die Daten einer wav-Datei zu ermitteln.
 Element i2bpro.playlist.PlayListCellRenderer.getTableCellRendererComponent (JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) 
Nach Beendigung des Abspielens eines Audiotitels bleiben die Zellen als aktuell abgespielter Audiotitel gekennzeichnet.

Klassen-Verzeichnis
Klassenhierarchie
Die Liste der Ableitungen ist -mit Einschränkungen- alphabetisch sortiert:
i2bpro.layer.Dialogs.AlbumAuswahlDlg	pagenum
i2bpro.playlist.baseMetaDaten	pagenum
i2bpro.playlist.ID3v2	pagenum
i2bpro.playlist.WavTag	pagenum

i2bpro.playlist.basePlayList	pagenum
i2bpro.playlist.CUE	pagenum
i2bpro.playlist.M3U	pagenum

i2bpro.layer.Panels.ButtonPanel	pagenum
i2bpro.layer.Panels.CenterPanel	pagenum
i2bpro.layer.Panels.EastPanel	pagenum
i2bpro.Exceptions.ErrorMessages	pagenum
i2bpro.Exceptions.ErrorMsg	pagenum
i2bpro.I2BPro	pagenum
i2bpro.layer.InfoMessages	pagenum
i2bpro.layer.InfoMsg	pagenum
i2bpro.layer.Dialogs.InsertMediaDlg	pagenum
i2bpro.layer.Layer	pagenum
i2bpro.Exceptions.LayerException	pagenum
i2bpro.layer.Menus.MainMenu	pagenum
i2bpro.player.Player	pagenum
i2bpro.Exceptions.PlayerException	pagenum
i2bpro.playlist.PlayList	pagenum
i2bpro.layer.Dialogs.PlayListAuswahlDlg	pagenum
i2bpro.playlist.PlayListCellRenderer	pagenum
i2bpro.Exceptions.PlayListException	pagenum
i2bpro.layer.Dialogs.PlayListNewDlg	pagenum
i2bpro.layer.Dialogs.PlayListOpenDlg	pagenum
i2bpro.layer.Menus.PlayListPopupMenu	pagenum
i2bpro.layer.Panels.PositionPanel	pagenum
i2bpro.player.PositionUpdate	pagenum
i2bpro.layer.Panels.SouthPanel	pagenum
i2bpro.player.TimeInterface	pagenum
i2bpro.layer.Dialogs.Utils	pagenum
i2bpro.layer.WindowClosingAdapter	pagenum

Klassen-Verzeichnis
Auflistung der Klassen
Hier folgt die Aufzählung aller Klassen, Strukturen, Varianten und Schnittstellen mit einer Kurzbeschreibung:
i2bpro.layer.Dialogs.AlbumAuswahlDlg  	pagenum
i2bpro.playlist.baseMetaDaten  	pagenum
i2bpro.playlist.basePlayList  	pagenum
i2bpro.layer.Panels.ButtonPanel  	pagenum
i2bpro.layer.Panels.CenterPanel  	pagenum
i2bpro.playlist.CUE  	pagenum
i2bpro.layer.Panels.EastPanel  	pagenum
i2bpro.Exceptions.ErrorMessages  	pagenum
i2bpro.Exceptions.ErrorMsg  	pagenum
i2bpro.I2BPro  	pagenum
i2bpro.playlist.ID3v2  	pagenum
i2bpro.layer.InfoMessages  	pagenum
i2bpro.layer.InfoMsg  	pagenum
i2bpro.layer.Dialogs.InsertMediaDlg  	pagenum
i2bpro.layer.Layer  	pagenum
i2bpro.Exceptions.LayerException  	pagenum
i2bpro.playlist.M3U  	pagenum
i2bpro.layer.Menus.MainMenu  	pagenum
i2bpro.player.Player  	pagenum
i2bpro.Exceptions.PlayerException  	pagenum
i2bpro.playlist.PlayList  	pagenum
i2bpro.layer.Dialogs.PlayListAuswahlDlg  	pagenum
i2bpro.playlist.PlayListCellRenderer  	pagenum
i2bpro.Exceptions.PlayListException  	pagenum
i2bpro.layer.Dialogs.PlayListNewDlg  	pagenum
i2bpro.layer.Dialogs.PlayListOpenDlg  	pagenum
i2bpro.layer.Menus.PlayListPopupMenu  	pagenum
i2bpro.layer.Panels.PositionPanel  	pagenum
i2bpro.player.PositionUpdate  	pagenum
i2bpro.layer.Panels.SouthPanel  	pagenum
i2bpro.player.TimeInterface  	pagenum
i2bpro.layer.Dialogs.Utils  	pagenum
i2bpro.playlist.WavTag  	pagenum
i2bpro.layer.WindowClosingAdapter  	pagenum

Klassen-Dokumentation
i2bpro.layer.Dialogs.AlbumAuswahlDlg Klassenreferenz
Klassendiagramm für i2bpro.layer.Dialogs.AlbumAuswahlDlg:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.Dialogs.AlbumAuswahlDlg:
IMAGE

Öffentliche Methoden
AlbumAuswahlDlg (String result)
void run ()
void actionPerformed (ActionEvent e)

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: AlbumAuswahlDlg
Die Klasse AlbumAuswahlDlg ist von JDialog abgeleitet und ermöglicht es die in der Datenbank von freedb.org gefundenen Alben zur Auswahl zu stellen. Wurde ein Album ausgewählt so übergibt der Dialog diesen zum Laden der Daten.
Version:
1.0.0 
Datum:
01.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 48 der Datei AlbumAuswahlDlg.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.layer.Dialogs.AlbumAuswahlDlg.AlbumAuswahlDlg (String result)
Dem Konstruktor der Klasse AlbumAuswahlDlg sind die Ergebnisse der Suche nach Alben in der Datenbank der freedb.org zu übergeben. Diese werden der Iinitialisierungsmethode init übergeben.
Parameter:
result 	Ergebnisse der Suche in der Datenbank der freedb.org 	
Definiert in Zeile 68 der Datei AlbumAuswahlDlg.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Dialogs.AlbumAuswahlDlg.actionPerformed (ActionEvent e)
Die Methode actionPerformed reagiert auf Events des ActionListeners. Wird dabei festgestellt, dass es sich um das Auslösen des Übernehmen-Buttons handelt, so wird das ausgewählte Album der PlayList zum laden der Informationen aus der freedb.org-Datenbank übergeben.
Parameter:
e 	ActionEvent 	
Definiert in Zeile 201 der Datei AlbumAuswahlDlg.java.
void i2bpro.layer.Dialogs.AlbumAuswahlDlg.run ()
Mit der Methode run, wird der Dialog ausgeführt und sichtbar gemacht. Dabei legt die Methode die Größe und Position des Fensters fest. Die Größe und Ausrichtung wird mithilfe der Methode pack definiert. Die Position wird mittig zur Bildschirmauflösung festgelegt. Zum Schluss wird der Dialog sichtbar gemacht.
Zuvor wird jedoch geprüft, ob Alben gefunden wurden. Ist dies nicht der Fall so wird der Dialog nicht angezeigt. 
Definiert in Zeile 177 der Datei AlbumAuswahlDlg.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Dialogs/AlbumAuswahlDlg.java

i2bpro.playlist.baseMetaDaten Klassenreferenz
Klassendiagramm für i2bpro.playlist.baseMetaDaten:
IMAGE

Zusammengehörigkeiten von i2bpro.playlist.baseMetaDaten:
IMAGE

Öffentliche Methoden
HashMap< String, String > getMetaDaten ()
Geschützte Attribute
HashMap< String, String > metadaten = new HashMap<String, String>()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: baseMetaDaten
Die Klasse baseMetaDaten ist eine abstrakte Klasse und atellt ist die Superklasse für alle MetaDaten - Klassen (wie z.B. WavTag oder ID3v2). Sie beinhaltet die HashMap in der die MEtaDaten einer Audiodatei nach dem Auslesen gespeichert sind. Des Weiteren stellt Sie eine Methode zur Verfügung auf diese HashMap zuzugreifen.
Version:
1.0.0 
Datum:
02.01.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 24 der Datei baseMetaDaten.java.

Dokumentation der Elementfunktionen
HashMap<String, String> i2bpro.playlist.baseMetaDaten.getMetaDaten ()
Die Methode getMetaDaten gibt die HashMap zurück in der die MetaDaten einer Datei gespeichert sind.
Rückgabe:

Definiert in Zeile 36 der Datei baseMetaDaten.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/playlist/baseMetaDaten.java

i2bpro.playlist.basePlayList Klassenreferenz
Klassendiagramm für i2bpro.playlist.basePlayList:
IMAGE

Zusammengehörigkeiten von i2bpro.playlist.basePlayList:
IMAGE

Öffentliche Methoden
HashMap< Integer, HashMap< String, String > > getPlayList ()
String getPlayListType ()
void DeleteMedia (int del_id)
Geschützte Attribute
HashMap< Integer, HashMap< String, String > > playlist = new HashMap<Integer, HashMap<String, String>>()
String playlisttype = null

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: basePlayList
Die Klasse basePlayList dient als Grundlage aller PlayList-Klassen, wie z.B. der Klasse M3U, welche von dieser Klasse abgeleitet wird. Daher ist diese Klasse auch als abstract gekennzeichnet.
Version:
1.0.0 
Datum:
19.11.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 22 der Datei basePlayList.java.

Dokumentation der Elementfunktionen
void i2bpro.playlist.basePlayList.DeleteMedia (int del_id)
Mit der Methode DeleteMedia können Audiotitel aus der Wiedergabeliste entfernt werden. Dazu wird der Datensatz gelöscht und die Identifikationsnummern der anderen Audiotitel angepasst.
Parameter:
del_id 	Identifikationsnummer des Audiotitels der aus der Wiedergabeliste entfernt werden soll. 	
Definiert in Zeile 91 der Datei basePlayList.java.
HashMap<Integer, HashMap<String, String> > i2bpro.playlist.basePlayList.getPlayList ()
Die Methode getPlayList gibt die gesamte Wiedergabeliste als HashMap zurück.
Rückgabe:
Der Rückgabewert besteht aus einer HashMap die in einer weiteren HashMap eingebunden ist (HashMap<Integer, HashMap<String, String>. Dabei werden die Daten eines Audiotitels in der innen liegenden HashMap gespeichert und in der darüberliegenden HashMap einer Identifikationsnummer zugeordnet. Die Identifikationsnummer ist vom Datentyp Integer. In der innenliegenden HashMap können die Daten über key (erster String) abgefragt werden. Es stehen folgende keys zur Verfügung:

type = enthält den Typ des Speicherortes der Audiodaten (url/file)
media = Speicherort der Audiodaten
album = Titel des Albums
album_artist = Name des Artist der das Album komponiert hat
amazon_id = ID zum auslesen von Amazon-Daten
artist = Name des Artist des Audiotitels
bpm = Beat per Minutes des Audiotracks
comment = Kommentare
genre_id = Identifikationsnummer des Genre nach id3.org
genre = Titel des Genre
title = Titel des Audiotracks

Definiert in Zeile 60 der Datei basePlayList.java.
String i2bpro.playlist.basePlayList.getPlayListType ()
Die Methode getPlayListType gibt den Wiedergabetype zurück.
Rückgabe:
Wiedergabetyp Dieser kann sein:

m3u_1  einfache M3U - Wiedergabeliste
m3u_2  erweiterte ´M3U - Wiedergabeliste
cue  cuescheet 
Definiert in Zeile 77 der Datei basePlayList.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/playlist/basePlayList.java

i2bpro.layer.Panels.ButtonPanel Klassenreferenz
Klassendiagramm für i2bpro.layer.Panels.ButtonPanel:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.Panels.ButtonPanel:
IMAGE

Öffentliche Methoden
ButtonPanel ()
void PlayerStarted ()
void PlayerPause ()
void PlayerStopped ()
void toggledMute ()
Paketattribute
final Icon speaker_on
final Icon speaker_off

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: ButtonPanel
Die Klasse ButtonPanel erzeugt ein Panel mit den Butttons des Audioplayers. Sie ist von JPanel abgeleitet. Sie wird in das SouthPanel des Audioplayers integriert.
Version:
1.0.0 
Datum:
01.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 36 der Datei ButtonPanel.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.layer.Panels.ButtonPanel.ButtonPanel ()
Der Konstruktor legt das Layout auf ein FlowLayout fest, das auf die Mitte ausgerichtet ist. Anschließen wird die Mthode initButtons aufgerufen, um die Buttons zu initialisieren. Zum Schluss wird die Methode addListener aufgeruen, welche die ActionListener der Buttons hinzufügt. 
Definiert in Zeile 67 der Datei ButtonPanel.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Panels.ButtonPanel.PlayerPause ()
Über die Methode PlayerPause teilt die grafische Oberfläche dem Menü mit, dass das Abspielen eines Audiotitels unterbrochen wurde. Entsprechend stellt die Methode die Buttons ein. 
Definiert in Zeile 367 der Datei ButtonPanel.java.
void i2bpro.layer.Panels.ButtonPanel.PlayerStarted ()
Über die Methode PlayerStarted teilt die grafische Oberfläche dem Menü mit, dass das Abspielen eines Audiotitels gestartet wurde. Entsprechend stellt die Methode die Buttons ein. 
Definiert in Zeile 349 der Datei ButtonPanel.java.
void i2bpro.layer.Panels.ButtonPanel.PlayerStopped ()
Über die Methode PlayerStopped teilt die grafische Oberfläche dem Menü mit, dass das Abspielen eines Audiotitels unterbrochen wurde. Entsprechend stellt die Methode die Buttons ein. 
Definiert in Zeile 385 der Datei ButtonPanel.java.
void i2bpro.layer.Panels.ButtonPanel.toggledMute ()
Über die Methode toogledMute teilt die grafische Oberfläche dem Menü mit, dass sich der Mute Mode geändert hat. Entsprechend stellt die Methode den Mute Button zwischen einschalten bzw. ausschalten von Mute um. 
Definiert in Zeile 404 der Datei ButtonPanel.java.

Dokumentation der Datenelemente
final Icon i2bpro.layer.Panels.ButtonPanel.speaker_off [package]
Initialisierung: new ImageIcon(ButtonPanel.class.getResource(
            "/pics/speaker_off.png"))
Definiert in Zeile 41 der Datei ButtonPanel.java.
final Icon i2bpro.layer.Panels.ButtonPanel.speaker_on [package]
Initialisierung: new ImageIcon(ButtonPanel.class.getResource(
            "/pics/speaker_on.png"))
Definiert in Zeile 39 der Datei ButtonPanel.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Panels/ButtonPanel.java

i2bpro.layer.Panels.CenterPanel Klassenreferenz
Klassendiagramm für i2bpro.layer.Panels.CenterPanel:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.Panels.CenterPanel:
IMAGE

Öffentliche Methoden
CenterPanel ()
void dragEnter (DropTargetDragEvent dtde)
void dragOver (DropTargetDragEvent dtde)
void dropActionChanged (DropTargetDragEvent dtde)
void dragExit (DropTargetEvent dte)
void drop (DropTargetDropEvent dtde)
void PlayListChange ()
int getSelectedRow ()
void setRowSelection (int selected_id)

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: CenterPanel
Die Klasse CenterPanel erzeugt ein Panel mit einer Tabelle. Diese Tabelle enthält die Wiedergabeliste.
Version:
1.0.0 
Datum:
01.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 59 der Datei CenterPanel.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.layer.Panels.CenterPanel.CenterPanel ()
Der Konstruktor der Klasse CenterPanel ruft zunächst die MEthode initTable auf, um das JTable Element der Klasse zu initialisieren Anschließend wird das Layout festgelegt. Des Weiteren wird die Methode addListener aufgerufen, welche die MouseListener initialisiert. 
Definiert in Zeile 84 der Datei CenterPanel.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Panels.CenterPanel.dragEnter (DropTargetDragEvent dtde)
Die Methode dragEnter wird in der Klasse CenterPanel nicht verwendet und stammt vom DropTargetListener.
Parameter:
dtde 	DropTargetDragEvent 	
Definiert in Zeile 352 der Datei CenterPanel.java.
void i2bpro.layer.Panels.CenterPanel.dragExit (DropTargetEvent dte)
Die Methode dragExit wird in der Klasse CenterPanel nicht verwendet und stammt vom DropTargetListener.
Parameter:
dtde 	DropTargetEvent 	
Definiert in Zeile 388 der Datei CenterPanel.java.
void i2bpro.layer.Panels.CenterPanel.dragOver (DropTargetDragEvent dtde)
Die Methode dragOver wird in der Klasse CenterPanel nicht verwendet und stammt vom DropTargetListener.
Parameter:
dtde 	DropTargetDragEvent 	
Definiert in Zeile 364 der Datei CenterPanel.java.
void i2bpro.layer.Panels.CenterPanel.drop (DropTargetDropEvent dtde)
Die Methode drop reagiert auf DropTargetDropEvents. Diese können beispielsweise vom Windows Explorer ausgelöst werden, wenn ein Anwender eine Audiodatei über die Tabelle zieht. Wird dabei der Drop ausgeführt, also das loslassen der Maustaste und somit sozusagen das Fallen lassen der Audiodatei über der Tabelle, so sorgt die Methode dafür, dass dieser Audiotitel in die Wiedergabeliste aufgenommen wird. Hierbei wird noch geprüft, ob es sich überhaupt um eine vom Audioplayer akzeptierte Audiodatei handelt.
Parameter:
dtde 	DropTargetDropEvent 	
Definiert in Zeile 406 der Datei CenterPanel.java.
void i2bpro.layer.Panels.CenterPanel.dropActionChanged (DropTargetDragEvent dtde)
Die Methode dropActionComand wird in der Klasse CenterPanel nicht verwendet und stammt vom DropTargetListener.
Parameter:
dtde 	DropTargetDragEvent 	
Definiert in Zeile 376 der Datei CenterPanel.java.
int i2bpro.layer.Panels.CenterPanel.getSelectedRow ()
Mit der Methode getSelectedRow kann von außen die derzeit selektierte Zeile ermittelt werden.
Rückgabe:
selektierte Zeile 
Definiert in Zeile 455 der Datei CenterPanel.java.
void i2bpro.layer.Panels.CenterPanel.PlayListChange ()
Die Methode PlayListChange kann aufgerufen werden, um dem CenterPanel mitzuteilen, dass die Wiedergabeliste oder Informationen aus der Wiedergabeliste sich geändert haben. Die Methode führt dann ein Update der Tabellenoberfläche aus, um die Anzeige zu aktualisieren. 
Definiert in Zeile 440 der Datei CenterPanel.java.
void i2bpro.layer.Panels.CenterPanel.setRowSelection (int selected_id)
Mit der Methode setRowSelection kann ein bestimmter Audiotitel von Außen selektiert werden.
Parameter:
selected_id 	Identifikationsnummer des zu selektierenden Audiotitels 	
Definiert in Zeile 517 der Datei CenterPanel.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Panels/CenterPanel.java

i2bpro.playlist.CUE Klassenreferenz
Klassendiagramm für i2bpro.playlist.CUE:
IMAGE

Zusammengehörigkeiten von i2bpro.playlist.CUE:
IMAGE

Öffentliche Methoden
void savePlayList (HashMap< Integer, HashMap< String, String >> list, String filename)  throws IOException     
Paketfunktionen
CUE (String filename)  throws FileNotFoundException, IOException, PlayListException, CannotReadException, TagException, ReadOnlyFileException, InvalidAudioFrameException     
Paketattribute
HashMap< String, String > albumDaten = new HashMap<String, String>()

Ausführliche Beschreibung

Autor:
Jürgen 
Definiert in Zeile 29 der Datei CUE.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/playlist/CUE.java

i2bpro.layer.Panels.EastPanel Klassenreferenz
Klassendiagramm für i2bpro.layer.Panels.EastPanel:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.Panels.EastPanel:
IMAGE

Öffentliche Methoden
EastPanel ()
void setVolumeValue (int value)
void PlayerStarted ()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: EastPanel
Die Klasse eastPanel beherbergt den Lautstärkeregler der ein Objekt vom Type JSlider ist. Die klasse ist von JPanel abgeleitet.
Version:
1.0.0 
Datum:
01.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 33 der Datei EastPanel.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.layer.Panels.EastPanel.EastPanel ()
Der Konstruktor setzt das Layout des EastPanels auf ein FlowLayout und führt zur Initilisierung die Methode initVolume aus. 
Definiert in Zeile 46 der Datei EastPanel.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Panels.EastPanel.PlayerStarted ()
Mit der Methode PlayerStarted kann dem EastPanel mitgeteilt werden, dass das Abspielen eines Audiotitels gestartet wurde. Die Methode gibt dann die aktuell eingestellte Lautstärke an den Player weiter, so dass diese der Player einstellen kann. 
Definiert in Zeile 149 der Datei EastPanel.java.
void i2bpro.layer.Panels.EastPanel.setVolumeValue (int value)
Mit der Methode setVolumeValue kann der Klasse EastPanel ein neuer Lautstärkewert übergeben werden. Dieser wird dann der Methode setVolumeValue des JSlider Objektes zugeführt. Dieser löst einen ChangeEvent aus und darüber wird die neue Lautstärke an den Player weitergegeben.
Parameter:
value 	Lautstärkewert (0 - 100) 	
Definiert in Zeile 137 der Datei EastPanel.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Panels/EastPanel.java

i2bpro.Exceptions.ErrorMessages Klassenreferenz
Zusammengehörigkeiten von i2bpro.Exceptions.ErrorMessages:
IMAGE

Öffentliche Methoden
String getMessage (int ErrorNumber)
Öffentliche, statische Methoden
static ErrorMessages getInstance ()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: ErrorMessages
Die Klasse ErrorMessages stellt eine Art Datenbank für Fehlermeldungen dar. Sie ist nach Singleton-Pattern Programmiert und stellt neben der GetInstance
Methode nur noch eine weitere zur Verfügung mit der auf die Fehlermeldungen zugegriffen werden kann.
Die Meldungen werden dabei in einer HashMap gespeichert deren Keys als Integer-Werte angelegt sind. So stellen die Werte 100-199 Meldungen der LayerExceptions dar die Werte 200-299 PlayListExceptions und die Werte 300-399 PlayerExceptions.
Version:
1.0.0 
Datum:
31.12.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 26 der Datei ErrorMessages.java.

Dokumentation der Elementfunktionen
static ErrorMessages i2bpro.Exceptions.ErrorMessages.getInstance () [static]
Gibt beim Aufruf die einzige Instanz zurück. Beim ersten Aufruf wird diese erzeugt.
Rückgabe:
Instanz von ErrorMessage 
Definiert in Zeile 54 der Datei ErrorMessages.java.
String i2bpro.Exceptions.ErrorMessages.getMessage (int ErrorNumber)
Gibt eine Fehlermeldung entsprechend der übergebenen Fehlernummer zurück: Dabei gelten folgende Bereiche:
100 - 199 LayerException 200 - 299 PlayListException 300 - 399 PlayerException
Parameter:
ErrorNumber 	Fehlernummer deren Meldung als Rückgabewert erwartet wird.	
Rückgabe:
Zur übergebenen Fehlernummer die Fehlermeldung als String-Wert. 
Definiert in Zeile 73 der Datei ErrorMessages.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/Exceptions/ErrorMessages.java

i2bpro.Exceptions.ErrorMsg Klassenreferenz
Öffentliche, statische Methoden
static void show (String err)

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: ErrorMsg
Die Klasse ErrorMsg dient zur Ausgabe von Fehlermeldungen und stellt dazu zwei statische Methode show zur Verfügung. Diese Meldungen werden als JOptionPane dargestellt. Diese Klasse ist auch dafür verantwortlich den Player, nach einem Fehler, in einen stabilen Zustand zu versetzen. Dazu wird von den Methoden show die Methode reset aufgerufen.
Version:
1.0.0 
Datum:
31.12.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 25 der Datei ErrorMsg.java.

Dokumentation der Elementfunktionen
static void i2bpro.Exceptions.ErrorMsg.show (String err) [static]
Die Methode show erwartet eine Fehlermeldung als Parameter. Diese Fehlermeldung wird dann decodiert und ausgegeben. Die Ausgabe erfolgt über ein JOptionPane-Object.
Parameter:
err 	String-Wert der die Fehlermeldung beinhaltet. 	
Definiert in Zeile 35 der Datei ErrorMsg.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/Exceptions/ErrorMsg.java

i2bpro.I2BPro Klassenreferenz
Öffentliche, statische Methoden
static void main (String[] args)  throws PlayListException,             FileNotFoundException, IOException, CannotReadException,             TagException, ReadOnlyFileException, InvalidAudioFrameException,             Exception     

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: I2BPro
Die Klasse I2BPro ist der Einstiegspunkt des Audioplayers. Die Klasse legt für das Programm drei statische Objekte an. Dabei kann dem Audioplayer Paramter übergebende werden. Diese werden ausgewertet, sowie eine eventuell vorhande Konfigurationsdatei ausgewertet wird und der Audioplayer wird entsprechend gestartet. Dazu wird die Oberfläche (Layer) aufgerufen.
Version:
1.0.0 
Datum:
31.12.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 35 der Datei I2BPro.java.

Dokumentation der Elementfunktionen
static void i2bpro.I2BPro.main (String[] args)  throws PlayListException,             FileNotFoundException, IOException, CannotReadException,             TagException, ReadOnlyFileException, InvalidAudioFrameException,             Exception      [static]
Main - Methode des Programms und Einstiegspunkt in das Programm. Bevor die Oberfläche (Layer) aufgerufen wird, wird zunächst abgefragt, ob dem Programm Argumente übergeben wurden und entsprechende Einstellungen werden worgenommen. Sollte es eine Konfigurationsdatei geben, so wird auch diese nach Einstellungen abgefragt. Die Argumentenliste hat dabei vorrang vor der Konfigurationsdatei.
Parameter:
args 	Parameter wie z.B. die Wiedergabeliste, welche geladen werden soll. 	
Definiert in Zeile 50 der Datei I2BPro.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/I2BPro.java

i2bpro.playlist.ID3v2 Klassenreferenz
Klassendiagramm für i2bpro.playlist.ID3v2:
IMAGE

Zusammengehörigkeiten von i2bpro.playlist.ID3v2:
IMAGE

Paketfunktionen
ID3v2 (String filename)  throws CannotReadException, IOException,             TagException, ReadOnlyFileException, InvalidAudioFrameException     

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: ID3v2
Die Klasse ID3v2 ist eine von baseMetaInfo abgeleitete Klasse und dient dem auslesen von ID3v2-MetaDaten aus mp3-Dateien, sowie dem bearbeiten dieser.
Version:
1.0.0 
Datum:
02.01.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 30 der Datei ID3v2.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.playlist.ID3v2.ID3v2 (String filename)  throws CannotReadException, IOException,             TagException, ReadOnlyFileException, InvalidAudioFrameException      [package]
Der nicht Stanadardkonstruktor erwartet als Parameter eine Pfadangabe zur Audiodatei. Der Konstruktor liest dann die Metadaten aus und schreibt diese in die Liste der Metadaten der Klasse baseMetaInfo.
Parameter:
filename 	Speicherort des Audiotracks als vollständige Pfadangabe. 	
Definiert in Zeile 47 der Datei ID3v2.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/playlist/ID3v2.java

i2bpro.layer.InfoMessages Klassenreferenz
Zusammengehörigkeiten von i2bpro.layer.InfoMessages:
IMAGE

Öffentliche Methoden
String getMessage (int InfoNumber)
Öffentliche, statische Methoden
static InfoMessages getInstance ()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: InfoMessages
Die Klasse InfoMessages stellt eine Art Datenbank für Informationsmeldungen dar. Sie ist nach Singleton-Pattern programmiert und stellt neben der GetInstance-Methode nur noch eine weitere zur Verfügung mit der auf die Informationsmeldungen zugegriffen werden kann.
Die Meldungen werden dabei in einer HashMap gespeichert deren Keys als Integer-Werte angelegt sind.
Version:
1.0.0 
Datum:
31.12.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 24 der Datei InfoMessages.java.

Dokumentation der Elementfunktionen
static InfoMessages i2bpro.layer.InfoMessages.getInstance () [static]
Gibt beim Aufruf die einzige Instanz zurück. Beim ersten Aufruf wird diese erzeugt.
Rückgabe:
Instanz von InfoMessage 
Definiert in Zeile 52 der Datei InfoMessages.java.
String i2bpro.layer.InfoMessages.getMessage (int InfoNumber)
Gibt eine Informationsmeldung entsprechend der übergebenen Informationsnummerzurück:
Parameter:
InfoNumber 	Informationsnummer deren Meldung als Rückgabewert erwartet wird.	
Rückgabe:
Zur übergebenen Informationsnummer die Informationsmeldung als String-Wert. 
Definiert in Zeile 68 der Datei InfoMessages.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/InfoMessages.java

i2bpro.layer.InfoMsg Klassenreferenz
Öffentliche, statische Methoden
static void show (int InfoNumber)

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: InfoMsg
Die Klasse InfoMsg dient zur Ausgabe von Informationsmeldungen und stellt dazu eine statische Methode show zur Verfügung. Diese Meldungen werden in einem JOptionPane dargestellt.
Version:
1.0.0 
Datum:
31.12.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 22 der Datei InfoMsg.java.

Dokumentation der Elementfunktionen
static void i2bpro.layer.InfoMsg.show (int InfoNumber) [static]
Die Methode show erwartet eine Informationsmeldung als Parameter. Diese Informationsmeldung wird dann ausgegeben. Die Ausgabe erfolgt über ein JOptionPane-Object.
Parameter:
InfoNumber 	Informationnummer der Informationsmeldung 	
Definiert in Zeile 32 der Datei InfoMsg.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/InfoMsg.java

i2bpro.layer.Dialogs.InsertMediaDlg Klassenreferenz
Klassendiagramm für i2bpro.layer.Dialogs.InsertMediaDlg:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.Dialogs.InsertMediaDlg:
IMAGE

Öffentliche Methoden
void run ()
void actionPerformed (ActionEvent e)
Öffentliche, statische Methoden
static InsertMediaDlg getInstance ()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: InsertMediaDlg
Die Klasse InsertMediaDlg ist von JDialog abgeleitet und wird dem Audioplayer als einzelne Instanz zur Verfügung gestellt. Sie ist nach dem Verfahren Singleton-Pattern programmiert.
Die Klasse ermöglicht es Audiodateien der Wiedergabeliste hinzuzufügen. Dazu wird ein JFileChooser-Element verwendet.
Version:
1.0.0 
Datum:
01.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 39 der Datei InsertMediaDlg.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Dialogs.InsertMediaDlg.actionPerformed (ActionEvent e)
Die Methode actionPerformed reagiert auf Events des ActionListeners. Wird dabei festgestellt, dass es sich um das Auslösen des Hinzufügen-Buttons handelt, so wird überprüft ob die Erweiterung der Datei einer Audiodatei entspricht. Ist es eine Audiodatei, so wird das anlegen dieser ausgelöst. Wurden mehrere Dateien ausgewählt so wird die Liste erst überprüft und dann weitergeben.
Parameter:
e 	ActionEvent 	
Definiert in Zeile 208 der Datei InsertMediaDlg.java.
static InsertMediaDlg i2bpro.layer.Dialogs.InsertMediaDlg.getInstance () [static]
Die Methode getIntance gibt die einzigste Instanz der Klasse InsertMediaDlg zurück.
Rückgabe:
Instanz der Klasse InsertMediaNewDlg 
Definiert in Zeile 89 der Datei InsertMediaDlg.java.
void i2bpro.layer.Dialogs.InsertMediaDlg.run ()
Mit der Methode run, wird der Dialog ausgeführt und sichtbar gemacht. Dabei legt die Methode die Größe und Position des Fensters fest. Die Größe und Ausrichtung wird mithilfe der Methode pack definiert. Die Position wird mittig zur Bildschirmauflösung festgelegt. Zum Schluss wird der Dialog sichtbar gemacht. 
Definiert in Zeile 102 der Datei InsertMediaDlg.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Dialogs/InsertMediaDlg.java

i2bpro.layer.Layer Klassenreferenz
Zusammengehörigkeiten von i2bpro.layer.Layer:
IMAGE

Öffentliche Methoden
void run ()
void run (String filename)  throws PlayListException,              FileNotFoundException, IOException, CannotReadException,             TagException, ReadOnlyFileException, InvalidAudioFrameException     
void Reset ()
void play ()  throws LayerException, MalformedURLException,             IOException, NoPlayerException     
void play (int new_id)  throws LayerException, MalformedURLException,             IOException, NoPlayerException     
void PlayerStarted ()
boolean isPositionUpdate ()
void setPositionUpdate (boolean val)
void PositionUpdate ()
void pause ()
void PlayerPaused ()
void stop ()
void PlayerStopped ()
void PlayerEndOfMedia ()  throws LayerException, MalformedURLException,             IOException, NoPlayerException     
void Prior ()  throws LayerException, MalformedURLException,             IOException, NoPlayerException     
void Next ()  throws LayerException, MalformedURLException,             IOException, NoPlayerException     
void toggleMute ()
void toggledMute ()
void PlayListChange ()
void setVolume (int volume)
void setSave (boolean isSave)
boolean isSave ()
Integer getID ()
void DeleteMedia ()  throws LayerException     
void DeleteMedia (int del_id)  throws LayerException     
boolean toggleRandom ()  throws LayerException, MalformedURLException,             IOException, NoPlayerException     
Öffentliche, statische Methoden
static Layer getInstance ()
Paketattribute
int first_id

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: Layer
Die Klasse Layer ist für die gesamte grafische Oberfläche des Audioplayers verantwortlich und dient sozusagen als Kontrollzentrum. Sie ist von der Klasse JFrame abgeleitet. Es werden für die Darstellung der Elemente des Audioplayers verschiedene Panels angelegt und mit diversen Layouts versehen. Die Klasse Layer selber ist in ein BorderLayout eingebetet.
Dabei werden die Unterpanels entsprechend ihrer Ausrichtung im Hauptpanel benannt. So gibt es das EastPanel welches den Lautstärkeregler beinhaltet, das CenterPanel welches die Wiedergabeliste beinhaltet und das Soutpanel, welches die Button und die Zeitsteuerung beinhaltet. Wie zu erkennen ist, sind nicht alle Felder des BorderLayouts belegt. Somit gebe es noch Möglichkeiten das Hauptpannel zu erweitern.
Damit keine weiteren Instanzen der Klasse Layer im Audioplayer existieren, wurde die Klasse nach Singleton-Pattern programmiert.
Version:
1.0.0 
Datum:
31.12.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 56 der Datei Layer.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Layer.DeleteMedia ()  throws LayerException     
Die Methode DeleteMedia startet den Löschvorgang des aktuell in der Wiedergabeliste (JTable/CenterPanel) ausgewählten Audiotitels.
Ausnahmebehandlung:
LayerException 		
Definiert in Zeile 700 der Datei Layer.java.
void i2bpro.layer.Layer.DeleteMedia (int del_id)  throws LayerException     
Diese DeleteMedia Methode löst den Löschvorgang für den im Paramter del_id angegebenen Audiotitels aus.
Dazu wird geprüft ob del_id größer als 0 ist, da alle Audiotitel eine Identifikationsnummer >= 0 aufweisen. Ist dies also nicht der Fall, so wird eine Exception ausgelöst.
Anschließend wird geprüft, ob der zu löschende Audiotitel gerade abgespielt wird. Ist dies der Fall wird das Abspielen gestoppt.
Anschließend wird das Löschen ausgelöst. Der Audiotitel wird dabei lediglich aus der Wiedergabeliste gelöscht, jedoch nicht von seinem physikalischen Speicherort.
Danach wird geprüft ob der aktuelle Audiotitel vor oder nach dem gelöschten Audiotitel in der Wiedergabeliste kam und entsprechend wird das Attribut id angepasst und die Selektrierung im Centerpanel (JTable) geändert.
Parameter:
del_id 	Identifikationsnummer des zu löschenden Audiotitels 	
Ausnahmebehandlung:
LayerException 		
Definiert in Zeile 731 der Datei Layer.java.
Integer i2bpro.layer.Layer.getID ()
Die Methode getID gibt die Identifikationsnummer des aktuellen Audiotitels zurück.
Rückgabe:
Identifikationsnummer des aktuellen Audiotitels 
Definiert in Zeile 689 der Datei Layer.java.
static Layer i2bpro.layer.Layer.getInstance () [static]
Die Methode getInstance gibt die einzige Instanz der Klasse Layer zurück und macht die MEthoden des Layers somit verfügbar.
Rückgabe:
einzigste Instanz der Klasse Layer. 
Definiert in Zeile 141 der Datei Layer.java.
boolean i2bpro.layer.Layer.isPositionUpdate ()
Die Methode isPostionUpdate gibt den Status wieder, ob die Abspielposition sich geändert hat und es versucht wird, den Positionsmarker des JSlider-Objektes zu verändern, welches die Abspielposition anzeigt.
Rückgabe:
booleascher Ausdruck, der den Status der Abspielpositionsänderung angibt. 
Definiert in Zeile 356 der Datei Layer.java.
boolean i2bpro.layer.Layer.isSave ()
Mit der Methode kann abgefragt werden, ob der Save Mode gesetzt ist.
Rückgabe:
booleascher Ausdruck der Aussagt, ob der Save Mode gesetzt ist oder nicht. 
Definiert in Zeile 678 der Datei Layer.java.
void i2bpro.layer.Layer.Next ()  throws LayerException, MalformedURLException,             IOException, NoPlayerException     
Die Methode Next versucht den nächsten Audiotitel abzuspielen. Dazu wird geprüft, ob der Audioplayer im Zufallsmodus ist. Ist dies der Fall, so schaut die Methode in der HashMap nachher nach, welcher der nächste Audiotitel ist versucht mit der MEthode play das Abspielen zu starten. Wurde jedoch kein Titel gefunden, so wird die Methode nextRandomTitel aufgerufen, um einen zu generieren.
Befindet sich der Audioplayer nicht im Zufallsmodus, so wird versucht den nächste Audiotitel in der Wiedergabeliste abzuspielen. Ist der aktuelle Titel der Letzte in der Wiedergabeliste, so wird der erste Titel zum aktuellen wird gemacht und es wird mithilfe der Methode play versucht diesen abzuspielen.
Ausnahmebehandlung:
LayerException 		
MalformedURLException 		
IOException 		
NoPlayerException 		
Definiert in Zeile 562 der Datei Layer.java.
void i2bpro.layer.Layer.pause ()
Die Methode pause wird aufgerufen, um dem Player mitzuteilen, dass er das Abspielen des Audiotitels pausieren soll. Dazu wird geprüft, ob der Player überhaupt einen Audiotitel abspielt (Status 1=Play). 
Definiert in Zeile 403 der Datei Layer.java.
void i2bpro.layer.Layer.play ()  throws LayerException, MalformedURLException,             IOException, NoPlayerException     
Die Methode play wird ausgeführt, wenn kein bestimmter Audiotitel abgespielt werden soll. Somit wird der im Attribut id gespeicherte Audiotitel abgespielt, es sei denn der Player befindet sich nicht in den Modis 0=Stop oder 1=Play, dann wird die id auf den in der Wiedergabeliste ausgewählten Titel gesetzt. Sollte dort kein Audiotitel ausgewählt worden sein, dann wird dies über den dadurch übergebenen Wert in der Methode StartPlay ausgewertet.
Ausnahmebehandlung:
LayerException 		
MalformedURLException 		
IOException 		
NoPlayerException 		
Definiert in Zeile 230 der Datei Layer.java.
void i2bpro.layer.Layer.play (int new_id)  throws LayerException, MalformedURLException,             IOException, NoPlayerException     
Diese MEthode play erwartet als Parameter eine id die auf einen bestimmten Audiotitel in der Wiedergabeliste zeigt. Dieser Audiotitel ist abzuspielen. Dazu wird der Wert new_id dem Attribut id übergeben und die Methode StartPlay aufgerufen.
Parameter:
new_id 	PlayList-Identifikationsnummer des abzuspielenden Audiotitels	
Ausnahmebehandlung:
LayerException 		
MalformedURLException 		
IOException 		
NoPlayerException 		
Definiert in Zeile 256 der Datei Layer.java.
void i2bpro.layer.Layer.PlayerEndOfMedia ()  throws LayerException, MalformedURLException,             IOException, NoPlayerException     
Hat er Audiotitel, dass Ende des Abspielens erreicht und wurde kein Stoppen ausgelöst, so teilt der Player das beenden des Abspielens, aufgrund des Erreichens des Endes des Audiotitels, über die Methode PlayerEndOfMedia mit.
Die Methode prüft nun sich der Audioplayer im Zufallsmodus ist oder nicht. Ist er im Zufallsmodus, so wird die Methode nextRandomTitel aufgerufen. Ansonsten wird versucht den nächsten Titel der Wiedergabeliste zum aktuellen Titel zu machen. Ist dies Möglich, so wird durch Aufruf der MEthode play, dass abspielen des Audiotitels gestartet.
Ausnahmebehandlung:
LayerException 		
MalformedURLException 		
IOException 		
NoPlayerException 		
Definiert in Zeile 477 der Datei Layer.java.
void i2bpro.layer.Layer.PlayerPaused ()
Mit dieser MEthode kann der Oberfläche (Layer) mitgeteilt werden, dass der Versuch den Player pausieren zu lassen, erfolgreich war. Die MEthode teilt dies dann den entsprechenden Panels mit, damit diese die Panels entsprechend verändern können. 
Definiert in Zeile 418 der Datei Layer.java.
void i2bpro.layer.Layer.PlayerStarted ()
Die Methode PlayerStarted wird von der Instanz Player aufgerufen, wenn der Startvorgang zum abspielen eines Audiotitels erfolgreich war. Die Methode übergibt diese Meldung nun an die Unterpanels weiter und setzt das old_id Attribut auf die aktuelle id und geht wieder aus dem Status isPlayerStarting raus. 
Definiert in Zeile 333 der Datei Layer.java.
void i2bpro.layer.Layer.PlayerStopped ()
Mit der MEthode PlayerStopped teilt der Player mit, dass der Versuch das Abspielen eines Audiotitels zu stoppen, erfolgreich war. Die Methode gibt dies dann an die entsprechenden Panels weiter, so dass diese die Panels entsprechend einstellen können. 
Definiert in Zeile 448 der Datei Layer.java.
void i2bpro.layer.Layer.PlayListChange ()
Mit der Methode PlayListChange wird das Ändern der Wiedergabeliste mitgeteilt. Die Methode teilt dies dem CenterPanel über die gleichnamige Methode mit, welches dann das Panel aktualisiert.
Anschließend wird geprüft ob die Wiedergabeliste Audiotitel enthält. Enthält sie keine Audiotitel wird die id auf -1 gesetzt, um anzuzeigen, dass kein Audiotitel ausgewählt ist. Gleichzeitig, wird der Menüeintrag "Audiotitel löschen" anwählbar oder nicht anwählbar gesetzt. 
Definiert in Zeile 620 der Datei Layer.java.
void i2bpro.layer.Layer.PositionUpdate ()
Mit der MEthode PositionsUpdate wird dem SouthPanel mitgeteilt, dass sich im Player die Abspielposition geändert hat und somit die entsprechenden Elemente im Panel aktuallisiert werden müssen. Entsprechend ruft die Methode Funktionen des Panels auf. Dazu wird der Status PositionsUpdate gesetzt, damit die Elemente wissen, dass die Änderung vom Player und nicht vom User kommt. Würde sie vom User stammen, so müssten die Elemente ihrerseits dem Player diese Änderung mitteilen. Würde der Status also nicht gesetzt werden, so würde eine Endlosschleife entstehen. 
Definiert in Zeile 387 der Datei Layer.java.
void i2bpro.layer.Layer.Prior ()  throws LayerException, MalformedURLException,             IOException, NoPlayerException     
Durch Aufruf der Methode Prior wird versucht den vorherigen Titel abzuspielen.
Zunächst wird geprüft, ob die Wiedergabelliste Audiotitel enthält. Enthält die Liste Audiotitel, wird nun geprüft ob der Audioplayer im Zufallsmodus ist. Ist dies der Fall so wird in der HashMap vorher der vorherige Audiotitel ausgelesen und der Methode play zum abspielen übergeben. War der aktuelle Titel jedoch der Erste, so wird keine Aktion ausgelöst.
Ist der Audioplayer nicht im Zufallsmodus, so wird versucht den vorherige Titel abzuspielen. Ist der aktuelle Titel der Erste in der Wiedergabelliste, so wird der letzte Audiotitel der List zum aktuellen gesetzt und das Abspielen dieses gestartet.
Ausnahmebehandlung:
LayerException 		
MalformedURLException 		
IOException 		
NoPlayerException 		
Definiert in Zeile 521 der Datei Layer.java.
void i2bpro.layer.Layer.Reset ()
Die Methode Reset wird von der Klasse ErrorMsg aufgerufen, um den Audioplayer nach einer Exception zurückzusetzen, in einen stabilen Zustand. 
Definiert in Zeile 205 der Datei Layer.java.
void i2bpro.layer.Layer.run ()
Die Methode run berechnet anhand der Bildschirmauflösung die Auflösung des Fensters. Dabei wird die Größe des Fensters auf 75% der Bildschirmauflösung festgelegt. Die Positions des Fensters wird ebenfalls aus der Bildschirmauflösung berechnet. So dass das Fenster mittig erscheint. Nach den Berechnungen wird das Fenster sichtbar geschaltet. 
Definiert in Zeile 155 der Datei Layer.java.
void i2bpro.layer.Layer.run (String filename)  throws PlayListException,              FileNotFoundException, IOException, CannotReadException,             TagException, ReadOnlyFileException, InvalidAudioFrameException     
Dieser Methode run wird ein Pfad zu einer Wiedergabeliste übergeben. Bevor nun die andere Methode run ausgeführt wird, wird die Pfadangabe der PlayList-Instanz übergeben. Des Weiteren wird dem CenterPanel mitgeteilt, dass sich die PlayList geändert hat und das CenterPanel die Tabelle (JTable) neu zeichnen muss.
Parameter:
filename 	Pfadangabe zu einer Wiedergabeliste	
Ausnahmebehandlung:
PlayListException 		
FileNotFoundException 		
IOException 		
CannotReadException 		
TagException 		
ReadOnlyFileException 		
InvalidAudioFrameException 		
Definiert in Zeile 187 der Datei Layer.java.
void i2bpro.layer.Layer.setPositionUpdate (boolean val)
Mithilfe der Methode setPositionUpdate kann der Status gesetzt werden, welcher den Versuch der Änderung der Abspielposition im entsprechenden Panel angibt.
Parameter:
val 	booleascher Ausdruck für den Status der Abspielpositionsänderung 	
Definiert in Zeile 370 der Datei Layer.java.
void i2bpro.layer.Layer.setSave (boolean isSave)
Mit der Methode wird der Änderungsstatus der Wiedergabeliste gesetzt. Dazu ist mittels des Parameters isSave mitzuteilen, ob sich die Wiedergabeliste oder Werte der Wiedergabeliste geändert haben. Ist dies der Fall so wird der SaveMode eingeschaltet. Dies bedeutet, dass das Speichern der Wiedergabeliste freigeschaltet wird und beim beenden des Audioplayers der User gefragt wird, ob er die Änderungen speichern möchte.
Parameter:
isSave 	booleascher Wert der den Save Mode setzt. 	
Definiert in Zeile 662 der Datei Layer.java.
void i2bpro.layer.Layer.setVolume (int volume)
Die Methode setVolume kann dazu aufgerufen werden, um die Lautstärke zu verändern. Dazu ist über den Parameter volume die neue Lautstärke der Methode mitzuteilen.
Parameter:
volume 	Lautstärkewert zwischen 0 und 100. 	
Definiert in Zeile 642 der Datei Layer.java.
void i2bpro.layer.Layer.stop ()
Mit der Methode stop wird das Stoppen des Abspielens eines Audiotitels im Player ausgelöst. Dazu wird vorher geprüft, ob der Player überhaupt einen Audiotitel abspielt. 
Definiert in Zeile 433 der Datei Layer.java.
void i2bpro.layer.Layer.toggledMute ()
Über die Methode toggledMute teilt der Player mit, dass sich der Mute Mode geändert hat. Diese Meldung wird den entsprechenden Panels mitgeteilt, welche die Panels entsprechend des Mute Mode abändern. 
Definiert in Zeile 600 der Datei Layer.java.
void i2bpro.layer.Layer.toggleMute ()
Die Methode toggleMute ruft widerum die Methode toggleMute der Instanz Player auf. Diese stellt entsprechend den Mute Mode ein oder aus. 
Definiert in Zeile 586 der Datei Layer.java.
boolean i2bpro.layer.Layer.toggleRandom ()  throws LayerException, MalformedURLException,             IOException, NoPlayerException     
Mit der Methode toggleRandom kann der Zufallsmodus ein- oder abgeschaltet werden. Jenachdem in welchem Modus sich der Audioplayer befindet. Anschließend wird der Modus zurückgegeben.
Rückgabe:
booleascher Ausdruck über den Zufallsmodus.
Ausnahmebehandlung:
LayerException 		
MalformedURLException 		
IOException 		
NoPlayerException 		
Definiert in Zeile 756 der Datei Layer.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Layer.java

i2bpro.Exceptions.LayerException Klassenreferenz
Öffentliche Methoden
LayerException (int ErrorNumber)

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: LayerException
Die Klasse LayerException dient der Erzeugung von Exceptions im Zusammenhang mit der grafischen Oberfläche (Layer).
Version:
1.0.0 
Datum:
31.12.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 17 der Datei LayerException.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.Exceptions.LayerException.LayerException (int ErrorNumber)
Der Konstruktor der Klasse LayerException holt die Fehlermeldung aus der Instanz von ErrorMessages mithilfe der übergebenen Fehlermeldung (ErrorNumber) und übergibt die Meldung an die Klasse Exception von der die Klasse LayerException abgeleitet ist.
Parameter:
ErrorNumber 	Fehlernummer 	
Definiert in Zeile 28 der Datei LayerException.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/Exceptions/LayerException.java

i2bpro.playlist.M3U Klassenreferenz
Klassendiagramm für i2bpro.playlist.M3U:
IMAGE

Zusammengehörigkeiten von i2bpro.playlist.M3U:
IMAGE

Öffentliche Methoden
void SavePlayList (String filename, String type, HashMap< Integer, HashMap< String, String >> list)  throws IOException                  
void InsertMedia (File[] selectedFiles)  throws CannotReadException,              IOException, TagException, ReadOnlyFileException,             InvalidAudioFrameException     
Geschützte Methoden
void writeToPlayList (String line, String extm3u)  throws CannotReadException, IOException, TagException,             ReadOnlyFileException, InvalidAudioFrameException     
Paketfunktionen
M3U (String filename)  throws FileNotFoundException, IOException,              CannotReadException, TagException, ReadOnlyFileException,             InvalidAudioFrameException     

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: M3U
Die Klasse M3U ist eine von basePlayList abgeleitete Klasse und dient dem auslesen von M3U - Wiedergabelisten, sowie dem bearbeiten dieser.
Version:
1.0.0 
Datum:
22.11.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 40 der Datei M3U.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.playlist.M3U.M3U (String filename)  throws FileNotFoundException, IOException,              CannotReadException, TagException, ReadOnlyFileException,             InvalidAudioFrameException      [package]
Der erste nicht Standart-Konstruktor erwartet als Parameter eine Pfadangabe. Mit dieser wird die Wiedergabeliste aus der entsprechenden Datei ausgelesen. Dabei wird zwischen einfacher und erweiterter m3u-Wiedergabeliste unterschieden.
Parameter:
filename 	Pfadangabe zur Wiedergabeliste 	
Definiert in Zeile 52 der Datei M3U.java.

Dokumentation der Elementfunktionen
void i2bpro.playlist.M3U.InsertMedia (File[] selectedFiles)  throws CannotReadException,              IOException, TagException, ReadOnlyFileException,             InvalidAudioFrameException     
Mit der MEthode InsertMedia können Audiodateien der Wiedergabeliste hinzugefügt werden. Dazu ist der Methode eine Liste mit Pfadangaben zu den Dateien zu übergeben.
Parameter:
selectedFiles 	Liste mit Pfadangaben zu den hinzuzufügenden Audiodateien	
Ausnahmebehandlung:
CannotReadException 		
IOException 		
TagException 		
ReadOnlyFileException 		
InvalidAudioFrameException 		
Definiert in Zeile 198 der Datei M3U.java.
void i2bpro.playlist.M3U.SavePlayList (String filename, String type, HashMap< Integer, HashMap< String, String >> list)  throws IOException                  
Die Methode SavePlayList speichert nicht nur die Änderungen der Wiedergabeliste (playlist), sondern auch die Metadaten der Audiotitel in den entsprechenden Audiodateien.
Parameter:
filename 	Pfadangabe zur Wiedergabeliste 	
type 	Typ der Wiedergabeliste (m3u, cue usw.) 	
list 	Wiedergabeliste in Form einer HashMap die gespeichert werden soll 	
Ausnahmebehandlung:
IOException 		
Noch zu erledigen:
Es ist der bereich der Speicherung der Metadaten zu überarbeiten, da wav-Dateien nicht berücksichtigt werden. Des Weiteren kommt es bei erweiterten m3u-Wiedergabelisten zu einem Fehler, beim Versuch die Daten für die erweiterte Zeile aus einer wav-Datei zu ermitteln.
Fehler:
Bei Audiodateien im Format WAVE werden Metadaten nicht gespeichert, da diese von Audiotagger nicht ausgelesen werden können bzw. Metadaten damit nicht gespeichert werden können und die Klasse WavTag dies noch nicht vorsieht. Des Weiteren kommt es bei erweiterten m3u-Wiedergabelisten beim erstellen der erweiterten Zeile zu einem Fehler, wenn versucht wird die Daten einer wav-Datei zu ermitteln.
Definiert in Zeile 114 der Datei M3U.java.
void i2bpro.playlist.M3U.writeToPlayList (String line, String extm3u)  throws CannotReadException, IOException, TagException,             ReadOnlyFileException, InvalidAudioFrameException      [protected]
Mit der MEthode writeToPlayList werden die in line und extm3u übergebenen Werte in die Wiedergabeliste (playlist) gespeichert.
Parameter:
line 	Zeile mit der Pfadangabe zur Audiodatei 	
extm3u 	erweiterte Zeile einer m3u-Wiedergabeliste	
Ausnahmebehandlung:
CannotReadException 		
IOException 		
TagException 		
ReadOnlyFileException 		
InvalidAudioFrameException 		
Noch zu erledigen:
In der Methode wird noch keine Rücksicht auf cue-Wiedergabelisten genommen. Dies ist noch umzusetzen.
Definiert in Zeile 262 der Datei M3U.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/playlist/M3U.java

i2bpro.layer.Menus.MainMenu Klassenreferenz
Klassendiagramm für i2bpro.layer.Menus.MainMenu:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.Menus.MainMenu:
IMAGE

Öffentliche Methoden
MainMenu ()
JMenu createPlayMenu ()
void actionPerformed (ActionEvent e)
void PlayerStarted ()
void PlayerPause ()
void PlayerStopped ()
void toggledMute ()
Paketattribute
final Icon speaker_on
final Icon speaker_off

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: MainMenu
Die Klasse MainMenu erstellt das Hauptmenü des Audioplayers und ist eine abgeleitete Klasse der Klasse JMenuBar.
Version:
1.0.0 
Datum:
01.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 51 der Datei MainMenu.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.layer.Menus.MainMenu.MainMenu ()
Der Konstruktor der Klasse MainMenu ruft zwei Methoden auf, welche das Hauptmenü initialisieren. Dabei wird unterschieden zwischen den beiden Menüs Wiedergabeliste und Wiedergabe. 
Definiert in Zeile 69 der Datei MainMenu.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Menus.MainMenu.actionPerformed (ActionEvent e)
Die Methode actionPerformed reagiert auf Events des Hauptmenüs und führt die entsprechenden Algorithmen aus.
Parameter:
e 	ActionEvent 	
Definiert in Zeile 249 der Datei MainMenu.java.
JMenu i2bpro.layer.Menus.MainMenu.createPlayMenu ()
Die Methode createPlayMenu erstellt das Menü Wiedergabe
Rückgabe:
Menü Wiedergabe 
Definiert in Zeile 159 der Datei MainMenu.java.
void i2bpro.layer.Menus.MainMenu.PlayerPause ()
Über die Methode PlayerPause teilt die grafische Oberfläche dem Menü mit, dass das Abspielen eines Audiotitels unterbrochen wurde. Entsprechend stellt die Methode das Menü ein. 
Definiert in Zeile 413 der Datei MainMenu.java.
void i2bpro.layer.Menus.MainMenu.PlayerStarted ()
Über die Methode PlayerStarted teilt die grafische Oberfläche dem Menü mit, dass das Abspielen eines Audiotitels gestartet wurde. Entsprechend stellt die Methode das Menü ein. 
Definiert in Zeile 395 der Datei MainMenu.java.
void i2bpro.layer.Menus.MainMenu.PlayerStopped ()
Über die Methode PlayerStopped teilt die grafische Oberfläche dem Menü mit, dass das Abspielen eines Audiotitels unterbrochen wurde. Entsprechend stellt die Methode das Menü ein. 
Definiert in Zeile 431 der Datei MainMenu.java.
void i2bpro.layer.Menus.MainMenu.toggledMute ()
Über die Methode toogledMute teilt die grafische Oberfläche dem Menü mit, dass sich der Mute Mode geändert hat. Entsprechend stellt die Methode den Menüpunkt Mute zwischen einschalten bzw. ausschalten von Mute um. 
Definiert in Zeile 450 der Datei MainMenu.java.

Dokumentation der Datenelemente
final Icon i2bpro.layer.Menus.MainMenu.speaker_off [package]
Initialisierung: new ImageIcon(ButtonPanel.class.getResource(
            "/pics/speaker_off.png"))
Definiert in Zeile 56 der Datei MainMenu.java.
final Icon i2bpro.layer.Menus.MainMenu.speaker_on [package]
Initialisierung: new ImageIcon(ButtonPanel.class.getResource(
            "/pics/speaker_on.png"))
Definiert in Zeile 54 der Datei MainMenu.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Menus/MainMenu.java

i2bpro.player.Player Klassenreferenz
Klassendiagramm für i2bpro.player.Player:
IMAGE

Zusammengehörigkeiten von i2bpro.player.Player:
IMAGE

Öffentliche Methoden
void play (int id)  throws MalformedURLException, IOException, NoPlayerException     
void stop ()
void pause ()
TimeInterface getPosition ()
void setPosition (int position)
void setVolume (int vol)
int getVolume ()
void toggleMute ()
boolean isMute ()
synchronized void controllerUpdate (ControllerEvent event)
TimeInterface getDuration ()
int getState ()
Öffentliche, statische Methoden
static Player getInstance ()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: Player
Die Klasse Player beinhaltet alle Methoden die für den Audioplayer notwendig sind, um Audiodateien abzuspielen. Dafür werden Methoden zur Verfügung gestellt, welche eine Verbindung zum Java Media Framework herstellen. Die Klasse wurde nach der Singleton Pattern Methode geschrieben. Somit kann immer nur eine Instanz der Klasse erzeugt werden. Das Grundgerüst für das Singleton Pattern wurde dem Buch "Handbuch der Java Programmierung" von Guido Krüger und Thomas Stark entnommen.
Version:
1.0.0 
Datum:
02.01.2010 
Autor:
Jürgen Döffinger
Fehler:
Es weren einige mp3-Dateien nicht abgespielt. Der Fehler scheint im Java Media Framework zu liegen.
Definiert in Zeile 57 der Datei Player.java.

Dokumentation der Elementfunktionen
synchronized void i2bpro.player.Player.controllerUpdate (ControllerEvent event)
Die Methode controllerUpdate reagiert auf Events vom Controller des Players. 
Definiert in Zeile 437 der Datei Player.java.
TimeInterface i2bpro.player.Player.getDuration ()
Die Methode getDuration gibt die Gesamtspieldauer des Audiotitels zurück.
Rückgabe:
TimeInterface 
Die MEthode getSeconds gibt die Gesamtspielzeit in Sekunden zurück.
Rückgabe:
Gesamtabspieldauer in Sekunden
Die Methode getString gibt die Gesamtspieldauer als String in der Form hh:mm:ss zurück.
Rückgabe:
Gesamtabspieldauer des Audiotitels in Form hh:mm:ss

Definiert in Zeile 541 der Datei Player.java.
static Player i2bpro.player.Player.getInstance () [static]
Mit der Methode getInstance wird die nach dem Singleton Pattern Verfahren erzeugte Instanz an die aufrufende Methode zurückgegeben.
Rückgabe:
Einzigste Instanz der Klasse Player. 
Definiert in Zeile 105 der Datei Player.java.
TimeInterface i2bpro.player.Player.getPosition ()
Mit der MEthode getPosition kann die aktuelle Abspielposition erfragt werden.
Rückgabe:
TimerInterface 
Die Methode getSeconds gibt die aktuelle Abspielposition in Sekunden zurück
Rückgabe:
Abspielposition in Sekunden
Die Methode getString gibt die aktuelle Abspielposition als String in der Form hh:mm:ss zurück.
Rückgabe:
Abspielpostion in Form hh:mm:ss

Definiert in Zeile 267 der Datei Player.java.
int i2bpro.player.Player.getState ()
Die Methode getState gibt den Status des Players zurück.
Rückgabe:
0 = Stop 1 = Play 2 = Pause 
Definiert in Zeile 616 der Datei Player.java.
int i2bpro.player.Player.getVolume ()
Die Methode getVolume gibt die aktuell eingestellte Lautstärke zurück.
Rückgabe:
Wert der aktuellen Lautstärke zwischen 0 und 100.
Warnung:
Der im Status Stop zurückgegebene Wert muss nicht dem tatsächlichen Wert entsprechen. Allerdings wird der Player beim starten einer Wiedergabe auf, den im Status Stop, ausgelesenen Lautstärkewert gesetzt. 
Definiert in Zeile 394 der Datei Player.java.
boolean i2bpro.player.Player.isMute ()
Die Methode isMute gibt den Wert des Attributs mute zurück. Somit kann festgestellt werden, ob Mute eingeschalten ist oder nicht.
Rückgabe:
booleascher Ausdruck über den Zustand von Mute 
Definiert in Zeile 428 der Datei Player.java.
void i2bpro.player.Player.pause ()
Die Methode pause unterbricht das Abspielen des Audiotitels. Dabei wird auf die Methode stop zurückgegriffen. Vorher wird allerdings das Attribute position auf die aktuelle Abspielposition gesetzt. Somit kann mithilfe der Methode play bzw. StartPlayer, die Wiedergabe an der entsprechenden Position fortgesetzt werden. 
Definiert in Zeile 237 der Datei Player.java.
void i2bpro.player.Player.play (int id)  throws MalformedURLException, IOException, NoPlayerException     
Mit der Methode play wird das Abspielen eines Audiotitels gestartet. Die Methode prüft dabei den Status des Players und entscheidet daraufhin, ob eine Wiedergabe, welche pausiert, einfach nur fortgesetzt wird oder ob eine Wiedergabe im Status Stop neu gestartet wird. Die Entscheidung liegt auch bei der übergebenen Identifikationsnummer (id). Ist der Player im Status Pause,aber wird nicht die gleiche id, wie zum Zeitpunkt als der Player in den Status Pause ging, übergeben, so wird nicht fortgesetzt, sondern der Player wird in den Status Stop gebracht und der neue Audiotitel gestartet.
Parameter:
Identifikationsnummer 	des Audiotitels 	
Definiert in Zeile 123 der Datei Player.java.
void i2bpro.player.Player.setPosition (int position)
Die Methode setPosition setzt den derzeit abgespielten Audiotrack auf die übergebene Position. Dabei wird natürlich der Status des Players berücksichtigt. Ist der Player im Status Stop wird keine Positionierung vorgenommen. Im Status Play wird hingegen die Abspielposition entsprechend geändert und im Status Pause wird die übergebene Position im Attribut position gespeichert.
Parameter:
new 	Abspielposition in Sekunden 	
Definiert in Zeile 327 der Datei Player.java.
void i2bpro.player.Player.setVolume (int vol)
Mit der Methode setVolume wird die Lautstärke des Players eingestellt. Dazu ist ein Wert zwischen 0 und 100 zu übergeben. Dieser wird dann der logarithmischen Lautstärkekurve angepasst. Diese Anpassung wurde experimantell ermittelt.
Parameter:
vol 	Lautstärkewert zwischen 0 und 100. 	
Definiert in Zeile 350 der Datei Player.java.
void i2bpro.player.Player.stop ()
Mit der Methode stop kann das Abspielen eines Audiotitels abgebrochen werden. Dabei wird der Player geschlossen und in den Status 0=STOP versetzt. 
Definiert in Zeile 218 der Datei Player.java.
void i2bpro.player.Player.toggleMute ()
Die Methode toogleMute schaltet Mute ein oder aus. Ist das Attribute mute false, so wird die Lautstärke auf 0 gesetzt und das Attribut mute auf true. Ist das Attribute hingegen true, wird die Lautstärke auf den Wert des Attributs volume und das Attribut mute auf false gesetzt. 
Definiert in Zeile 406 der Datei Player.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/player/Player.java

i2bpro.Exceptions.PlayerException Klassenreferenz
Öffentliche Methoden
PlayerException (int ErrorNumber)

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: PlayerException
Die Klasse PlayerException dient der Erzeugung von Exceptions im Zusammenhang mit dem Player.
Version:
1.0.0 
Datum:
31.12.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 19 der Datei PlayerException.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.Exceptions.PlayerException.PlayerException (int ErrorNumber)
Der Konstruktor der Klasse PlayerException holt die Fehlermeldung aus der Instanz von ErrorMessages mithilfe der übergebenen Fehlermeldung (ErrorNumber) und übergibt die Meldung an die Klasse Exception von der die Klasse PlayerException abgeleitet ist.
Parameter:
ErrorNumber 	Fehlermeldung 	
Definiert in Zeile 31 der Datei PlayerException.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/Exceptions/PlayerException.java

i2bpro.playlist.PlayList Klassenreferenz
Klassendiagramm für i2bpro.playlist.PlayList:
IMAGE

Zusammengehörigkeiten von i2bpro.playlist.PlayList:
IMAGE

Öffentliche Methoden
int getRowCount ()
int getColumnCount ()
Object getValueAt (int rowIndex, int columnIndex)
String getColumnName (int columnIndex)
Class getColumnClass (int columnIndex)
boolean isCellEditable (int rowIndex, int columnIndex)
void setValueAt (Object aValue, int rowIndex, int columnIndex)
void setPlayList (String file)  throws PlayListException,              FileNotFoundException, IOException, CannotReadException,             TagException, ReadOnlyFileException, InvalidAudioFrameException     
HashMap< Integer, HashMap< String, String > > getPlayList ()
String getMeta (int id, String key)
String getType ()
String getFileName ()
void PlayListSave (String filename)  throws PlayListException, IOException     
void InsertMedia (File[] selectedFiles)  throws CannotReadException,              IOException, TagException, ReadOnlyFileException,             InvalidAudioFrameException     
void DeleteMedia (int del_id)
void getAlbumInfo ()  throws CannotReadException, IOException,              TagException, ReadOnlyFileException, InvalidAudioFrameException,             PlayListException, NoPlayerException, InterruptedException     
void setAlbumInfos (String album)  throws MalformedURLException,             IOException, CannotReadException, TagException,             ReadOnlyFileException, InvalidAudioFrameException,             CannotWriteException, PlayListException     
void controllerUpdate (ControllerEvent ce)
void changeSequence (int old_id, int new_id)
void changePlayList (HashMap< Integer, HashMap< String, String >> playlist)
Öffentliche, statische Methoden
static PlayList getInstance ()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: PlayList
Die Klasse PlayList stellt die Wiedergabeliste des Audioplayers dar und ist von AbstractTableModel abgeleitet. Somit kann die Klasse auch als TableModel für die Tabelle des CenterPanels dienen, welche die Wiedergabeliste anzeigt und dem Anwender zugänglich macht.
Version:
1.0.0 
Datum:
02.01.2010 
Autor:
Jürgen Döffinger
Warnung:
Vor dem Aufruf der Methoden dieser Klasse muss mit der Methode setPlayList eine Wiedergabeliste geladen werden. 
Definiert in Zeile 60 der Datei PlayList.java.

Dokumentation der Elementfunktionen
void i2bpro.playlist.PlayList.changePlayList (HashMap< Integer, HashMap< String, String >> playlist)
Mit der MEthode changePlayList ist es möglich eine Wiedergabeliste direkt auszutauschen.
Parameter:
playlist 	zu tauschende Wiedergabeliste 	
Definiert in Zeile 758 der Datei PlayList.java.
void i2bpro.playlist.PlayList.changeSequence (int old_id, int new_id)
Mit der Methode changeSequence können zwei Audiotitel innerhalb der Wiedergabeliste getauscht werden, also die Position.
Parameter:
old_id 	Identifikationsnummer des Audiotitels vor dem Wechseln 	
new_id 	Identifikationsnummer des Audiotitels nach dem Wechseln 	
Definiert in Zeile 739 der Datei PlayList.java.
void i2bpro.playlist.PlayList.controllerUpdate (ControllerEvent ce)
Die Methode controllerUpdate reagiert auf Events des Players. Wird dabei festgestellt das es sich um einen PrefetchedCompleteEvent handelt so wird notPrefetched auf true gesetzt.
Parameter:
ce 	ControllerEvent 	
Definiert in Zeile 723 der Datei PlayList.java.
void i2bpro.playlist.PlayList.DeleteMedia (int del_id)
Die Methode DeleteMedia entfernt einen Audiotitel aus der Wiedergabeliste.
Parameter:
id 	Identifikationsnummer des zu entfernenden Audiotitels 	
Definiert in Zeile 489 der Datei PlayList.java.
void i2bpro.playlist.PlayList.getAlbumInfo ()  throws CannotReadException, IOException,              TagException, ReadOnlyFileException, InvalidAudioFrameException,             PlayListException, NoPlayerException, InterruptedException     
Mit der Methode getAlbumInfo wird versucht aus der Datenbank von freedb.org Alben zur Wiedergabeliste zu finden. Dazu ist es notwendig das die Wiedergabeliste nur aus Titeln des Albums selber besteht und diese auch in der Reihenfolge, wie sie auf dem Album vorkommen in der Wiedergabeliste gespeichert sind.
Ausnahmebehandlung:
CannotReadException 		
IOException 		
TagException 		
ReadOnlyFileException 		
InvalidAudioFrameException 		
PlayListException 		
NoPlayerException 		
InterruptedException 		
Definiert in Zeile 529 der Datei PlayList.java.
Class i2bpro.playlist.PlayList.getColumnClass (int columnIndex)
Die Methode getColumnClass gibt den Klassenbezeichner der Klasse der mit columnIndex angegebenen Spalte zurück. Im Fall des Audioplayers wird immer String als Klasse zurückgegeben.
Parameter:
columnIndex 	Index der Spalte 	
Rückgabe:
Klassenbezeichner der Spalte 
Definiert in Zeile 214 der Datei PlayList.java.
int i2bpro.playlist.PlayList.getColumnCount ()
Die MEthode getColumnCount gibt die Anzahl Spalten zurück.
Rückgabe:
Anzahl Spalten 
Definiert in Zeile 148 der Datei PlayList.java.
String i2bpro.playlist.PlayList.getColumnName (int columnIndex)
Die Methode getColumnName gibt den Namen der mit columnIndex angegebenen Spalte zurück.
Parameter:
columnIndex 	Index der Spalte	
Rückgabe:
Name der Spalte 
Definiert in Zeile 185 der Datei PlayList.java.
String i2bpro.playlist.PlayList.getFileName ()
Die Methode getFileName gibt den Pfad zur Wiedergabeliste zurück.
Rückgabe:
Pfad zur Wiedergabeliste 
Definiert in Zeile 407 der Datei PlayList.java.
static PlayList i2bpro.playlist.PlayList.getInstance () [static]
Mit der MEthode getInstance wird die einzigste Instanz der Klasse PlayList zurückgegeben.
Rückgabe:
einzigste Instanz der Klasse PlayList 
Definiert in Zeile 126 der Datei PlayList.java.
String i2bpro.playlist.PlayList.getMeta (int id, String key)
Die Methode getMedia gibt Metadaten zurück. Mithilfe der Paramter id und key wird bestimmt, welches Metadatum zurückgegeben werden soll.
Parameter:
id 	Identifikationsnummer des Audiotracks. 	
key 	Schlüsselwort für das jeweilige Metadatum. Folgende Schlüsselwörter sind möglich:

media = Speicherort des Audiotracks
album = Albumtitel des Audiotracks
album-artist = Künstlername der das Album bestimmt
amazon-id = Identifikationsnummer für Amazon
artist = Name des Interpreten
bpm = Angabe der Geschwindigkeit des Audiotracks in Beat per Minutes
comment = Kommentare
genre_id = Identifikationsnummer des Genres nach ID3.org (http://id3.org/id3v2.4.0-frames)
genre = Bezeichnung des Genre
titel = Titel des Audiotracks	
Rückgabe:
Das Metadatum als String. Ist die Information nicht verfügbar, wird ein NullString zzurückgegeben. 
Definiert in Zeile 377 der Datei PlayList.java.
HashMap<Integer, HashMap<String, String> > i2bpro.playlist.PlayList.getPlayList ()
Die Methode getPlayList gibt die komplette Wiedergabeliste (playlist) zurück.
Rückgabe:
vollständige Wiedergabeliste 
Definiert in Zeile 345 der Datei PlayList.java.
int i2bpro.playlist.PlayList.getRowCount ()
Die Methode getRowCount gibt die Anzahl der Zeilen zurück.
Rückgabe:
Anzahl Zeilen (Anzahl der Audiotitel in der Wiedergabeliste) 
Definiert in Zeile 137 der Datei PlayList.java.
String i2bpro.playlist.PlayList.getType ()
Die Methode getType gibt den Typ der Wiedergabeliste zurück.
Rückgabe:
Typ der Wiedergabeliste

m3u_1 - einfache M3U-Wiedergabeliste
m3u_2 - erweiterte M3U-Wiedergabeliste cue - cuesheet 
Definiert in Zeile 397 der Datei PlayList.java.
Object i2bpro.playlist.PlayList.getValueAt (int rowIndex, int columnIndex)
Die MEthode getValueAt gibt das Object der Zelle in der Zeile rowIndex und Spalte columnIndex zurück. Dabei werden nur die Spalten mit Metadaten zum Audiotitel berücksichtigt.
Parameter:
rowIndex 	Index der Zeile 	
columnIndex 	Index der Spalte	
Rückgabe:
Object der Zelle die mit rowIndex und columnIndex angegeben wird. 
Definiert in Zeile 164 der Datei PlayList.java.
void i2bpro.playlist.PlayList.InsertMedia (File[] selectedFiles)  throws CannotReadException,              IOException, TagException, ReadOnlyFileException,             InvalidAudioFrameException     
Mit der Methode InsertMedia können Audiodateien der Wiedergabeliste hinzugefügt werden.
Parameter:
selectedFiles 	Liste der Audiodateien	
Ausnahmebehandlung:
CannotReadException 		
IOException 		
TagException 		
ReadOnlyFileException 		
InvalidAudioFrameException 		
Definiert in Zeile 457 der Datei PlayList.java.
boolean i2bpro.playlist.PlayList.isCellEditable (int rowIndex, int columnIndex)
Mit der Methode isCellEditable kann erfragt werden, ob die mit rowIndex und columnIndex angegebenen Zelle editierbar ist.
Parameter:
rowIndex 	Index der Zeile 	
columnIndex 	Index der Spalte 	
Rückgabe:
booleascher Ausdruck über die Editierbarkeit der mit rowIndex und columnIndex angegebenen Zelle 
Definiert in Zeile 233 der Datei PlayList.java.
void i2bpro.playlist.PlayList.PlayListSave (String filename)  throws PlayListException, IOException     
Mit der Methode PlayListSave wird die Wiedergabeliste gespeichert.
Parameter:
filename 	Pfad an der die Wiedergabeliste gespeichert werden soll.	
Ausnahmebehandlung:
PlayListException 		
IOException 		
Definiert in Zeile 421 der Datei PlayList.java.
void i2bpro.playlist.PlayList.setAlbumInfos (String album)  throws MalformedURLException,             IOException, CannotReadException, TagException,             ReadOnlyFileException, InvalidAudioFrameException,             CannotWriteException, PlayListException     
Mit der MEthode setAlbumInfos werden die Albuminformationen von der freedb.org geladen und entsprechend in der Wiedergabeliste gespeichert. Dies erfolgt nachdem mit der Methode getAlbumInfos mögliche Alben von freedb.org ermittelt wurden und der Anwender ein Album über den AlbumAuswahlDialog ausgewählt hat.
Um die Daten auszulesen, werden Sie von der Datenbank der freedb.org geladen und mit regulären Ausdrücken ausgelesen.
Parameter:
album 	Album welches zum auslesen der Informationen verwendet werden soll	
Ausnahmebehandlung:
MalformedURLException 		
IOException 		
CannotReadException 		
TagException 		
ReadOnlyFileException 		
InvalidAudioFrameException 		
CannotWriteException 		
PlayListException 		
Definiert in Zeile 637 der Datei PlayList.java.
void i2bpro.playlist.PlayList.setPlayList (String file)  throws PlayListException,              FileNotFoundException, IOException, CannotReadException,             TagException, ReadOnlyFileException, InvalidAudioFrameException     
Die Methode setPlayList initialisiert die mit dem Parameter file übergebene Wiedergabeliste. Dabei gibt file den Pfad zur Wiedergabeliste an. Die Methode muss feststellen, um welchen Type von Wiedergabeliste es sich handelt und mit der entsprechenden Instanz einer von basePlayList abgeleiteten Klasse die Daten auslesen.
Parameter:
file 	Pfadangabe zur Wiedergabeliste	
Noch zu erledigen:
Derzeit können keine cue-Wiedergablisten ausgelesen werden. Dafür ist noch eine entsprechende Klasse zu schreiben.
Definiert in Zeile 289 der Datei PlayList.java.
void i2bpro.playlist.PlayList.setValueAt (Object aValue, int rowIndex, int columnIndex)
Mit der Methode setValueAt kann der Inhalt einer mit rowIndex und columnIndex angegebenen Zelle geändert werden. Dabei wird auch der Eintrag in der Wiedergabeliste (playlist) geändert. Es können nur Zellen überschrieben werden, welche auch editierbar sind, also nur Zellen welche Metadaten des Audiotitels enthalten.
Parameter:
aValue 	Object mit dem die Zelle überschrieben werden soll 	
rowIndex 	Index der Zeile 	
columnIndex 	Index der Spalte 	
Definiert in Zeile 257 der Datei PlayList.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/playlist/PlayList.java

i2bpro.layer.Dialogs.PlayListAuswahlDlg Klassenreferenz
Klassendiagramm für i2bpro.layer.Dialogs.PlayListAuswahlDlg:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.Dialogs.PlayListAuswahlDlg:
IMAGE

Öffentliche Methoden
void run (String filename)
void actionPerformed (ActionEvent e)
Öffentliche, statische Methoden
static PlayListAuswahlDlg getInstance ()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: PlayListAuswahlDlg
Die Klasse PlayListAuswahlDlg ist von JDialog abgeleitet und wird dem Audioplayer als einzelne Instanz zur Verfügung gestellt. Sie ist nach dem Verfahren Singleton-Pattern programmiert.
Die Klasse ermöglicht die Auswahl über die Art der anzulegende Wiedergabeliste.
Version:
1.0.0 
Datum:
01.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 46 der Datei PlayListAuswahlDlg.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Dialogs.PlayListAuswahlDlg.actionPerformed (ActionEvent e)
Die Methode actionPerformed reagiert auf Events des ActionListeners. Je nachdem welcher Type von Wiedergabeliste ausgewählt wurde, bekommt die Pfadangabe den entsprechenden Erweiterungszusatz. Anschließend wird das Anlegen der Wiedergabeliste ausgelöst.
Parameter:
e 	ActionEvent 	
Definiert in Zeile 136 der Datei PlayListAuswahlDlg.java.
static PlayListAuswahlDlg i2bpro.layer.Dialogs.PlayListAuswahlDlg.getInstance () [static]
Die Methode getIntance gibt die einzigste Instanz der Klasse PlayListAuswahlDlg zurück.
Rückgabe:
Instanz der Klasse PlayListAuswahlDlg 
Definiert in Zeile 98 der Datei PlayListAuswahlDlg.java.
void i2bpro.layer.Dialogs.PlayListAuswahlDlg.run (String filename)
Mit der Methode run, wird der Dialog ausgeführt und sichtbar gemacht. Dabei legt die Methode die Größe und Position des Fensters fest. Die Größe und Ausrichtung wird mithilfe der Methode pack definiert. Die Position wird mittig zur Bildschirmauflösung festgelegt. Zum Schluss wird der Dialog sichtbar gemacht. Zuvor wurde der mit dem Paramter filename übergbende Pfad zur anzulegenden Wiedergabeliste dem Attribut filename übergeben. 
Definiert in Zeile 113 der Datei PlayListAuswahlDlg.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Dialogs/PlayListAuswahlDlg.java

i2bpro.playlist.PlayListCellRenderer Klassenreferenz
Klassendiagramm für i2bpro.playlist.PlayListCellRenderer:
IMAGE

Zusammengehörigkeiten von i2bpro.playlist.PlayListCellRenderer:
IMAGE

Öffentliche Methoden
Component getTableCellRendererComponent (JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: PlayListCellRenderer
Die Klasse PlayListCellRenderer implementiert das Interface TableCellRenderer und ist für das Rendern der einzelnen Zellen der Tabelle des Centerpanels zuständig.
Version:
1.0.0 
Datum:
02.01.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 31 der Datei PlayListCellRenderer.java.

Dokumentation der Elementfunktionen
Component i2bpro.playlist.PlayListCellRenderer.getTableCellRendererComponent (JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
Anhand der übergebenen Paramter entscheidet die Methode getTableCellRendererComponent, wie die Zelle der Tabelle auszusehen hat und gibt diese als Component-Object zurück. Im hier vorliegenden Fall wird als Komponente eine JLabel-Object zurückgegeben, welcher in siner Vorder- und Hintergrundfarbe eingestellt wurde, etnsprechend den übergebenen Parametern.
Parameter:
table 	Tabelle die gerendert werden soll 	
value 	Object das gerendert wird 	
isSelected 	zeigt an ob die zu rendernde Zelle selektriert ist 	
hasFocus 	zeigt an ob die zu rendernde Zelle den Focus hat 	
row 	Zeile der Zelle 	
column 	Spalte der Zelle	
Rückgabe:
gerenderte Zellenkomponente
Noch zu erledigen:
Die MEthode ist noch zu überarbeiten, da bei Beendigung des Abspielens eines Audiotitels dessen Zellen als aktuell abgespielter Audiotitel markiert bleiben.
Fehler:
Nach Beendigung des Abspielens eines Audiotitels bleiben die Zellen als aktuell abgespielter Audiotitel gekennzeichnet.
Definiert in Zeile 59 der Datei PlayListCellRenderer.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/playlist/PlayListCellRenderer.java

i2bpro.Exceptions.PlayListException Klassenreferenz
Öffentliche Methoden
PlayListException (int ErrorNumber)

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: PlayListException
Die Klasse PlayListException dient der Erzeugung von Exceptions im Zusammenhang mit der PlayList.
Version:
1.0.0 
Datum:
31.12.2010 
Autor:
Jürgen Döffinger 
Definiert in Zeile 19 der Datei PlayListException.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.Exceptions.PlayListException.PlayListException (int ErrorNumber)
Der Konstruktor der Klasse PlayListException holt die Fehlermeldung aus der Instanz von ErrorMessages mithilfe der übergebenen Fehlermeldung (ErrorNumber) und übergibt die Meldung an die Klasse Exception von der die Klasse PlayListException abgeleitet ist.
Parameter:
ErrorNumber 	Fehlermeldung 	
Definiert in Zeile 31 der Datei PlayListException.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/Exceptions/PlayListException.java

i2bpro.layer.Dialogs.PlayListNewDlg Klassenreferenz
Klassendiagramm für i2bpro.layer.Dialogs.PlayListNewDlg:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.Dialogs.PlayListNewDlg:
IMAGE

Öffentliche Methoden
void run ()
void actionPerformed (ActionEvent e)
Öffentliche, statische Methoden
static PlayListNewDlg getInstance ()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: PlayListNewDlg
Die Klasse PlayListNewDlg ist von JDialog abgeleitet und wird dem Audioplayer als einzelne Instanz zur Verfügung gestellt. Sie ist nach dem Verfahren Singleton-Pattern programmiert.
Die Klasse ermöglicht es eine Wiedergabeliste anzulegen.
Version:
1.0.0 
Datum:
01.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 41 der Datei PlayListNewDlg.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Dialogs.PlayListNewDlg.actionPerformed (ActionEvent e)
Die Methode actionPerformed reagiert auf Events des ActionListeners. Wird dabei festgestellt, dass es sich um das Auslösen des Speichern-Buttons handelt, so wird überprüft ob die Erweiterung der Datei einer Wiedergabeliste entspricht. Ist es eine Wiedergabeliste, so wird das anlegen dieser ausgelöst. Konnte keine Erweiterung ermittelt werden, so wird der Auswahldialog zum auswählen des Wiedergabelistentypes gestartet.
Parameter:
e 	ActionEvent 	
Definiert in Zeile 209 der Datei PlayListNewDlg.java.
static PlayListNewDlg i2bpro.layer.Dialogs.PlayListNewDlg.getInstance () [static]
Die Methode getIntance gibt die einzigste Instanz der Klasse PlayListNewDlg zurück.
Rückgabe:
Instanz der Klasse PlayListNewDlg 
Definiert in Zeile 88 der Datei PlayListNewDlg.java.
void i2bpro.layer.Dialogs.PlayListNewDlg.run ()
Mit der Methode run, wird der Dialog ausgeführt und sichtbar gemacht. Dabei legt die Methode die Größe und Position des Fensters fest. Die Größe und Ausrichtung wird mithilfe der Methode pack definiert. Die Position wird mittig zur Bildschirmauflösung festgelegt. Zum Schluss wird der Dialog sichtbar gemacht. 
Definiert in Zeile 101 der Datei PlayListNewDlg.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Dialogs/PlayListNewDlg.java

i2bpro.layer.Dialogs.PlayListOpenDlg Klassenreferenz
Klassendiagramm für i2bpro.layer.Dialogs.PlayListOpenDlg:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.Dialogs.PlayListOpenDlg:
IMAGE

Öffentliche Methoden
void run ()
void actionPerformed (ActionEvent e)
Öffentliche, statische Methoden
static PlayListOpenDlg getInstance ()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: PlayListOpenDlg
Die Klasse PlayListOpenDlg ist von JDialog abgeleitet und wird dem Audioplayer als einzelne Instanz zur Verfügung gestellt. Sie ist nach dem Verfahren Singleton-Pattern programmiert.
Die Klasse ermöglicht es Wiedergabelisten auszuwählen und das laden dieser zu starten.
Version:
1.0.0 
Datum:
01.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 41 der Datei PlayListOpenDlg.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Dialogs.PlayListOpenDlg.actionPerformed (ActionEvent e)
Die Methode actionPerformed reagiert auf Events des ActionListeners. Wird dabei festgestellt, dass es sich um das Auslösen des Öffnen-Buttons handelt, so wird die ausgewählte Datei der PlayList übergeben und das Laden dieser ausgelöst. Nach Abschluss wird der grafischen Oberfläche (Layer) das Ändern der Wiedergabeliste mittels der Methode PlayListChange mitgeteilt.
Parameter:
e 	ActionEvent 	
Definiert in Zeile 206 der Datei PlayListOpenDlg.java.
static PlayListOpenDlg i2bpro.layer.Dialogs.PlayListOpenDlg.getInstance () [static]
Die Methode getIntance gibt die einzigste Instanz der Klasse PlayListOpenDlg zurück.
Rückgabe:
Instanz der Klasse PlayListOpenDlg 
Definiert in Zeile 87 der Datei PlayListOpenDlg.java.
void i2bpro.layer.Dialogs.PlayListOpenDlg.run ()
Mit der Methode run, wird der Dialog ausgeführt und sichtbar gemacht. Dabei legt die Methode die Größe und Position des Fensters fest. Die Größe und Ausrichtung wird mithilfe der Methode pack definiert. Die Position wird mittig zur Bildschirmauflösung festgelegt. Zum Schluss wird der Dialog sichtbar gemacht. 
Definiert in Zeile 100 der Datei PlayListOpenDlg.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Dialogs/PlayListOpenDlg.java

i2bpro.layer.Menus.PlayListPopupMenu Klassenreferenz
Klassendiagramm für i2bpro.layer.Menus.PlayListPopupMenu:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.Menus.PlayListPopupMenu:
IMAGE

Öffentliche Methoden
PlayListPopupMenu (int click_id)
void actionPerformed (ActionEvent e)

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: PlayListPopupMenu
Die Klasse PlayListPopupMenu erstellt ein Popupmenü für die Wiedergabeliste. Von dieser wird das Menü auch aufgerufen.
Version:
1.0.0 
Datum:
01.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 34 der Datei PlayListPopupMenu.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.layer.Menus.PlayListPopupMenu.PlayListPopupMenu (int click_id)
Dem Konstruktor ist die Identifikationsnummer des Audiotitels zu übergeben, welcher angeklickt wurde. Dies wird dann im Attribut new_id gespeichert und es wird die Methode init aufgerufen, um das PopUpmenü zu initialisieren.
Parameter:
click_id 	Identifikationnummer des angeklickten Audiotitels 	
Definiert in Zeile 50 der Datei PlayListPopupMenu.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Menus.PlayListPopupMenu.actionPerformed (ActionEvent e)
Mit der Methode actionPerformed wird auf Events reagiert. Wird dabei festgestellt, dass der Menüpunkt Play aufgerufen wurde, wird versucht der angeklickte Audiotitel abzuspielen. Sollte jedoch der Menüpunkt Löschen angewählt werden, so wird versucht den angeklickten Audiotitel zu löschen.
Parameter:
e 	ActionEvent 	
Definiert in Zeile 91 der Datei PlayListPopupMenu.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Menus/PlayListPopupMenu.java

i2bpro.layer.Panels.PositionPanel Klassenreferenz
Klassendiagramm für i2bpro.layer.Panels.PositionPanel:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.Panels.PositionPanel:
IMAGE

Öffentliche Methoden
PositionPanel ()
void PlayerStarted ()
void PlayerStopped ()
void setPositionLabel (String text)
void setPositionValue (int val)

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: PositionPanel
Die Klasse PositionPanel ist ein von JPanel abgeleitete Klasse und stellt ein Unterpanel des Southpanels dar. Das Positionspanel zeigt drei JLabel- und ein JSlider Object. Diese dienen der Anzeige der Gesamtabspiel- und der aktuellen Abspielposition.
Version:
1.0.0 
Datum:
01.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 36 der Datei PositionPanel.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.layer.Panels.PositionPanel.PositionPanel ()
Der Konstruktor setzt das Layout des Positionpanels auf ein BorderLayout. Des Weiteren werden weitere Methoden zur Initialisierung aufgerufen. 
Definiert in Zeile 52 der Datei PositionPanel.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Panels.PositionPanel.PlayerStarted ()
Mit der MEthode PlayerStarted kann dem PositionPanel mitgeteilt werden, dass das Abspielen eines Audiotitels gestartet wurde. Ist dies der Fall, so werden die JLabel Objekte entsprechend der anzuzeigenden Zeiten gesetzt und das JSlider Objekt verfügbar gemacht.Des Weiteren werden die Einstellgrenzen festgelegt. Dabei beginnt es immer mit 0 und endet mit der Anzahl an Sekunden, welche der Audiotitel lang ist. 
Definiert in Zeile 108 der Datei PositionPanel.java.
void i2bpro.layer.Panels.PositionPanel.PlayerStopped ()
Die Methode PlayerStopped wird ausgelöst, wenn das Abspielen eines Audiotitels gestoppt wurde. Dazu wird geprüft, der Player tatsächlich gestoppt hat oder nur in Pause gegangen ist. Entsprechend werden die JLabel und das JSlider Objekt eingestellt. 
Definiert in Zeile 131 der Datei PositionPanel.java.
void i2bpro.layer.Panels.PositionPanel.setPositionLabel (String text)
Mit der Methode setPositionLabe kann von Außen der Anzeigetext des positionLabels geändert werden. Dieses Label zeigt normalerweise die aktuelle Abspielposition an.
Parameter:
text 	Text der im positionLabel angezeigt werden soll. 	
Definiert in Zeile 245 der Datei PositionPanel.java.
void i2bpro.layer.Panels.PositionPanel.setPositionValue (int val)
Mit der MEthode setPositionValue kann die aktuelle Abspielposition geändert werden. Dazu muss das aufrufende Objekt die neue Abspielposition der Methode mitteilen. Dazu dient der Parameter val. Dieser muss einen Wert beinhalten der in Sekunden übergeben wird. Dieser wird dann dem JSlider weitergegeben.
Parameter:
val 	neue Abspielposition in Sekunden 	
Definiert in Zeile 259 der Datei PositionPanel.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Panels/PositionPanel.java

i2bpro.player.PositionUpdate Klassenreferenz
Öffentliche Methoden
void run ()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: PositionUpdate
Die Klasse PositionUpdate ist von Thread abgeleitet und löst das aktuallisieren der Anzeigen zur Abspielposition aus. Dies wird solange durchgeführt, bis der Player nicht mehr im Status Play sich befindet.
Version:
1.0.0 
Datum:
02.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 22 der Datei PositionUpdate.java.

Dokumentation der Elementfunktionen
void i2bpro.player.PositionUpdate.run ()
Die Methode run startet den Thread und fragt jede Sekunde den Status des Players ab. Ist dieser noch im Status Play so wird mit dem Aufruf der Methode PositionUpdate der Klasse Layer das Aktuallisieren der Abspielpositionsanzeigen aus. 
Definiert in Zeile 33 der Datei PositionUpdate.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/player/PositionUpdate.java

i2bpro.layer.Panels.SouthPanel Klassenreferenz
Klassendiagramm für i2bpro.layer.Panels.SouthPanel:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.Panels.SouthPanel:
IMAGE

Öffentliche Methoden
SouthPanel ()
void setPositionLabel (String text)
void setPositionValue (int val)
void PlayerStopped ()
void PlayerPaused ()
void PlayerStarted ()
void toggledMute ()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: SouthPanel
Die Klasse SouthPanel ist von JPanel abgeleitet. Das Panel integriert in sich, das Position- und ButtonPanel.
Version:
1.0.0 
Datum:
02.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 24 der Datei SouthPanel.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.layer.Panels.SouthPanel.SouthPanel ()
Der Konstruktor legt das Layout des SouthPanels fest und fügt die diesem die beiden Unterpanels ButtonPanel und PositionPanel hinzu. 
Definiert in Zeile 39 der Datei SouthPanel.java.

Dokumentation der Elementfunktionen
void i2bpro.layer.Panels.SouthPanel.PlayerPaused ()
Mit der Methode PlayerPaused kann über das Southpanel den Unterpanels des SouthPanels das pausieren mitgeteilt werden. 
Definiert in Zeile 101 der Datei SouthPanel.java.
void i2bpro.layer.Panels.SouthPanel.PlayerStarted ()
Über die Methode PlayerStarted wird dem Southpanel mitgeteilt, dass das Abspielen eines Audiotitels gestartet wurde. Die Methode gibt durch Aufruf der Methode PlayerStartet der einzelnen Panels die Information an diese weiter. 
Definiert in Zeile 115 der Datei SouthPanel.java.
void i2bpro.layer.Panels.SouthPanel.PlayerStopped ()
Mit der MEthode PlayerStopped kann dem EastPanel mitgeteilt werden, dass das Abspielen eines Audiotitels gestoppt wurde. Diese Information wird durch Aufruf der Methode PlayerStopped der einzelnen Panels an diese weitergegeben. 
Definiert in Zeile 88 der Datei SouthPanel.java.
void i2bpro.layer.Panels.SouthPanel.setPositionLabel (String text)
Die Methode setPositionLabel kann aufgerufen werden, um über das SouthPanel den Text des positionLabels der Klasse PositionPanels zu setzen.
Parameter:
text 	Text der im positionLabel des PositionPanels angezeigt werden soll. 	
Definiert in Zeile 58 der Datei SouthPanel.java.
void i2bpro.layer.Panels.SouthPanel.setPositionValue (int val)
Mit der Methode setPositionValue kann über das SouthPanel dem positionPanel mitgeteilt werden, dass es die Abspielposition ändern soll.
Parameter:
val 	eeinzustellende Abspielposition in Sekunden 	
Definiert in Zeile 73 der Datei SouthPanel.java.
void i2bpro.layer.Panels.SouthPanel.toggledMute ()
Mit der Methode toggleMute kann Mute ein- oder ausgeschaltet werden. Dazu gibt es den Wunsch der Änderung des Wechsels an das ButtonPanel weiter. 
Definiert in Zeile 129 der Datei SouthPanel.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Panels/SouthPanel.java

i2bpro.player.TimeInterface Klassenreferenz
Öffentliche Methoden
int getSeconds ()
String getString ()

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Interface: TimeInterface
Version:
1.0.0 
Datum:
02.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 16 der Datei TimeInterface.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/player/TimeInterface.java

i2bpro.layer.Dialogs.Utils Klassenreferenz
Öffentliche, statische Methoden
static String getExtension (File file)
Statische öffentliche Attribute
static final String wav = "wav"
static final String mp3 = "mp3"
static final String m3u = "m3u"
static final String cue = "cue"

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: Utils
Die Klasse Utils stellt, für die Dialoge zum speichern und öffnen von Wiedergabelisten, sowie zum Hinzufügen von Audiotiteln zur Wiedergabeliste, eine Methode zum Auslesen von Dateierweiterungen. Mit den statischen Attributen, können diese dann verglichen werden. Beim Anlegen weiterer Erweiterungen ist auf die Kleinschreibung zu achten, denn sonst könnte ein Vergleich fehlschlagen.
Version:
1.0.0 
Datum:
01.01.2011 
Autor:
Jürgen Döffinger 
Definiert in Zeile 25 der Datei Utils.java.

Dokumentation der Elementfunktionen
static String i2bpro.layer.Dialogs.Utils.getExtension (File file) [static]
Die Methode getExtension erwartet als Parameter eine Datei vom Type File, um aus dieser die Erweiterung heruaszufiltern und als String zurückzugeben. Sollte keine Erweiterung gefunden werden (z.B. bei einem Verzeichnis), so wird ein NULL-Pointer zurückgegeben.
Parameter:
file 	Datei aus der die Erweiterung herausgelesen werden soll. 	
Rückgabe:
Erweiterung der im Paramter file übergebenen Datei als String-Wert. 
Definiert in Zeile 46 der Datei Utils.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/Dialogs/Utils.java

i2bpro.playlist.WavTag Klassenreferenz
Klassendiagramm für i2bpro.playlist.WavTag:
IMAGE

Zusammengehörigkeiten von i2bpro.playlist.WavTag:
IMAGE

Paketfunktionen
WavTag (String filename)  throws FileNotFoundException, IOException     

Ausführliche Beschreibung
Projektarbeit Informatik IIb - Audioplayer 
Klasse: WavTag
Die klasse WavTag ist von baseMetaDaten abgeleitet und dient zum auslesen von Metadaten aus wav-Dateien bzw. deren Speicherung in wav-Dateien.
Version:
1.0.0 
Datum:
02.01.2010 
Autor:
Jürgen Döffinger
Noch zu erledigen:
Es muss noch eine Methode eingearbeitet werden, welche Metadaten in eine wav-Datei schreibt, so dass geänderte Daten in der Wiedergabeliste dauerhaft gespeichert werden können.
Definiert in Zeile 32 der Datei WavTag.java.

Beschreibung der Konstruktoren und Destruktoren
i2bpro.playlist.WavTag.WavTag (String filename)  throws FileNotFoundException, IOException      [package]
Dem Konstruktor ist die Pfadangabe zur entsprechenden wav-Datei zu übergeben. Die Methode versucht nun die eventuell in der wav-Datei gespeicherten Metadaten auszulesen.
Parameter:
filename 	Pfad zur wav-Datei	
Ausnahmebehandlung:
FileNotFoundException 		
IOException 		
Definiert in Zeile 46 der Datei WavTag.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/playlist/WavTag.java

i2bpro.layer.WindowClosingAdapter Klassenreferenz
Klassendiagramm für i2bpro.layer.WindowClosingAdapter:
IMAGE

Zusammengehörigkeiten von i2bpro.layer.WindowClosingAdapter:
IMAGE

Öffentliche Methoden
WindowClosingAdapter (boolean exitSystem)
void windowClosing (WindowEvent event)

Ausführliche Beschreibung
Diese Klasse dient nur zu Testzwecken
Autor:
Jürgen Döffinger 
Definiert in Zeile 24 der Datei WindowClosingAdapter.java.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
C:/Projekte/I2BPro/src/i2bpro/layer/WindowClosingAdapter.java

Index
INDEX