True Bass Player
Verbesserungen

Nach den zahlreichen und guten Tipps im Forum habe ich schon einige Eingebaut
-Der Playlistmakre such nun rekursiv bei "Add Folder"
-Der Player öffnet per Drag&Drop (tat er auch schon davor, jedoch gab es ein durcheinander mit den Streams)
Auch die verschienden Exen werden in eine gepackt!
Nun werde ich mir noch ein paar gedanken über das Design machen
-Der Playlistmakre such nun rekursiv bei "Add Folder"
-Der Player öffnet per Drag&Drop (tat er auch schon davor, jedoch gab es ein durcheinander mit den Streams)
Auch die verschienden Exen werden in eine gepackt!
Nun werde ich mir noch ein paar gedanken über das Design machen

Ja TBP lebt noch ;)

Hi
Entschuldigt mich, ich hatte viel um die Ohren und schlichtweg keine Zeit für TrueBassPlayer
Doch ich hab mich endlich wieder mal rangesetzt und daraus enstanden ist Version 1.0.2 !
Neues:
-Player reagiert auf Drag&Drop (also mp3 file reinziehen und es wird abgespielt)
-Das selbe für m3u Playlists
-Bug in info.exe gefixt
-Debug Konsole erweitert
-Wrong thread error gefixt (api_ExitProcess (uExitCode%) anstatt end)
Nun kann ich auch endlich ohne Debugger kompilieren
-Preformance schub beim Starten dank verbesserter Einleseroutine und kein Debugger!
Hier der Download link (zip, 1.7 mb)
TBP V.1.0.2
eigentlich ist für mich TBP fertig (was die aktive Entwicklung angeht.. aber bugs werden natürlich gefixt und wünsche integritiert
)
Vieleicht werde ich noch TBP mit einer Glass Window Version builden, werd mal sehen
MFG Ozzi
Entschuldigt mich, ich hatte viel um die Ohren und schlichtweg keine Zeit für TrueBassPlayer
Doch ich hab mich endlich wieder mal rangesetzt und daraus enstanden ist Version 1.0.2 !
Neues:
-Player reagiert auf Drag&Drop (also mp3 file reinziehen und es wird abgespielt)
-Das selbe für m3u Playlists
-Bug in info.exe gefixt
-Debug Konsole erweitert
-Wrong thread error gefixt (api_ExitProcess (uExitCode%) anstatt end)
Nun kann ich auch endlich ohne Debugger kompilieren

-Preformance schub beim Starten dank verbesserter Einleseroutine und kein Debugger!
Hier der Download link (zip, 1.7 mb)
TBP V.1.0.2
eigentlich ist für mich TBP fertig (was die aktive Entwicklung angeht.. aber bugs werden natürlich gefixt und wünsche integritiert

Vieleicht werde ich noch TBP mit einer Glass Window Version builden, werd mal sehen
MFG Ozzi
G15 und neuer Download

Nach den Mediakeys, haben wir nun auch ne G15 Anzeige
(Sry für die miese quali)
kein definitives Layout/Design, ist schon etwas spät O_o
Edit:
Sry gab noch einen kleinen Bug, bei Leuten die keine G15 haben, Absturtz der EXE
Darum hab ich noch eine kleine Abfrage eingebaut, welche nur die G15 befehle ausführt falls wirklich eine angeschlossen ist
Ist eigentlich selbstklärend
TrueBassPlayer V.1.0.1(G15)
Noch ein paar interessante Daten:
TBP 1.0.1 VS WMP 11.0.5721.5260
Im Leerlauf mit geladener Library (5700 Tracks)
WMP - 1-7 % CPU - 37 k Speicher (komisch was der im Leerlauf macht!)
TrueBassPlayer - 0 % CPU - 11k Speicher
3.73 MB grosses MP3 File spielend
WMP - 0-5 % CPU - 44 k Speicher
TBP - 0-1 & CPU - 12 K Speicher
Getestet wurde auf einem Q6600 mit 4 GB ram und WinXp SP3
Achja die Version der EXE ist einfach mit Debugger kompiliert, weil sonst bei 64 bit Betriebsystemen ein "Wrong Thread" Error auftaucht (siehe blitzbasic.com, bug report, aber Mark spielt den Assi und antwortet nicht, drum die Notlösung -.-)
mfg
(Sry für die miese quali)
kein definitives Layout/Design, ist schon etwas spät O_o
Edit:
Sry gab noch einen kleinen Bug, bei Leuten die keine G15 haben, Absturtz der EXE
Darum hab ich noch eine kleine Abfrage eingebaut, welche nur die G15 befehle ausführt falls wirklich eine angeschlossen ist

Ist eigentlich selbstklärend

TrueBassPlayer V.1.0.1(G15)
Noch ein paar interessante Daten:
TBP 1.0.1 VS WMP 11.0.5721.5260
Im Leerlauf mit geladener Library (5700 Tracks)
WMP - 1-7 % CPU - 37 k Speicher (komisch was der im Leerlauf macht!)
TrueBassPlayer - 0 % CPU - 11k Speicher
3.73 MB grosses MP3 File spielend
WMP - 0-5 % CPU - 44 k Speicher
TBP - 0-1 & CPU - 12 K Speicher
Getestet wurde auf einem Q6600 mit 4 GB ram und WinXp SP3
Achja die Version der EXE ist einfach mit Debugger kompiliert, weil sonst bei 64 bit Betriebsystemen ein "Wrong Thread" Error auftaucht (siehe blitzbasic.com, bug report, aber Mark spielt den Assi und antwortet nicht, drum die Notlösung -.-)
mfg
Endlich

So ich werd euch mal das neue Playlists konzept vorstellen.
Wenn man eine m3u playlist öffnet, wird sie eingelesen (in ein dim)
ein neuer tabber wird erstellt (welcher so heisst wie die der Dateiname)
nun wird ein button enabled, namens X, mit diesem kann man die playlist wieder schliessen.
falls man eine neue playlist öffnet, wird der dateiname angepasst und der neue inhalt eingelesen (man beachte, die alten tracks sind immer noch drinn, so kann man mehrere zusammen mischen!)
nun zur funktion selber, der Pfad zur datei ist wie gesagt in einem Dim, mittels instr und mid, wird aber nur Bluber.mp3 in die Listbox hinzugefügt, mit selectedgadgetitem, wird der "Index" des angeclickten Tracks ausgelesen, und dieser wird dem Dim übergeben
Code: [AUSKLAPPEN]
index=SelectedGadgetItem listbox_playlist
filename$=playlist_inhalt$(index)
Das ganze funktioniert ziemlich flott und ich denke ich kann es so lassen
Nun werde ich vieleicht noch eine Albumcover funktion einbauen, aber erstmal bin ich froh das dass ganze noch funktioniert.
Ich werde bald einen Thread erstellen, und mal alles vorstellen.
Dann wäre ich froh wenn ein paar Leute alles testen würden, und Wünsche oder weitere Vorschläge zu Features melden würden
Achja bevor ich es vergesse
Schon seit längerer Zeit habe ich noch eine kleine Funktion erstellt, die sich bei schliessen von TBP die Position des Fensters merkt und diese in der (selbsterstellten) Datei Config.ini speichert.
Beim nächsten Start wird diese ausgelesen und das Fenster positioniert sich dort wo es zu gemacht wurde.
Edit:
achja hier ein screen, neu mit zeit anzeige (wo man ist, wie lange der track ist)
Das mit der Zeit funktioniert so
Code: [AUSKLAPPEN]
CLen#=BASS_ChannelGetLength(music)
CPos#=BASS_ChannelGetPosition(music)
sekunde=BASS_ChannelBytes2Seconds(music,CPos#)
tottime=BASS_ChannelBytes2Seconds(music,CLen#)
Function FormatTime$(fseconds%)
Local time$
Local hours%,minutes%,seconds%
Local hours_string$, minutes_string$, seconds_string$
If fseconds%>=3600 Then
hours%=Floor(fseconds%/3600)
fseconds%=fseconds%-(hours%*3600)
EndIf
minutes%=Floor(fseconds%/60)
fseconds%=fseconds%-(minutes%*60)
seconds%=fseconds%
seconds_string$=Str(seconds%)
If Len(seconds_string$)=1 Then
seconds_string$="0"+seconds_string$
EndIf
minutes_string$=Str(minutes%)
If Len(minutes_string$)=1 Then
minutes_string$="0"+minutes_string$
EndIf
hours_string$=Str(hours%)
If Len(hours_string$)=1 Then
hours_string$="0"+hours_string$
EndIf
time$=minutes_string$+":"+seconds_string$
If hours%>0 Then
time$=hours_string$+":"+time$
EndIf
Return time$
End Function
mfg ozzi
Wenn man eine m3u playlist öffnet, wird sie eingelesen (in ein dim)
ein neuer tabber wird erstellt (welcher so heisst wie die der Dateiname)
nun wird ein button enabled, namens X, mit diesem kann man die playlist wieder schliessen.
falls man eine neue playlist öffnet, wird der dateiname angepasst und der neue inhalt eingelesen (man beachte, die alten tracks sind immer noch drinn, so kann man mehrere zusammen mischen!)
nun zur funktion selber, der Pfad zur datei ist wie gesagt in einem Dim, mittels instr und mid, wird aber nur Bluber.mp3 in die Listbox hinzugefügt, mit selectedgadgetitem, wird der "Index" des angeclickten Tracks ausgelesen, und dieser wird dem Dim übergeben
Code: [AUSKLAPPEN]
index=SelectedGadgetItem listbox_playlist
filename$=playlist_inhalt$(index)
Das ganze funktioniert ziemlich flott und ich denke ich kann es so lassen

Nun werde ich vieleicht noch eine Albumcover funktion einbauen, aber erstmal bin ich froh das dass ganze noch funktioniert.
Ich werde bald einen Thread erstellen, und mal alles vorstellen.
Dann wäre ich froh wenn ein paar Leute alles testen würden, und Wünsche oder weitere Vorschläge zu Features melden würden
Achja bevor ich es vergesse

Schon seit längerer Zeit habe ich noch eine kleine Funktion erstellt, die sich bei schliessen von TBP die Position des Fensters merkt und diese in der (selbsterstellten) Datei Config.ini speichert.
Beim nächsten Start wird diese ausgelesen und das Fenster positioniert sich dort wo es zu gemacht wurde.
Edit:
achja hier ein screen, neu mit zeit anzeige (wo man ist, wie lange der track ist)
Das mit der Zeit funktioniert so
Code: [AUSKLAPPEN]
CLen#=BASS_ChannelGetLength(music)
CPos#=BASS_ChannelGetPosition(music)
sekunde=BASS_ChannelBytes2Seconds(music,CPos#)
tottime=BASS_ChannelBytes2Seconds(music,CLen#)
Function FormatTime$(fseconds%)
Local time$
Local hours%,minutes%,seconds%
Local hours_string$, minutes_string$, seconds_string$
If fseconds%>=3600 Then
hours%=Floor(fseconds%/3600)
fseconds%=fseconds%-(hours%*3600)
EndIf
minutes%=Floor(fseconds%/60)
fseconds%=fseconds%-(minutes%*60)
seconds%=fseconds%
seconds_string$=Str(seconds%)
If Len(seconds_string$)=1 Then
seconds_string$="0"+seconds_string$
EndIf
minutes_string$=Str(minutes%)
If Len(minutes_string$)=1 Then
minutes_string$="0"+minutes_string$
EndIf
hours_string$=Str(hours%)
If Len(hours_string$)=1 Then
hours_string$="0"+hours_string$
EndIf
time$=minutes_string$+":"+seconds_string$
If hours%>0 Then
time$=hours_string$+":"+time$
EndIf
Return time$
End Function
mfg ozzi
Blöder Fehler

Nachdem ich ein paar Optimierungen und Aufräumarbeiten vorgenommen hatte, merkte ich erst was ich für eine Scheisse gebaut habe..
Nach etwa 1h bug suchen / reparieren hatte ich gemerkt das dank Dropbox, jede Version der bb datei gespeichert war.
Jetzt ist wieder alles im Lot, und ich kann mich endlich voll und ganz den blöden Playlists widmen
Nach etwa 1h bug suchen / reparieren hatte ich gemerkt das dank Dropbox, jede Version der bb datei gespeichert war.
Jetzt ist wieder alles im Lot, und ich kann mich endlich voll und ganz den blöden Playlists widmen

G15 media tasten, endlich :)

Dank user32.dll habe ich mit diesem kleinen Code die Scancodes der G15 rausgefunden (sind nicht die gleichen wie andere die Keys anderes Tastaturen!)
Code: [AUSKLAPPEN]
Hier die Decls
Code: [AUSKLAPPEN]
So hab die mal hier notiert
Code: [AUSKLAPPEN]
Jetzt werde ich noch die normalen Keys von anderen Tastaturen einfügen und dann wird TBP Hotkey fähig sein, auch wenn er im Hintergrund ist
Ach die stehen in der Hilfe
Code: [AUSKLAPPEN]
Werde die aber noch testen müssen..
mfg ozzi
Code: [AUSKLAPPEN]
For i = 1 To 255
If GetAsyncKeyState(i) <> 0 Text 0,0,"hit @"+i
Next
If GetAsyncKeyState(i) <> 0 Text 0,0,"hit @"+i
Next
Hier die Decls
Code: [AUSKLAPPEN]
.lib "user32.dll"
GetAsyncKeyState%(vkey%):"GetAsyncKeyState"
GetAsyncKeyState%(vkey%):"GetAsyncKeyState"
So hab die mal hier notiert
Code: [AUSKLAPPEN]
TRACK FORWARD 176
TRACK BACK 177
STOP 178
VOL UP 175
VOL DOWN 174
PLAY PAUSE 197
TRACK BACK 177
STOP 178
VOL UP 175
VOL DOWN 174
PLAY PAUSE 197
Jetzt werde ich noch die normalen Keys von anderen Tastaturen einfügen und dann wird TBP Hotkey fähig sein, auch wenn er im Hintergrund ist

Ach die stehen in der Hilfe
Code: [AUSKLAPPEN]
162 Play/Pause
164 Stop
153 Next Track
160 Mute
174 Volume -
176 Volume +
164 Stop
153 Next Track
160 Mute
174 Volume -
176 Volume +
Werde die aber noch testen müssen..
mfg ozzi
Optimierungen, blöde Playlists und leuchtende Knöp

Nach 1 woche ferien melde ich mich zurück
Die ID3 funktion wurde noch etwas optimiert und nun läuft alles sehr flott, auch die neue visualisierung wurde eingebaut!
Nun werde ich endlich die blöden playlists in types verwalten und die tabber endlich richtig einrichten ... wird ziemlich knifflig aber es wird schon
btw 35 kb code ^^
achja die mouseover funktion, welche die buttons zum leuchten bringt ist auch bald fertig
die bider wurden einfach erhellt und werden unter gfx\light\ abgelegt.
Hoffe ich kann TBP bald abschliessen, weil ich langsam "ermüde"
Da kommt mir nur das in den Sinn
Die ID3 funktion wurde noch etwas optimiert und nun läuft alles sehr flott, auch die neue visualisierung wurde eingebaut!
Nun werde ich endlich die blöden playlists in types verwalten und die tabber endlich richtig einrichten ... wird ziemlich knifflig aber es wird schon

btw 35 kb code ^^
achja die mouseover funktion, welche die buttons zum leuchten bringt ist auch bald fertig

die bider wurden einfach erhellt und werden unter gfx\light\ abgelegt.
Hoffe ich kann TBP bald abschliessen, weil ich langsam "ermüde"

Da kommt mir nur das in den Sinn

Neuer Download! und kleine Probleme mit der Such funktion

Hier endlich mal ein neuer Download V.1.0!
Auch ein Readme wurde nun gemacht und die PNG's wurden in einem eigenen Ordner
Weil jedoch die neue Library such funktion, auch die ID3 tags ausliest, kann es sein dass das TBP fenster kurz einfriert
Werde dies so schnell wie möglich beseitigen!
Denkt dran, zuerst entpacken, dann die Library zu builden!
Dank Diedel hab e ich nun auch jetzt noch eine neue Visualisierung, werde sie bald einbauen
mfg
Auch ein Readme wurde nun gemacht und die PNG's wurden in einem eigenen Ordner

Weil jedoch die neue Library such funktion, auch die ID3 tags ausliest, kann es sein dass das TBP fenster kurz einfriert
Werde dies so schnell wie möglich beseitigen!
Denkt dran, zuerst entpacken, dann die Library zu builden!
Dank Diedel hab e ich nun auch jetzt noch eine neue Visualisierung, werde sie bald einbauen

mfg
Von einer wieder funktionierenden Suchfunktion und Tooltips

Hi
Dank EPS's toller DLL hat TBP nun auch Tooltips
Sie erklären einige Sachen und zeigen auch bei Mouseover mit der Listbox den ganzen Namen an!
Auch die Suchfunktion funktioniert wieder, ich habe beim einbauen der Library V2 vergessen das Dim Feld tracks_short$ zu füllen
Jetzt werd ich mich entlich mal ans Readme schreiben machen ^^
mfg
Dank EPS's toller DLL hat TBP nun auch Tooltips

Sie erklären einige Sachen und zeigen auch bei Mouseover mit der Listbox den ganzen Namen an!
Auch die Suchfunktion funktioniert wieder, ich habe beim einbauen der Library V2 vergessen das Dim Feld tracks_short$ zu füllen

Jetzt werd ich mich entlich mal ans Readme schreiben machen ^^
mfg
Migration von Library2 (teilweise) erfolgreich :)

Wie schon erwähnt Library v2 ist nun im Player integriert
kurze erklärung, die ereste Library konnte nur den Dateinamen anzeigen, nun wird Interpret/Lied/Album angezeigt (wenn kein ID3 Tag vorhanden ist, sieht man halt nur den Dateinamen)
auch der dateiaufbau der library wurde ein wenig optimiert...
Leider ist ein kleiner Bug aufgetaucht, welcher die Suchfunktion durcheinander bringt, werde mich darum kümmern
Hier noch ein Screen vom aktuellen Stand
kurze erklärung, die ereste Library konnte nur den Dateinamen anzeigen, nun wird Interpret/Lied/Album angezeigt (wenn kein ID3 Tag vorhanden ist, sieht man halt nur den Dateinamen)
auch der dateiaufbau der library wurde ein wenig optimiert...
Leider ist ein kleiner Bug aufgetaucht, welcher die Suchfunktion durcheinander bringt, werde mich darum kümmern

Hier noch ein Screen vom aktuellen Stand

Gehe zu Seite Zurück 1, 2, 3, 4, 5 Weiter