Entwickler-Ecke
Freeware Projekte - 1337 mp3 - der kleinste mp3player der welt
retnyg - Mi 02.02.05 06:25
Titel: 1337 mp3 - der kleinste mp3player der welt
Achtung neue Version [34 KB]!
hier gibts infos und screenshots:
http://www.delphi-forum.de/viewtopic.php?p=306891#306891
download:
http://krazz.net/retnyg/leetmp3.zip
alte news:
Als kleine Demonstration was mit Delphi in Verbindung mit KOL (
http://bonanzas.rinet.ru ) alles möglich ist, habe ich mich entschieden meinen mp3player der öffentlichkeit zur verfügung zu stellen
*** features ***
- trayicon, kein platz in der taskbar wird verschwendet
- drag and drop
- lautstärkeregelung
- positions slider
- playliste die sich ausblenden lässt (wodurch der player auch in den pixelmassen winzig ist
- automatisches speichern der playliste beim beenden
- automatisches speichern der alten playliste ('backupYYYYMMDD-'+Gettickcount DIV 60000+'.1337') beim erstellen einer neuen playlist.
- alle playlisten im programmordner sind direkt per popupmenü erreichbar
- komfortables browsen durch den mp3-bestand per popupmenu - siehe screenshot
- player passt auf jedes speichermedium seit erfindung der lochkarte ;)
- unterstützt kommandozeilenparameter (playlist oder mp3namen) z.b: leetmp3.exe "C:\test\slayer - wicked.mp3"
- multithreaded
- skin support (alle farben und buttons lassen sich über ein ini selber einstellen)
-> hier [http://krazz.net/retnyg/testskin.zip] gibt einen demoskin [18 kb] mit passendem inifile
-> und hier [http://www.delphi-forum.de/topic_1337+mp3++der+kleinste+mp3player+der+welt_35945,64.html] wird das inifile erklärt
- Shuffle-Modus (alle Einträge werden nur jeweils einmal abgespielt)
- NEU!! Player kann durch entsprechenden Playlisteneintrag das System in den Standbymodus schicken
- NEU!! Minimierung zur 10 pixel hohen leiste durch doppelklick auf den titel und StayOnTop-Modus
der ganze player bringt ein kampfgewicht von 40 KB (!) mit, was wohl einen weltrekord darstellt :mrgreen: ...
//edit: für einen player mit alltagstauglichem funktionsumfang
//edit: mittlerweile ist der player von 39 kb auf 42 gewachsen, dafür hat er aber mindestens 15 neue funktionen bekommen
download:
http://krazz.net/retnyg/1337mp3.zip

[b]
matze - Mi 02.02.05 20:13
was bedeuetet eigendlich immer das 1337 ? ich hab das schon öfter gelesen, weis aber immernochnicht was das heisst ...
retnyg - Mi 02.02.05 20:21
das heisst soviel wie elite
matze - Mi 02.02.05 20:30
aha danke !
matze.de - Mi 02.02.05 22:17
jo "1337" übersetzt man mit "leet" :)
Delete - Mi 02.02.05 22:52
| retnyg hat folgendes geschrieben: |
| das heisst soviel wie elite |
Ja, so übersetzen das nur Deppen, die gern die Elite wären. :mrgreen:
retnyg - Mi 02.02.05 23:22
| MathiasSimmack hat folgendes geschrieben: |
| Ja, so übersetzen das nur Deppen, die gern die Elite wären. :mrgreen: |
solch ein statement abzugeben zeugt nicht von besonderer intelligenz
raziel - Mi 02.02.05 23:24
Bitte beim Thema bleiben :mahn:
Über Deppen und Intelligenz könnt ihr in Ruhe per PN diskutieren.
Delete - Mi 02.02.05 23:57
Cool, schon acht Antworten und ich bin der Erste, der was zum Programm sagt :D
Irgendwie vermisse ich bei dem Programm einen OpenDialog. Oder ich bin einfach nur zu blöd ihn zu finden. Aber sonst ganz ok.
[Edit]Schade, aber bei leerem EDIT-Feld auf "save" geklickt und 'nen Runtime-Eror mit anschließendem Programmabsturz bekommen[/Edit]
retnyg - So 06.02.05 17:58
| Kernel32.dll hat folgendes geschrieben: |
| Irgendwie vermisse ich bei dem Programm einen OpenDialog. Oder ich bin einfach nur zu blöd ihn zu finden. Aber sonst ganz ok. |
ja momentan kann man die files nur per playliste oder drag und drop laden. ich bastle aber an einer neuen version, welche eine komfortable filebrowser-funktion beinhalten wird.
| Zitat: |
[Edit]Schade, aber bei leerem EDIT-Feld auf "save" geklickt und 'nen Runtime-Eror mit anschließendem Programmabsturz bekommen[/Edit] |
danke für den hinweis (wird gefixt), macht zwar keinen sinn das edit zu löschen und dann die buttons zu drücken, aber der kunde is nunmal könig :mrgreen:
mael - So 06.02.05 19:01
Nicht schlecht, für Nochmodemnutzer (ja, die gibt es) ein Traum :P
Es wäre ganz praktisch, wenn der Player auch in der Taskbar (und nicht in der TBNA) erscheinen würde, das erleichtert Drag&Drop.
retnyg - So 06.02.05 20:05
| mael hat folgendes geschrieben: |
| Nicht schlecht, für Nochmodemnutzer (ja, die gibt es) ein Traum :P |
danke, das hört man gerne :)
| mael hat folgendes geschrieben: |
| Es wäre ganz praktisch, wenn der Player auch in der Taskbar (und nicht in der TBNA) erscheinen würde, das erleichtert Drag&Drop. |
stimmt, ich habe das eigentlich so gemacht weil meine taskleiste immer so unübersichtlich voll ist. beim nächsten release wird es aber eine geschickte integration des dateisystems per popupmenu geben, wodurch sich das gedragge in grenzen halten sollte.
F34r0fTh3D4rk - Mo 07.02.05 19:35
das ist leetspeak, deshalb übersetzt man F34r0fTh3D4rk auch nicht mit Dunkelfürchter sondern mit Fear Of The Dark :D
das "Kampfgewicht" ist echt beachtlich, wie hast du das gemacht, also bei mir sind die kleinsten witz programme schon mind 250kb ?
kann der irgendwo noch mehr abspecken, komm den kriegen wir nochmal aufn drittel reduziert :D
die animation zum try sollte noch korrigiert werden
Moderiert von
raziel: Beiträge zusammengefasst. Es gibt hier auch eine Edit-Funktion!
The... - Di 08.02.05 00:19
:arrow: jo... schönes prog. :!:
kommt mir sehr ausgereift vor :!:
Aber wasmicha uch interesirt währ wie du es so klein bekommen hast :?: :?: :?:
retnyg - Di 08.02.05 02:19
naja ich habs halt mit KOL gemacht - ein leeres kol-projekt mit window hat so ca. 20kb. habe dann halt wo es geht speicher eingespart, z.b. directory auflisten mit api statt mit TSearchrec wo jedesmal die ganze sysutils.pas mit reinkompiliert wird. und für den farbverlauf hab ich ein KOLGradientPanel hergenommen, das die farbwerte berechnet, anstatt ein bitmap mit einigen kilobytes zu laden - der grossteil des ruhmes gebührt aber vladimir kladov, der quasi die komplette VCL mit assembler neu geschrieben hat. link siehe oben, oder auf meiner hp, wo noch andre KOL-links zu finden sind.
die trackbarkomponente stammt aus der feder von thaddy de koning, ein alt-guru... ich habe sie nur noch so weit angepasst, dass der canvas des parentobjektes als hintergrund benutzt wird.
F34r0fTh3D4rk - Sa 12.02.05 16:59
echt genial, hätte nie gedacht, dass sowas auch nur im ansatz möglich ist :wink:
retnyg - Sa 12.02.05 17:14
danke, ein lob aus deinem munde freut mich besonders :mrgreen:
F34r0fTh3D4rk - Sa 12.02.05 17:15
was soll das heißen ? :D :) :? :x :( :cry: :evil:
retnyg - Sa 12.02.05 17:28
is genau so gemeint wie es da steht :wink:
F34r0fTh3D4rk - Sa 12.02.05 17:46
da steht es 2 deutig !
eine bedeutung wäre, dass wenn ich das sage, das eh wurscht ist, weil ich keine ahnunghabe, oder du meinst das ernst :roll:
retnyg - Sa 12.02.05 17:51
nein ich meine das ernst - ohne sche***
F34r0fTh3D4rk - Sa 12.02.05 17:51
das auch ? :D jaja ich glaub dir ja, das prog ist aber auch genital
retnyg - Mo 14.02.05 10:23
sooooooooo..... der player hat nun endlich alles was ich mir schon immer von ihm gewünscht habe.
besonders komfortabel sind die funktionen um seine mp3bestände zu durchsuchen - siehe screenshot auf der ersten seite.
opfer.der.genauigkeit - Mo 14.02.05 12:44
*retnyg mal lob* :D
Delete - Mo 14.02.05 13:34
Ich finde, dass der Player noch verbesserungswürdig ist.
- sehr schwach finde ich das Editfeld zur Playlistauswahl, Stichwort OpenDialog, wurde aber schon gesagt
- wenn ich in der Listbox eine Datei markiere und dann auf Play drücke, wird nicht die markierte abgespielt
- die Playlist wird nicht richtig geladen (erstellt mit Winamp > 5.0)
die erste Zeile ist "#EXTM3U"
und jeder Titel hat zwei Einträge, zB
309,Aerosmith - Cryin'
Aerosmith - Cryin'.mp3
keinen der Titel kann ich mit Doppelklick ausführen..
naja soweit
MfG
10f10
ScorpionKing - Mo 14.02.05 16:02
ich finde den player hammergeil!
Delete - Mo 14.02.05 16:25
| ScorpionKing hat folgendes geschrieben: |
| ich finde den player hammergeil! |
Das glaub ich dir gerne, aber warum?
Übrigens: das Symbol in der TNA hat leider kein Popupmenu.
ScorpionKing - Mo 14.02.05 16:39
| OneOfTen hat folgendes geschrieben: |
| ScorpionKing hat folgendes geschrieben: | | ich finde den player hammergeil! |
Das glaub ich dir gerne, aber warum?
Übrigens: das Symbol in der TNA hat leider kein Popupmenu. |
weil er super ist, er spielt mp3s ( :lol: ) und ist verdammt klein! :!:
Delete - Mo 14.02.05 16:52
| ScorpionKing hat folgendes geschrieben: |
weil er super ist, er spielt mp3s ( :lol: ) und ist verdammt klein! :!: |
Haben Mp3-Player so an sich, dass sie Mp3s abspielen.
Und schön, dass er so verdammt klein ist, jetzt kannste eine viertel Mp3 mehr auf die Festplatte quetschen :P
Haste auch einen vernünftigen Grund, warum der Player so 1337 ist, wenn du schon alle meine Argumente ignorierst?
ScorpionKing - Mo 14.02.05 16:53
sag mal, hast du was gegen retnyg, oder warum findest du den player schlecht?
Delete - Mo 14.02.05 16:59
| ScorpionKing hat folgendes geschrieben: |
| sag mal, hast du was gegen retnyg, oder warum findest du den player schlecht? |
Ich habe nichts gegen retnyg. Wenn du meine Beiträge lesen würdest, wüsstest du, warum ich den Player, nicht unbedingt schlecht, aber zumindest nicht ausgereift finde.
retnyg - Mo 14.02.05 17:01
jo also oneoften das ist halt so dass es kein richtiges m3u format is sondern nur so n halbes.
sprich der player frisst nur listen die auch mit ihm erstellt wurden, oder mit DIR /2
wäre eigentlich besser ich hätte dafür ne eigene extension erstellt, z.b. playlist.1337
das besondere an dem player ist aber das menü wenn man auf playlist drückt. hast du dir das noch ned angeschaut ?
edit: und auf das popupmenu in der tray hab ich verzichtet, da die tray nur die funktion hat den player wieder nach vorn zu holen
AXMD - Mo 14.02.05 17:05
| retnyg hat folgendes geschrieben: |
| edit: und auf das popupmenu in der tray hab ich verzichtet, da die tray nur die funktion hat den player wieder nach vorn zu holen |
Sowas wie pause oder stop wären da drin aber sicherlich gut aufgehoben ;)
AXMD
Delete - Mo 14.02.05 17:09
| AXMD hat folgendes geschrieben: |
Sowas wie pause oder stop wären da drin aber sicherlich gut aufgehoben ;)
|
Jop seh ich auch so.
| retnyg hat folgendes geschrieben: |
das besondere an dem player ist aber das menü wenn man auf playlist drückt. hast du dir das noch ned angeschaut ?
|
´
Sicherlich habe ich mir das angeschaut und ich habe für mich festgestellt, dass ich sowas nicht brauche, sondern, dass mir eine Suchfunktion für meine Playlist lieber ist (so wie bei Winamp).
retnyg - Mo 14.02.05 17:22
| AXMD hat folgendes geschrieben: |
| Sowas wie pause oder stop wären da drin aber sicherlich gut aufgehoben ;) |
jo ok, das macht eigentlich schon sinn... werde ich also noch einbauen genau wie
| OneOfTen hat folgendes geschrieben: |
| ich habe für mich festgestellt, dass ich sowas nicht brauche, sondern, dass mir eine Suchfunktion für meine Playlist lieber ist (so wie bei Winamp). |
n suchdialog könnte ned schaden (o_0)
//edit: weiss jemand wie man contextmenu optionen wie "enqueue in winamp" einbaut ? wies ungefähr funzt weiss ich schon aber ned genau :P
AXMD - Mo 14.02.05 17:31
Hab mir das Prog jetzt mal geladen und hab noch einige andere Verbesserungsvorschläge:
1.) Es ist nicht möglich, eine einzelne Datei mit deinem PLayer zu öffnen (außer man weiß den genauen Pfad oder zieht das File per Drag & Drop in das Fenster)
2.) Das Grün gefällt mir absolut nicht, die Schriftart ebensowenig
3.) Die Trackbars (oder was das auch immer sein soll) sind viel zu klein
4.) Es ist sehr nett von deinem Tool, sich beim Minimieren als "Testshit" über die Taskleiste zu legen :roll:
5.) Noch besser finde ich es, dass es bei einem Klick auf Save abstürzt...
Und nach den 5 Punkten ist mir die Lust aufs Testen echt vergangen...
AXMD
F34r0fTh3D4rk - Mo 14.02.05 17:36
ja das testhit gefällt mir auch besonders gut, weil es nicht die taskleiste blockiert und weil man es von dort weiterverschieben kann, ebensogut finde ich, dass man es von dort aus auch so leicht minimieren und schließen kann, besonders sticht dann auch das design hervor, welches garnicht an windows 95 erinnert. :wink:
so jetzt aber genug, bis auf die oben genannten fehler ist das programm ja net schlecht, man müsste nur das design etwas abändern, finde ich irgendwie komisch, aber sonst ist doch cool 8)
retnyg - Mo 14.02.05 17:36
| AXMD hat folgendes geschrieben: |
1.) Es ist nicht möglich, eine einzelne Datei mit deinem PLayer zu öffnen (außer man weiß den genauen Pfad oder zieht das File per Drag & Drop in das Fenster)
2.) Das Grün gefällt mir absolut nicht, die Schriftart ebensowenig
3.) Die Trackbars (oder was das auch immer sein soll) sind viel zu klein
4.) Es ist sehr nett von deinem Tool, sich beim Minimieren als "Testshit" über die Taskleiste legt :roll:
5.) Noch besser finde ich es, dass es bei einem Klick auf Save abstürzt... |
ok...
zu 1) stimmt geht im mom nur per D&D
zu 2) naja optik is immer geschmackssache ^^
zu 3) der ganze player will klein sein
zu 4) interessant - bei mir ist nix zu sehen - is nur in der tray
zu 5) jo wenn man das edit mit dem filenamen manuell löscht
aber ich nehme mir das zu herzen und werd noch nen preferences dialog einbauen wo man einiges customizen kann.
AXMD - Mo 14.02.05 17:50
| retnyg hat folgendes geschrieben: |
| AXMD hat folgendes geschrieben: |
5.) Noch besser finde ich es, dass es bei einem Klick auf Save abstürzt... |
[..]
zu 5) jo wenn man das edit mit dem filenamen manuell löscht
|
:shock: Das Edit is nichtmal beschriftet und ich soll ohne Glaskugel wissen, dass da der Filename der Playlist reinsoll :shock: . Und außerdem: das programm darf trotzdem nicht einfach abstürzen; abfangen oder den Save bzw. Load Button disablen...
AXMD
Gausi - Mo 14.02.05 17:56
Was mich neben so Kleinigkeiten wie "Absturz, wenn man die Titel-Positions-Trackbar anklickt, wenn kein Titel gespielt wird" stört:
- Keine Anzeige der ID3-Tags in der Liste. gehört IMHO zu jedem mp3-Player unbedingt dazu
- Keine Möglichkeit, die Liste zu vergrößern, um einen besseren Überblick über die Liste zu bekommen
Aber das Ding ist ausbaufähig. Nur in der jetzigen Version noch keine Konkurrenz zu Winamp :wink:
retnyg - Mo 14.02.05 23:02
nun, es soll eigentlich auch kein winamp sein, sondern ein schlanker guter player.
halt etwas für spezialisten...
mir isses lieber ich kann den filenamen in ein edit schreiben als mich immer durch dämliche dialoge zu klicken.
und ID3 kann man sich eigentlich auch sparen, wenn man die MP3s auf seiner platte ordentlich sortiert.
habe auch nicht vor das noch einzubauen.
ich selber finde den player mal mega ;)
AXMD - Mo 14.02.05 23:10
| retnyg hat folgendes geschrieben: |
| halt etwas für spezialisten... |
Kein Spezialist auf dieser Welt hat Lust, sich die exakten Pfade sämtlicher MP3s auf seiner Festplatte zu merken. Ich hab beispielsweise so um die 200 MP3s, die ich auch wirklich höre: ich weiß nur den pfad meines MP3-Ordners und dessen Unterordner (die gut sortiert sind); und ich hab trotzdem keine Ahnung, wie ich jetzt genau die Datei genannt habe, die ich jetzt hören möchte.
ID3-Tags sind außerdem dazu da, dass man den Dateinamen nicht mit Autor, Titel, Album, Jahr etc. überfrachten muss. ID3-Tags gehören für mich in jeden MP3-Player - und sei er nur so klein wie deiner.
AXMD
retnyg - Mo 14.02.05 23:13
| AXMD hat folgendes geschrieben: |
Kein Spezialist auf dieser Welt hat Lust, sich die exakten Pfade sämtlicher MP3s auf seiner Festplatte zu merken |
genau darum gibts dieses geniale popupmenu. dort addest du deinen haupt-mp3 ordner und bist mit einem klick in jedem unterordner der dann auf einen klick in die playlist befördert wird.
//edit: ahja und der player hat ja noch die nette funktion dass er beim löschen der playliste diese erst im programmordner abspeichert (mit datum). die aktuelle playlist wird sowieso immer gespeichert. einmal eine playlist zusammengeklickt hast du die immer direkt im zugriff. (im playlist menü)
AXMD - Mo 14.02.05 23:16
| retnyg hat folgendes geschrieben: |
| AXMD hat folgendes geschrieben: |
Kein Spezialist auf dieser Welt hat Lust, sich die exakten Pfade sämtlicher MP3s auf seiner Festplatte zu merken |
genau darum gibts dieses geniale popupmenu. dort addest du deinen haupt-mp3 ordner und bist mit einem klick in jedem unterordner der dann auf einen klick in die playlist befördert wird. |
Damit ich dann den ganzen Bildschirm voller Menüs und Untermenüs habe. Nein danke. Die Existenz des "Datei öffnen"-Dialogs hat einen guten Grund ;)
AXMD
retnyg - Mo 14.02.05 23:22
| AXMD hat folgendes geschrieben: |
| Damit ich dann den ganzen Bildschirm voller Menüs und Untermenüs habe. |
| AXMD hat folgendes geschrieben: |
| Ich hab beispielsweise so um die 200 MP3s, die ich auch wirklich höre |
alles klar :P
AXMD - Mo 14.02.05 23:27
| retnyg hat folgendes geschrieben: |
| AXMD hat folgendes geschrieben: | | Damit ich dann den ganzen Bildschirm voller Menüs und Untermenüs habe. |
| AXMD hat folgendes geschrieben: | | Ich hab beispielsweise so um die 200 MP3s, die ich auch wirklich höre |
alles klar :P |
Ich hab eine Auflösung von 1280x1024. Da meine MP3s ziemlich gut sortiert sind (haufenweise Unterkategorien) kann es schonmal vorkommen, dass ich ein MP3-File habe, das in 4 oder 5 Unterordnern vom MP3-"Haupt"ordner ist. Das wird dann ziemlich lästig beim Auswählen auf dem Bildschirm (per Menü).
AXMD
retnyg - Mo 14.02.05 23:30
aha, und wie wäre es wenn ich einfach nicht den ganzen pfad anzeigen lasse sondern nur den sub-pfad. das sollte dann ja schön übersichtlich sein.
AXMD - Mo 14.02.05 23:32
| retnyg hat folgendes geschrieben: |
| aha, und wie wäre es wenn ich einfach nicht den ganzen pfad anzeigen lasse sondern nur den sub-pfad. das sollte dann ja schön übersichtlich sein. |
Das wäre eine ausgezeichnete Idee. Das würde die Sache erheblich verbessern :)
AXMD
Gausi - Mo 14.02.05 23:45
Mir ist grad noch was aufgefallen :motz: - Bei mir braucht dein Player eine ganze Minute zum Starten! :lol:
Hat was mit dem Menü zu tun. Die Idee finde ich im Gegensatz zu AXMD ziemlich genial, nur ist sie für mich absolut unpraktikabel. :wink:
retnyg - Mo 14.02.05 23:59
| Gausi hat folgendes geschrieben: |
Mir ist grad noch was aufgefallen :motz: - Bei mir braucht dein Player eine ganze Minute zum Starten! :lol:
Hat was mit dem Menü zu tun. Die Idee finde ich im Gegensatz zu AXMD ziemlich genial, nur ist sie für mich absolut unpraktikabel. :wink: |
in dem fall hast du halt ein riesiges archiv auf einer langsamen platte. bei mir dauert es auch relativ lang wenn ich meine externe platte einbinde, die is halt ned besonders schnell aber es müssen halt alle ordner durchsucht werden was auch mit meiner API funktion ein bischen dauert wenns denn so um die 200 gb sind. dort liegen aber auch alle ordner in einem sub-ordner.
auf meiner internen hab ich aber auch 75 gb die in 2-3 sekunden geladen sind. hier sind aber auch die ordnerstrukuren etwas ausgeklügelter, was den vorgang sicher beschleunigt. werd aber ma schauen ob sich die routine zum erstellen des popupmenüs noch beschleunigen lässt.
Gausi - Di 15.02.05 09:55
hehe, du hast das Problem ganz genau beschrieben, sogar die Zahlen stimmen in etwa :D. Evtl. könnte man ja die Ordnerstruktur bzw. das Menu mit in der Ini speichern, und einen Befehl wie 'Menu aktualisieren' einfügen.
retnyg - Mi 16.02.05 13:50
update
neue version:
- unterstützung für paramstr's
- mp3s werden in einem eigenen thread eingelesen dadurch kann man gleich loslegen
- nur noch unterordnernamen werden im playlist-quickmenü angezeigt
- neues playlistformat .1337
- farbgestaltung
- integrierter skin-support (muss nur noch die einlese-auslese routine fürs ini file machen)
Roosevelt - Mi 16.02.05 14:07
Super Programm bei der größe dürfte man eigentlich nicht einmal meckern... Deswegen ist es auch nur ein verbesserungs vorschlag... Kannst du nicht den lautstärken regler ein bisschen weiter nach links schieben und den regler ein bisschen größer machen... das würde den bedinugs komfor erhöhen...
Delete - Mi 16.02.05 14:22
| Roosevelt hat folgendes geschrieben: |
| Super Programm bei der größe dürfte man eigentlich nicht einmal meckern... |
Warum beziehen so viele hier die Funktionen des Programms auf die Größe zur Zeiten von 200 GB Festplatten?
- PopupMenu im Tray fehlt mir noch ein bisschen, damit ich das Programm auch dort beenden kann.
- ein Einstellungsdialog, kommt vll noch.
- ich verstehe nicht, warum, wenn ich Mp3s übers PopupMenu adde, ein Eintrag des Verzeichnisses in der Playlist erscheint, vollkommen unsinnig, den kann man nämlich nicht auswählen
- wenn ich beim letzten Eintrag der Playlist auf "ein Lied weiter" drücke, rotzt das Programm ab
- kein shuffle
Maweki - Mi 16.02.05 14:32
ich finde das cool.
Ich hab nen 512MB mp3-Stick...
Sind 10MB Delphi und Windows Kurzreferenzen drauf.
Aber auch 2,5MB Miranda (Instant Messenger) mit ICQ, RSS, MSN und IRC
Und da kommt mir ein 40KB-Player gerade recht...
retnyg - Mi 16.02.05 14:34
| OneOfTen hat folgendes geschrieben: |
| Roosevelt hat folgendes geschrieben: | | Super Programm bei der größe dürfte man eigentlich nicht einmal meckern... |
Warum beziehen so viele hier die Funktionen des Programms auf die Größe zur Zeiten von 200 GB Festplatten?
1 PopupMenu im Tray fehlt mir noch ein bisschen, damit ich das Programm auch dort beenden kann.
2 ein Einstellungsdialog, kommt vll noch.
3 ich verstehe nicht, warum, wenn ich Mp3s übers PopupMenu adde, ein Eintrag des Verzeichnisses in der Playlist erscheint, vollkommen unsinnig, den kann man nämlich nicht auswählen
4 wenn ich beim letzten Eintrag der Playlist auf "ein Lied weiter" drücke, rotzt das Programm ab
5 kein shuffle |
zu
1) hatte bisher wichtigere funktionen zu integrieren
2) -"- (bislang muss fast nix eingestellt werden)
3) ? erklär das bitte mal genauer (falls du den namen des ordners mit den * meinst, das is rein zur übersichtlichkeit)
4) ein bug... is gleich mal weg
5) kommt noch
Delete - Mi 16.02.05 14:38
| retnyg hat folgendes geschrieben: |
1) hatte bisher wichtigere funktionen zu integrieren
2) -"- (bislang muss fast nix eingestellt werden)
3) ? erklär das bitte mal genauer (falls du den namen des ordners mit den * meinst, das is rein zur übersichtlichkeit)
4) ein bug... is gleich mal weg
5) kommt noch |
1) ok
2) stimmt wohl, auch wenn es einige Dinge sicherlich jetzt schon gäbe
3) genau das meine ich, aber spätestens, wenn du die Liste sortieren willst, ist das unpraktisch oder?
4) ok
5) ok
retnyg - Mi 16.02.05 14:46
| OneOfTen hat folgendes geschrieben: |
| retnyg hat folgendes geschrieben: |
1) hatte bisher wichtigere funktionen zu integrieren
2) -"- (bislang muss fast nix eingestellt werden)
3) ? erklär das bitte mal genauer (falls du den namen des ordners mit den * meinst, das is rein zur übersichtlichkeit)
4) ein bug... is gleich mal weg
5) kommt noch |
1) ok
2) stimmt wohl, auch wenn es einige Dinge sicherlich jetzt schon gäbe
3) genau das meine ich, aber spätestens, wenn du die Liste sortieren willst, ist das unpraktisch oder?
4) ok
5) ok |
zu 3) ich habe vor früher oder später ein treeview als playliste zu verwenden. dann erledigt sich alles weitere von selbst.
allerdings bedarf ein treeview einer gehörigen anzahl code-zeilen.
das wird also eines der letzten dinge sein was daran gemacht wird (wenn alles andere erledigt is)
Delete - Mi 16.02.05 17:20
| OneOfTen hat folgendes geschrieben: |
| Roosevelt hat folgendes geschrieben: | | Super Programm bei der größe dürfte man eigentlich nicht einmal meckern... |
Warum beziehen so viele hier die Funktionen des Programms auf die Größe zur Zeiten von 200 GB Festplatten?
|
weil es immer noch menschen gibt, die mit einem modem unterwegs sind und - sit venia verbo - einfach keinen bock haben, sich ein 300k archiv herunterzuladen?
retnyg - Mi 16.02.05 18:01
da hast du recht kernel32.
ausserdem zeugt es von programmierkönnen und schonenden umgang mit ressourcen wenn man nicht megabytes für kleine tools verschwendet. wenn ich dran denke wie gross meist irgendwelche animated gif oder icon extractors usw sind...jedesmal setup-programm usw ^^
so ne überarbeitete version is wider oben.
alle bekannten bugs behoben, statt testshit steht nun leetmp3 dort :P
*** zip archive updated ***
link is auf der ersten seite
Delete - Mi 16.02.05 18:09
| retnyg hat folgendes geschrieben: |
da hast du recht kernel32.
ausserdem zeugt es von programmierkönnen und schonenden umgang mit ressourcen wenn man nicht megabytes für kleine tools verschwendet. wenn ich dran denke wie gross meist irgendwelche animated gif oder icon extractors usw sind...jedesmal setup-programm usw ^^
so ne überarbeitete version is wider oben.
alle bekannten bugs behoben, statt testshit steht nun leetmp3 dort :P
|
Wie gut, dass bei dir Programmierkönnen anhand der Exe-größe zu sehen ist. Ich hab schon nach 5 Sekunden den alten Bug wieder festgestellt: Starten und auf "next" klicken und schon ist der Spuk vorbei :wink:
retnyg - Mi 16.02.05 18:12
dann hast du das file ausm cache genommen statt von dem link
lösch mal deinen browsercache
hier mal n bild
Delete - Mi 16.02.05 18:21
hatte ich eigentlich nicht, aber nach erneutem runterladen funktionierts..
retnyg - Di 22.02.05 00:50
so, habe mal wieder ein bischen dran gebastelt.
der Save-Button Bug ist behoben, und der
SKIN-SUPPORT komplett :)
hier mal ein demoskin:
download des skins hier.
http://krazz.net/retnyg/testskin.zip [18 KB]
player gibts hier:
http://krazz.net/retnyg/1337mp3.zip [36 KB]
ich denke das inifile ist selbsterklärend, doch hier mal ne übersicht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| labelcolor=0 labelfontcolor=5680930 bgcolor1=5803628 bgcolor2=2953479 buttoncolor=16777215 bigbuttonsize=22 bigbuttontop=30 bigbuttonspacing=2 bigbuttonleft=8 smallbuttonsize=9 smallbuttontop=0 smallbuttonspacing=0 smallbuttonleft=239 skinfolder=testskin |
die farbwerte entsprechen der delphi-syntax, also der farbwert #00AAFF in html entspricht $FFAA00 in delphi.
also calc.exe starten, FFAA00 im hexmodus pasten und auf dezimal modus umschalten, den wert in die ini reinkopieren.
wenn ein skinfolder angegeben wird, so sieht mein prog darin nach ob BMP dateien mit gewissen namen drin liegen.
falls es diese nicht findet verwendet es die standardbilder, welche als resource eingebunden sind.
wie die bildnamen genau lauten seht ihr bei dem testskin.
retnyg - Di 22.02.05 14:33
würde mich freuen wenn ich hier ein paar nette skins von euch vorfinden würde ;)
also mal notepad starten und mit den farbwerten rumspielen 8)
en!gma - Di 22.02.05 14:43
soo...
erstmal sehr kuhler player : ) gefällt mir gut.
achja erstmal...
wenn ich die lautstärke auf max ziehen will und ein bischen über den rand komme, will er mir sofort das ganze fenster verschieben? geht das auch anders?
und wenn ich zuhause bin heute abend dann versuch ich mal nen kleinen skin zu machen : )
retnyg - Di 22.02.05 15:06
danke ;)
| en!gma hat folgendes geschrieben: |
soo...
wenn ich die lautstärke auf max ziehen will und ein bischen über den rand komme, will er mir sofort das ganze fenster verschieben? geht das auch anders? |
der player is halt ziemlich klein, auch in den pixeldimensionen. wenn ich die trackbar weiter vom rand wegmache sieht das glaube ich nicht so gut aus ...
| Zitat: |
| und wenn ich zuhause bin heute abend dann versuch ich mal nen kleinen skin zu machen : ) |
super, da bin ich ja schon mal gespannt :)
en!gma - Mi 23.02.05 16:11
öhm naja habs mal versucht wie versprochen :D
download:
hier [
http://www.phoenix.game-n.de/enigma/df/1337player/enigma_skin.zip]
naja ich glaub die buttons sehen nich ganz so dolle aus : /
irgendwie passt es auch nicht ganz von den knöpfen und den bildern her : )
eigentlich sollte überall ein 1 pixel rand sein...stell ich
bigbuttonsize=22 ein, fehlt rechts ein pixel und bei 23 hab ich unten einen zu viel : )
retnyg - Mi 23.02.05 16:18
ja, die buttons müssen in höhe und breite gleich sein, also quadratisch.
du machst also z.b. einen button mit 16*16 pixel und stellst bigbuttonsize auf 16
der skin sieht schon mal nicht schlecht aus - wäre aber wahrscheinlich nicht schlecht wenn man auch die farben der trackbars verstellen kann, was ?
edit: die reihenfolge der zeilen in der ini ist übrigens ausschlaggebend, nicht das was vor dem = steht !
also bitte einfach die werte der original skin.ini ändern.
edit2: den rand stellst du mit bigbuttonspacing ein (halt wie viele pixel die einzelnen buttons auseinander liegen)
Delete - Mi 23.02.05 16:34
füg lieber erst mal ein paar wichtigere sachen ein, wie zum Beispiel eine Suchfunktion
retnyg - Do 24.02.05 17:17
so hab mal n paar dinge geändert:
- "graue leiste bei minimieren" is jetzt weg
- preferences menü bei rechtsklick auf den oberen playerteil
- Loop/Shuffle Modus
- abgespieltes lied wird in der playliste markiert
link wie gehabt
Radioactive - Do 24.02.05 18:00
Super! Jetzt muss ich endlich nicht mehr das rießige Windamp in den RAM laden!
Was noch toll wäre: M3U-Playlist-Unterstützung
Edit: Noch ein kleiner Bug:
Wenn die shuffle-Funktion an ist und man auf einen Eintrag klickt (um genau diesen Abspielen), dann wird zufällig ein Anderer abgespielt.
Edit2: weitere konstruktive Verbesserungsvorschläge:
Mir sind noch ein paar kleine Schönheitsfehler aufgefallen:
1 . Wenn man auf Stop klickt, sollte die Anzeige des Dateinamens zurückgesetzt werden und auch die Suchleiste (also wo man zu einer genauen Position im Song springen kann), der die Position angibt. Denn wenn man jetzt wieder irgendwo auf die Suchleiste klickt, startet die Wiedergabe nochmals, aber der Balken, der die Position angibt rutscht nicht mit. Also bitte ganz stoppen!
2. Dann fände ich es ganz gut, wenn man die Playliste beliebig nach unten ziehen könnte (also beliebig vergrößern könnte). Außerdem werden zu lange Dateinamen abgeschnitten (das ist aber nicht so schlimm).
3. Wenn man gestopt hat und nun eine Datei in der Liste markiert und auf PLAY klickt, wird nicht diese Datei abgespielt, sondern die zuletzt abgespielte
4. Schalte Multiselect in deiner Liste ab. Das braucht es nicht. Am besten sollte man nur einen Eintrag markieren können.
5. Wenn man die Lautstärke verstellt (mit gedrückter Maustaste) und bei Maximum oder Minimum angekommen ist und die gedrückte Maus weiter nach links oder rechts zieht, dann kommt man in den Verschiebe-Modus. Ist ein bischen unpraktisch.
6. Etwas, dass ich sehr schätze, und bisher leider nur WinAmp kann:
Wenn ich shuffle aktiviert habe und auf next klicke, wird zufällig ein anderer Song ausgewählt. Wenn nun aber wieder auch zurück klicke, wird wieder ein zufälliger Song ausgewählt. Toll wäre es, wenn dann der vorherige Titel wieder gespielt wird. (Ist aber nicht unbedingt notwending, schließlich sollten ja die 41kB erhalten bleiben)
retnyg - So 27.02.05 14:47
| Radioactive hat folgendes geschrieben: |
| Super! Jetzt muss ich endlich nicht mehr das rießige Windamp in den RAM laden! |
einer meiner hauptgründe diesen player zu machen, neben der unkomfortablen playlist - und mp3bestands-verwaltung
| Zitat: |
| Was noch toll wäre: M3U-Playlist-Unterstützung |
wird es nicht geben, da meiner ansicht nach nicht benötigt
| Zitat: |
| Wenn die shuffle-Funktion an ist und man auf einen Eintrag klickt (um genau diesen Abspielen), dann wird zufällig ein Anderer abgespielt. |
gut, wird behoben
| Zitat: |
| 1 . Wenn man auf Stop klickt, sollte die Anzeige des Dateinamens zurückgesetzt werden und auch die Suchleiste (also wo man zu einer genauen Position im Song springen kann), der die Position angibt. Denn wenn man jetzt wieder irgendwo auf die Suchleiste klickt, startet die Wiedergabe nochmals, aber der Balken, der die Position angibt rutscht nicht mit. Also bitte ganz stoppen! |
aha, das habe ich bislang noch nicht ausprobiert, fällt aber auch in die kategorie bug und wird behoben
| Zitat: |
| 2. Dann fände ich es ganz gut, wenn man die Playliste beliebig nach unten ziehen könnte (also beliebig vergrößern könnte). |
jo, darüber denke ich derzeit nach wie ich das mit geringstmöglichem aufwand integrieren kann
| Zitat: |
| 3. Wenn man gestopt hat und nun eine Datei in der Liste markiert und auf PLAY klickt, wird nicht diese Datei abgespielt, sondern die zuletzt abgespielte |
mit einem doppelklick wird das markierte gestartet
| Zitat: |
| 4. Schalte Multiselect in deiner Liste ab. Das braucht es nicht. Am besten sollte man nur einen Eintrag markieren können. |
doch das braucht es, damit man was aus der playliste löschen kann
| Zitat: |
| 5. Wenn man die Lautstärke verstellt (mit gedrückter Maustaste) und bei Maximum oder Minimum angekommen ist und die gedrückte Maus weiter nach links oder rechts zieht, dann kommt man in den Verschiebe-Modus. Ist ein bischen unpraktisch. |
stimmt, ich werde die länge der trackbars etwas kürzen
| Zitat: |
6. Etwas, dass ich sehr schätze, und bisher leider nur WinAmp kann:
Wenn ich shuffle aktiviert habe und auf next klicke, wird zufällig ein anderer Song ausgewählt. Wenn nun aber wieder auch zurück klicke, wird wieder ein zufälliger Song ausgewählt. Toll wäre es, wenn dann der vorherige Titel wieder gespielt wird. (Ist aber nicht unbedingt notwending, schließlich sollten ja die 41kB erhalten bleiben) |
es wäre auch schön wenn jeder titel nur einmal gespielt wird...
Larus - So 27.02.05 23:27
"unknown software exception" (0xc0000fd) ist in der Anwendung an der Stelle 0x77d185aa aufgetreten..
Wieso das??? und meimste du könntest auch noch ne Ordentliche Crossfade funktion einbauen?
Und noch ein weiterer Bug... Ich habe es geschafft ohne den oben genannten Fehler ein Lied abzuspielen... Nur hab ich Nightwish ausgewählt und habe stattdessen Papa Roach bekommen (Punkt unter Nightwish in Liste)
retnyg - So 27.02.05 23:30
| Larus hat folgendes geschrieben: |
| "unknown software exception" (0xc0000fd) ist in der Anwendung an der Stelle 0x77d185aa aufgetreten.. |
wäre sehr hilfreich wenn du noch dazusagen würdest wann das aufgetreten ist
| Zitat: |
| und meimste du könntest auch noch ne Ordentliche Crossfade funktion einbauen? |
crossfade ? du meinst dass die lautstärke gegen ende des liedes abnimmt und bei einem neuen von null langsam reinfadet ?
Larus - So 27.02.05 23:32
aufgetreten ist der Fehler als ich auf den Playbutton gedrückt hab
Nein.. Crossfade wie bei Mediaplayer 10... Lied eins läuft noch 10 sek.. während es Leiser wird und gleichzeitig wird Lied 2 eingeblendet.. erst leise dann lauter werdend
Delete - Mo 28.02.05 11:31
| retnyg hat folgendes geschrieben: |
| crossfade ? du meinst dass die lautstärke gegen ende des liedes abnimmt und bei einem neuen von null langsam reinfadet ? |
das wäre aber auch nicht schlecht :wink:
und wo bleibt die suchfunktion 8)
Larus - Mo 28.02.05 16:13
Jetzt geben wir ma ein paar Ideen.... Was wäre mit einem Equializer oder einem extra Regler zum verändern der Wiedergabe geschwindigkeit??? :lol:
patrick - Mo 28.02.05 22:40
wow, super teil, aber was die größe angeht glaub ich das man mit C# (bzw .NET) noch kleiner bekommen würde.
aber für delphi: absolut TOP!!!!! *weitermusikhör*
retnyg - Mo 28.02.05 23:09
danke, zur abwechslung mal ein lob das hör ich gerne... :twisted:
die nächsten tage kommt mal wieder ein update da scheinbar bei manchen usern pro dazukommenden playlist-eintrag die numerierung der mp3-ordner im popupmenu um eines nach unten verschoben wird.
irgendwie strange, denn bei den meisten tritt das nicht auf.
dass man mit c# kleine programme machen kann ist mir neu, lasse mich aber gerne vom gegenteil überzeugen (obwohl ich nicht soooo auf .net steh)
patrick - Di 01.03.05 10:25
| retnyg hat folgendes geschrieben: |
danke, zur abwechslung mal ein lob das hör ich gerne... :twisted:
|
tja, das lob kommt ja auch von miiiiiirrrrr :tongue:
| retnyg hat folgendes geschrieben: |
| dass man mit c# kleine programme machen kann ist mir neu, lasse mich aber gerne vom gegenteil überzeugen (obwohl ich nicht soooo auf .net steh) |
ich war eigendlich auch kein .net-fan (ehr sogar das gegenteil) aber seitdem ich mich intensiver mit der struktur auseinandergesetzt jab, bin davon (in zusammenhang mit C#) hellauf begeistert.
mit C# kann man sehr kleine programme machen. ein programm mit ca 1000zeilen code und mittelmäßig großem GUI hat ca. eine größe von 15-20kbyte
retnyg - Do 03.03.05 16:07
kleines update: der bug mit dem verschieben der menüstruktur durch einfügen einer neuen playlist ist behoben
und das handling des shufflemodus verbessert.
http://krazz.net/retnyg/lmp3.htm
retnyg - Do 03.03.05 22:32
sooo...noch eine kleine änderung: beim shuffle-modus werden alle gespielten lieder automatisch markiert, und nur noch die abgespielt die nicht markiert sind. so hört man kein lied 2mal (ausser man will...)
retnyg - Mi 23.03.05 21:18
so, jetzt habe ich euch lange genug warten lassen; ich stelle mal die neue version online, und lüfte hiermit das geheimnis um die in der DP angekündigte funktion ;)
http://krazz.net/retnyg/1337mp3.zip
neue features:
- die geheime funktion: ein Standby-Eintrag kann zur Playliste hinzugefügt werden, wodurch der player beim erreichen desselben einen 15-sekündigen Countdown einleitet, welcher bei 0 den computer in den standbymodus schickt.
so kann man sich abends 2-3 alben in die playlist hängen, hintendran den Standby-Eintrag und sich in die Falle werfen - der Computer schaltet sich dann selber ab, und zwar so dass man am nächsten tag an der gleichen stelle weiterarbeiten kann, ohne alle programme beenden zu müssen.
Den Countdown kann man einfach abbrechen indem man den player beendet.
- ein Stay-On-Top Modus kann im Preferences Menü ( rechtsklick auf die obere playerhälfte) aktiviert werden.
bei einem doppelklick auf die titelbar wird der player zu 10 pixel höhe verkleinert, wodurch man ihn bequem irgendwo plazieren kann und ihn immer im auge hat.
- spezielle VBR-mp3s mit defektem header werden nun richtig abgespielt
JayK - Mi 23.03.05 21:28
Dein Prog heißt "1337 mp3". Kann es eigentlich auch WMA abspielen?
Eigentlich kann ich's mir ja schon denken (ich würde sagen nein, wegen Codec und so...), aber ich frag lieber trotzdem noch mal nach.
retnyg - Mi 23.03.05 21:32
naja, wma ist alles andere als "leet"
technisch ginge es wahrscheinlich, aber implementiert ist es noch nicht. dazu müsste ich noch 2,3 prozeduren umschreiben. kommt vielleicht im nächsten release (ogg wav und evtl wma support)
Delete - Mi 23.03.05 21:59
Geil,
gleich mal testen :D
André
retnyg - Mo 28.03.05 11:54
kann mir mal jemand ein feedback zur standby funktion geben ? bei mir funktioniert das nämlich leider nur manchmal ^^
sollte wissen ob das an meinem system liegt oder ein bug der verwendeten funktion der powrprof.dll ist.
danke
Harry M. - Mo 28.03.05 12:53
vom aufbau her habe ich mal was ähnlich gemacht die buttons sehen genauso aus die posoition und das style der trackbar und die für das volume und die position im lied haben ebenfalls den gleichen platz bei mir nur die farbe ist etwas anders. kann das vielleicht an winamp liegen??? nur meiner schaltet den rechner dann aus (nach dem film kucken) man muß dann nicht nochmal aus dem bett krichen *g
retnyg - Mo 28.03.05 19:22
:shock: schön, genau aus diesem grund habe ich meinem player die funktion auch spendiert. nun sollte ich noch wissen ob sie bei euch funktioniert
retnyg - Do 21.04.05 01:34
da hier im forum öfters nach dem TMediaPlayer gefragt wird, poste ich hier mal die VCL-source der ersten Version des players...
Hamster - Fr 22.04.05 17:16
retnyg hat folgendes geschrieben: |
| das heisst soviel wie elite |
Naja, 31337 is Elite :D
1337 is "nur" Leet :D
Der Player is geil .. danke :D
Aber, mir fehlt ne wichtige Funktion.
Ich will (ja ich will :D) das ich auf Knopfdruck mein ganzes "Musikverzeichniss" (Musik:/) einlesen kann.
Hab viele MP3´s und da will ich net extra immer jedes Album hinzufügen!
retnyg - Sa 23.04.05 12:33
Hamster hat folgendes geschrieben: |
Ich will (ja ich will :D) das ich auf Knopfdruck mein ganzes "Musikverzeichniss" (Musik:/) einlesen kann.
Hab viele MP3´s und da will ich net extra immer jedes Album hinzufügen! |
werde nächste woche mal sehen, was sich machen lässt...
Hamster - So 24.04.05 10:26
Und noch als kleiner Vorschlag: Wie wäre es, wenn man in eine neue Version die Funktion einbauen würde, das man sein aktuell Fespieltes Musikstück ins Netz überträgt. dabei denke ich entweda an: 1) FTP-Funktion oder 2) Upload auf nen Portal. (-> m-spy.de | oder fragst da nach, ob man deinen Player mit aufnehmen könnte :) )
Heiko - So 24.04.05 15:05
Das Programm scheint mir bisher nicht schlecht zu sein, für den Anfang, da sich bei dort nicht die Medienseite öffnet wie beim Windows-Media-Player. Nur eine bisher nicht ungennate Kritik habe ich doch noch. Mich stört es, dass dein Programm immer im Vordergrund ist, da es sich schlecht mit Trillian schreibt, wenn der Player darüberliegt, und man nicht erst den Player minimieren will.
JayK - So 24.04.05 16:05
So, ich hab auch mal wieder hierhergefunden.
retnyg hat folgendes geschrieben: |
| naja, wma ist alles andere als "leet" |
Was ist an wma nicht "leet"? Es ist von der Komprimierung her besser als mp3, von Klangqualität weiß ich nicht, denn ich hab nur wma-s.
retnyg - So 24.04.05 22:19
Hamster hat folgendes geschrieben: |
| Und noch als kleiner Vorschlag: Wie wäre es, wenn man in eine neue Version die Funktion einbauen würde, das man sein aktuell Fespieltes Musikstück ins Netz überträgt. dabei denke ich entweda an: 1) FTP-Funktion oder 2) Upload auf nen Portal. (-> m-spy.de | oder fragst da nach, ob man deinen Player mit aufnehmen könnte :) ) |
meinst du damit, dass der titel des aktuellen liedes ins internet übertragen wird, oder gleich das ganze file ge-uploadet ?
Heiko hat folgendes geschrieben: |
| Mich stört es, dass dein Programm immer im Vordergrund ist, da es sich schlecht mit Trillian schreibt, wenn der Player darüberliegt, und man nicht erst den Player minimieren will. |
trillian ? kenn ich nicht. aber wenn du mit der rechten maustaste in den oberen playerbereich klickst, musst du nur unter preferences den stay on top modus deaktivieren. dass man den player durch doppelklick auf die titelleiste zu einer 10 pixel schmalen leiste verkleinert hast du schon entdeckt ?
JayK hat folgendes geschrieben: |
So, ich hab auch mal wieder hierhergefunden.
retnyg hat folgendes geschrieben: | | naja, wma ist alles andere als "leet" |
Was ist an wma nicht "leet"? Es ist von der Komprimierung her besser als mp3, von Klangqualität weiß ich nicht, denn ich hab nur wma-s. |
nunja, formate, die freies kopieren nicht ermöglichen, finde ich nicht besonders leet... DRM ? nein danke ;)
Heiko - Mo 25.04.05 06:36
retnyg hat folgendes geschrieben: |
trillian ? kenn ich nicht. aber wenn du mit der rechten maustaste in den oberen playerbereich klickst, musst du nur unter preferences den stay on top modus deaktivieren. dass man den player durch doppelklick auf die titelleiste zu einer 10 pixel schmalen leiste verkleinert hast du schon entdeckt ? |
Das hatte ich noch nicht entdeckt, trotzdem würde ich es besser finden wenn sich das Programm nicht immer in den Vordergrund drängen würde.
Trillian ist fast das gleiche wie Miranda, nur eben Close-Source anstatt Open-Source. In diesen Programmen ist ICQ, MSN, YAHOO, AIM und IRC in einem vereint.
Hamster - Di 26.04.05 23:26
Nein, nur der Titel soll übertragen werden :D
Heiko - Fr 03.06.05 15:52
So ich habe gerade noch einen Bug in deinem Programm gefunden. Wenn man z.B. auf den Minimieren-Button drückt und während man die Maus gedrückt hat diese von dem Button wegbewegt bleibt der Button oben, geht also nicht in seinen Ausgangszustand zurück, auch wenn man dann die Maus loslässt.
Und noch ein Verbesserungsvorschlag. Kannst du bei Playlist auch so machen, das man bei Playlist auch Einträge wieder löschen kann, bzw. den Pfad erneut durchsuchen lassen?
retnyg - Fr 03.06.05 20:12
Heiko hat folgendes geschrieben: |
| So ich habe gerade noch einen Bug in deinem Programm gefunden. Wenn man z.B. auf den Minimieren-Button drückt und während man die Maus gedrückt hat diese von dem Button wegbewegt bleibt der Button oben, geht also nicht in seinen Ausgangszustand zurück, auch wenn man dann die Maus loslässt. |
habe eben mal wieder die aktuelle version hochgeladen. es wurden die bugs bzgl. übergebene parameter (paramstr) behoben. nun kann nur eine instanz aktiv sein, wird eine weitere gestartet so werden die params an instanz 1 weitergeleitet, was eine integration in den explorer ermöglicht.
schau bitte mal ob der von dir erwähnte bug immer noch auftritt.
Heiko hat folgendes geschrieben: |
| Und noch ein Verbesserungsvorschlag. Kannst du bei Playlist auch so machen, das man bei Playlist auch Einträge wieder löschen kann, bzw. den Pfad erneut durchsuchen lassen? |
aus der playlist kann man etwas löschen, wenn man mit den cursortasten und der ENTF-taste vorgeht.
wie meinst du das mit pfad erneut durchsuchen lassen ?
Amiga-Fan - Fr 03.06.05 20:54
ich hatte es gerade erst runtergeladen, dann hast du eine neue version geuppt :)
wenn man das programm das 2. mal startet, kommt bei mir eine exception (winxp prof grundversion).
Gutes Programm
Heiko - Sa 04.06.05 10:16
So ich habe heute mal deine neue Version ausprobiert. Der Bug mit den Buttons oben ist immer noch. Des weiteren muss ich Amiga-Fan recht geben (WinXP+SP2 Home). Und das mit dem Cursor und der Entf.-Taste funzt bei mir nit.
Das mit dem Pfad erneut zu durchsuchen hat einen Hintergrund. Wenn ich in meinen Musikordner neue Musik reinkopiere möchte ich die in den Player integrieren. Da er das nicht automatisch macht, habe ich ne neue Location angegeben, obwohl die schon existiert als Location. Danach habe ich aber bei Playlist die Location 2x stehen.
Markus254 - Fr 17.06.05 21:36
Titel: FRAGE
Ich finde das Prog sehr gut, ich habe nur eine Frage:
Ich proge ein Programm mit Trackbar und wollte dich fragen, woher du deine Trackbarkomponeten hast ?
Währe sehr dankbar für ein paar Antworten :lol:
retnyg - Fr 17.06.05 22:12
Titel: Re: FRAGE
Markus254 hat folgendes geschrieben: |
Ich finde das Prog sehr gut, ich habe nur eine Frage:
Ich proge ein Programm mit Trackbar und wollte dich fragen, woher du deine Trackbarkomponeten hast ?
Währe sehr dankbar für ein paar Antworten :lol: |
die trackbar-kompo habe ich von thaddy de koning, einem KOL-Guru. Ich habe sie nur etwas erweitert, dass sie sich das Hintergrundsbild aus dem Canvas des Parents kopiert (was insofern problematisch, dass zuerst das Hintergrundsbild sichtbar sei muss, BEVOR die kompo erstellt wird).
| democtrl.pas hat folgendes geschrieben: |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190:
| unit democtrl;
interface uses windows, messages, kol;
type PTrackerData = ^TTrackerData; TTrackerData = object(TOBj) private FMaxValue:integer; FXpos:Integer; Fowner:Pcontrol; FBkGnd:PBitmap; procedure PaintBackGround; procedure PaintTracker(sender:PControl;DC:HDC); protected procedure SetXPos(value: integer); destructor Destroy;virtual; public property Pos: Integer read FXPos write SetXPos; end;
function NewTracker(aOwner:PControl;EdgeStyle:TEdgeStyle;ThumbColor,FieldColor:Tcolor;t,l,h,w,startpos:integer;MaxValue:integer = 100):PControl;
implementation var vorschub: byte = 0; function WndProcTracker( Sender: PControl; var Msg: TMsg; var Rslt: Integer ): Boolean; begin Result:=false; case msg.message of WM_SIZE: begin PTrackerdata(sender.CustomObj).FBkGnd.Width:=sender.Clientwidth; PTrackerdata(sender.CustomObj).FBkGnd.Height:=sender.ClientHeight; PTrackerdata(sender.CustomObj).PaintBackground; sender.Invalidate; end; WM_MOUSEMOVE: if Boolean (msg.wparam and MK_LBUTTON) then begin PTrackerdata(sender.CustomObj).FXpos:=Min(Max(LOWORD(msg.lParam),vorschub),sender.Clientwidth-vorschub); sender.Invalidate; if Assigned(sender.OnChange) then sender.OnChange(sender); result:=true; end; WM_LBUTTONDOWN: if Boolean (msg.wparam and MK_LBUTTON) then begin PTrackerdata(sender.CustomObj).FXpos:=Min(Max(LOWORD(msg.lParam),vorschub),sender.Clientwidth-vorschub); sender.Invalidate; if Assigned(sender.OnChange) then sender.OnChange(sender); result:=true; end; else Result:=False; end; end;
function NewTracker(aOwner:PControl;EdgeStyle:TEdgeStyle;ThumbColor,FieldColor:Tcolor;t,l,h,w,startpos:integer;MaxValue:integer = 100):PControl; var data:PTrackerData; srcRect: TRect; begin Result:=NewPanel(aOwner,EdgeStyle).setsize(100,20); New(Data,Create); Result.CustomObj:=Data; Data.Fowner:=Result; Result.Color1:=ThumbColor; Result.Color2:=FieldColor; Data.FMaxValue:=MaxValue; Data.FBkGnd:=NewBitmap(w,h); result.height := h; result.Width := w; result.Top := t; result.left := l;
srcRect.left := l; srcRect.top := t; srcRect.Right := l+w; srcRect.Bottom := t+h; Data.FbkGnd.canvas.CopyRect(Data.FbkGnd.BoundsRect,aOwner.Canvas, srcRect); Data.FbkGnd.canvas.Pen.Penwidth:=1; Data.FbkGnd.canvas.Pen.color:=FieldColor; Data.FbkGnd.canvas.moveto(0,(h div 2)); Data.FbkGnd.canvas.LineTo(w,(h div 2));
Data.FXpos:=(startpos * 10) div (MaxValue * 10 div w); Result.tag:=0; Result.AttachProc(WndprocTracker); Result.OnPaint:=data.PaintTracker; end;
procedure TTrackerdata.SetXPos(Value: integer); begin FXPos := Value; end;
destructor TTrackerData.Destroy; begin if Assigned(FOwner) and FOwner.IsprocAttached(WndProcTracker) then Fowner.DetachProc(WndProcTracker); FBkGnd.Free; inherited; end;
procedure TTrackerData.PaintBackGround; begin if assigned(FBkGnd) then begin
end; end;
procedure TTrackerData.PaintTracker(sender: PControl; DC: HDC); var T:integer; begin FBkGnd.Draw(dc,0,0); with PTrackerdata(sender.CustomObj)^ do begin sender.canvas.Pen.Penwidth:=3; sender.canvas.Pen.color:=Fowner.color1; sender.canvas.moveto(FXpos,3); sender.canvas.LineTo(FXPos,sender.Clientheight-3); T:=(FXpos - vorschub) * FMaxValue div (sender.clientwidth - vorschub * 2); sender.tag:=T;
end; end;
end. |
|
TomZ - Sa 09.07.05 15:29
Titel: Re: FRAGE
Erstmal: Supertoller Player!
Ich hab da mal 'ne Frage: Wie bekommt man die Abpiellänge von MP3-Dateien heraus??
Heiko - Sa 09.07.05 15:36
Aso retnyg, kannst du die Titelreihenfolge vlt. in Abhängigkeit der Titelnummer (aus ID3-Tag) machen?
@TomZ: Musst du aus dem ID3-Tag-Berechnen, oder du lädst es in die Kompo TMediaPlayer und der gibt dir die aus.
retnyg - Sa 09.07.05 15:47
Titel: Re: FRAGE
TomZ hat folgendes geschrieben: |
| Erstmal: Supertoller Player! |
danke :D
TomZ hat folgendes geschrieben: |
| Ich hab da mal 'ne Frage: Wie bekommt man die Abpiellänge von MP3-Dateien heraus?? |
wenn du das mit dem Tmediaplayer machen willst, einfach das lied laden und length abfragen. das gibt die spieldauer in ms
Heiko hat folgendes geschrieben: |
| Aso retnyg, kannst du die Titelreihenfolge vlt. in Abhängigkeit der Titelnummer (aus ID3-Tag) machen? |
id3 ist nicht implementiert, da es die exe um einiges aufblähen würde und ich eher ein fan von sprechenden dateinamen bin
Heiko - Sa 09.07.05 15:52
Titel: Re: FRAGE
retnyg hat folgendes geschrieben: |
und ich eher ein fan von sprechenden dateinamen bin  |
:rofl: , seit wann sprechen Dateinamen :tongue: . Bei mir beinhalten die Dateinamen den Titelnamen und nicht die Nummer, da ich es nicht mag wenn die Dateinamen immer mit Zahlen anfangen ;).
Prof. Dachs - So 10.07.05 13:24
Ich hab den Player noch nicht getestet, aber seit ich
foobar [
http://foobar2000.org] habe, möchte ich nicht mehr ohne globale Tastenkürzel für Lautstärke, Lieder weiterschalten usw. musik hören. Sowas solltest du noch einbauen.
Tilman - Mo 11.07.05 14:42
Zu dem Start-Posting: Du solltest vielleicht Pixelmaßen schreiben, Pixelmassen klingt ein bisschen doppeldeutig... vielleicht bist du schweizer, dann nehme ich alles zurück! :D
retnyg - Mo 11.07.05 16:11
Tilman hat folgendes geschrieben: |
| Zu dem Start-Posting: Du solltest vielleicht Pixelmaßen schreiben, Pixelmassen klingt ein bisschen doppeldeutig... vielleicht bist du schweizer, dann nehme ich alles zurück! :D |
die schweiz ist nicht weit weg von hier, und ich schreibe grundsätzlich alles mit doppel-s (neue deutsche
retschreibung)
retnyg - Mi 02.11.05 00:04
Titel: - neue version -
so, nach langer bastelei möchte ich die neue version präsentieren.
diese version ist von grund auf neugeschrieben, und verwendet nun nicht mehr die mediaplayer komponente, sonder den windows acm codec. dadurch bin ich in der zukunft auch in der lage, mp3 streams abzuspielen.
http://krazz.net/retnyg/leetmp3.zip
die neue version hat einen mini-modus, und einen gross-modus.
im minimodus ist die leiste sehr schmal und bleibt immer im vordergrund.
am besten schiebt man die leiste ganz nach oben über die titelleiste der anderen fenster.
fährt man mit der maus über die minileiste, klappt der player aus.
er verwendet nun ein treeview, in dem man einträge hin und herschieben kann.
man kann dateien und ordner per drag und drop herziehen, oder unten in der combobox den ordnernamen eintippen und enter drücken.
die combobox dient gleichzeitig der verwaltung der playlisten.
diese version ist noch eine beta, folgende funktionen fehlen noch
- internet streams anhören und rippen
- kommandozeilen parameter
- nur eine instanz offen
- config-file für farbwerte
viel spass damit, retnyg
Delete - Mi 02.11.05 00:15
Hallo,
schön, dass es eine neue Version gibt. Ich werde die gleich mal testen.
André
P.S. wolltest du mir die Version nicht schon vorher geben? ;-)
retnyg - Mi 02.11.05 17:20
MagicAndre1981 hat folgendes geschrieben: |
| P.S. wolltest du mir die Version nicht schon vorher geben? ;-) |
was halbfertiges will ich ned rausrücken, drum hab ichs gleich hier für alle freigegeben ;)
MagicAndre1981 hat folgendes geschrieben: |
| schön, dass es eine neue Version gibt. Ich werde die gleich mal testen. |
und, wie gefällt sie dir ?
Heiko - Mi 02.11.05 17:26
mhm, ich komme mit der überhaupzt nicht klar. Ich schaffe es nicht mal überhaupt irgendeine Musikdatei abzuspielen. Zu mindestens finde ich keine Stelle, wo man die einfügen kann ;). Bei dem Button "..." schließt er nur das Programm, nicht mehr.
retnyg - Mi 02.11.05 17:34
Heiko hat folgendes geschrieben: |
| mhm, ich komme mit der überhaupzt nicht klar. Ich schaffe es nicht mal überhaupt irgendeine Musikdatei abzuspielen. Zu mindestens finde ich keine Stelle, wo man die einfügen kann ;). |
einfach mit drag und drop auf der titelleiste fallen lassen, oder bei der combobox den ordnernamen eintippen und enter drücken
Heiko hat folgendes geschrieben: |
| Bei dem Button "..." schließt er nur das Programm, nicht mehr. |
eigentlich sollte er dir da auf die combobox schreiben, dass du dort den pfad eintippen sollst...
Delete - Mi 02.11.05 17:37
| Zitat: |
cool people type their pathz [here] |
Und noch coolere Programmierer implementieren einen "Ordner öffnen" Dialog, so fern sie dass den können. ;)
| Zitat: |
if u want the form stays open,
|
Und wenn schon Englisch dann bitte auch korrektes Englisch:
| Zitat: |
If you want the form to stay open, ... |
Tooltips für die Schaltflächen wären nicht schlecht oder beschrifte zu mindest die beiden grauen Striche unter der Titelanzeige.
Dieses automatische Mini-Modus finde ich etwas nervig, wenn man mit dem Programm arbeitet und mal die Maus beiseite schiebt, um den Mauszeiger aus dem Weg zu haben, wenn man was lesen will.
Man kann mit TAB nicht durch die Kontrollelemente "steppen".
Es taucht nicht in der Taskleiste auf, so dass man es nicht mit ALT+TAB erreichen kann. Da ich viel mit der Tastatur arbeite, empfinde ich das als etwas störend.
mach das Feld zum Titelanzeigen so breit wie das ganze Fenster und du sparst dir das Scrollen des Textes.
Delete - Mi 02.11.05 17:58
retnyg hat folgendes geschrieben: |
| und, wie gefällt sie dir ? |
gar nicht mal so schlecht. Der Speicher- und Lautstärke-Bug der alten Version ist weg.
Das Hinzufügen der Lieder geht auch saufix :-)
retnyg - Mi 02.11.05 18:59
Luckie hat folgendes geschrieben: |
| Zitat: |
cool people type their pathz [here] |
Und noch coolere Programmierer implementieren einen "Ordner öffnen" Dialog, so fern sie dass den können. ;) |
können schon, aber das programm soll ja schlank bleiben.
ausserdem nerven mich diese dialoge in anderen programmen meistens. so wird der user hingewiesen, dass er den pfad auch eintippen kann
Luckie hat folgendes geschrieben: |
Und wenn schon Englisch dann bitte auch korrektes Englisch: |
dein wille geschah
Luckie hat folgendes geschrieben: |
| Tooltips für die Schaltflächen wären nicht schlecht oder beschrifte zu mindest die beiden grauen Striche unter der Titelanzeige. |
meinst du damit die zeitleiste und den lautstärkeregler ?
Luckie hat folgendes geschrieben: |
| Dieses automatische Mini-Modus finde ich etwas nervig, wenn man mit dem Programm arbeitet und mal die Maus beiseite schiebt, um den Mauszeiger aus dem Weg zu haben, wenn man was lesen will. |
ich werde das so machen dass die form nur minimiert wenn man rechts oder links rausfährt. wenn man ganz oben oder unten ist, bleibt das formular gross
Luckie hat folgendes geschrieben: |
| Man kann mit TAB nicht durch die Kontrollelemente "steppen". |
in der final gibts dann shortcuts für jede funktion
Luckie hat folgendes geschrieben: |
| Es taucht nicht in der Taskleiste auf, so dass man es nicht mit ALT+TAB erreichen kann. Da ich viel mit der Tastatur arbeite, empfinde ich das als etwas störend. |
dafür bleibt der player per stayontop immer in deiner griffnähe. es sollte also nicht nötig sein mit den tasks rumzujonglieren.
ich kann aber ne funktion einbauen dass man dieses verhalten wahlweise aktivieren kann.
Luckie hat folgendes geschrieben: |
| mach das Feld zum Titelanzeigen so breit wie das ganze Fenster und du sparst dir das Scrollen des Textes. |
gefällt dir das scrollen des titels nicht ? :mrgreen:
ahja btw ich hab grad den aktuellen build geuppt: neu mit suchfunktion
Moderiert von
UGrohne: Quote-Tags korrigiert.
Delete - Do 03.11.05 14:55
retnyg hat folgendes geschrieben: |
Luckie hat folgendes geschrieben: | | Zitat: |
cool people type their pathz [here] |
Und noch coolere Programmierer implementieren einen "Ordner öffnen" Dialog, so fern sie dass den können. ;) |
können schon, aber das programm soll ja schlank bleiben.
ausserdem nerven mich diese dialoge in anderen programmen meistens. so wird der user hingewiesen, dass er den pfad auch eintippen kann
|
Als dieser eine Dialog macht das Programm auch nicht viel größer, erleichter aber die Bedienbarkeit ungemein. Mit einen Dialog habe ich den entsprechendne Pfad schneller ausgewählt, als ich ihn getippt habe, wenn die MP3s in in der dritten oder vierten Verzeichnisebene liegen. Hinzukommt, dass ich nicht überlegen muss, wie ich den Ordner jetzt benannt habe und ich habe nicht die Möglichkeit etwas in den Ordnern zu schmökern, um mir dann den auszusuchen dessen MP3s ich hören will.
Und wenn du den Player auf einem fremden Rechner benutzt, dann darfst du erst mit dem Explorer deine MP3 suchen, um dann den Pfad bei dir einzutippen.
| Zitat: |
Luckie hat folgendes geschrieben: | | Tooltips für die Schaltflächen wären nicht schlecht oder beschrifte zu mindest die beiden grauen Striche unter der Titelanzeige. | meinst du damit die zeitleiste und den lautstärkeregler ?
|
Siehst du, wären sie beschriftet, wüßtest du jetzt wo von ich rede, bzw. hätten wir das Thema erst gar nicht. ;) Aber genau die meine ich.
| Zitat: |
Luckie hat folgendes geschrieben: | | Dieses automatische Mini-Modus finde ich etwas nervig, wenn man mit dem Programm arbeitet und mal die Maus beiseite schiebt, um den Mauszeiger aus dem Weg zu haben, wenn man was lesen will. |
ich werde das so machen dass die form nur minimiert wenn man rechts oder links rausfährt. wenn man ganz oben oder unten ist, bleibt das formular gross
Luckie hat folgendes geschrieben: | | Man kann mit TAB nicht durch die Kontrollelemente "steppen". |
in der final gibts dann shortcuts für jede funktion
|
Genau da habe ich die Maus ja hingeschoben. Mach eine Schaltfläche die das Fenster minimiert, dann kann der Benutzer entscheiden, wann, wie und ob er es minimieren will.
| Zitat: |
Luckie hat folgendes geschrieben: | | mach das Feld zum Titelanzeigen so breit wie das ganze Fenster und du sparst dir das Scrollen des Textes. |
gefällt dir das scrollen des titels nicht ? :mrgreen:
|
Ich finde es lenkt einfach ab, wenn man ständig eine Bewegung auf dem Monitor hat, da man aber das Programm nicht minimieren kann, in die TNA zum Beispiel, hat meine keine Chanc dem zu entkommen. Zu dem finde ich das Design sehr hässlich.
Heiko - Do 03.11.05 18:31
Ich kann mich auch nur anschließen. Das sind unter anderem auch die Gründe warum ich bei der alten Version bleibe. Die Größe und das Design vom altem Player war ganz OK. Ich hätte eher gedacht, dass die neue Version eine weiterentwicklung der alten ist und nicht eine scheinbare komplette neuentwicklung. Die meisten der neuen funktionen, die du eingebaut hast, finde ich vollkommen in Ordnung, aber nicht bei der Oberfläche ;).
retnyg - Fr 04.11.05 23:21
Lucky hat folgendes geschrieben: |
| Dieses automatische Mini-Modus finde ich etwas nervig, wenn man mit dem Programm arbeitet und mal die Maus beiseite schiebt, um den Mauszeiger aus dem Weg zu haben, wenn man was lesen will. |
ich hab das mal nun so geändert, dass der mini-modus nur aktiviert wird, wenn man mit der maus 100 pixel seitlich weg ist. hoffe so gefällt es euch nun (ich finds auch praktischer :mrgreen:)
Delete - Mo 14.11.05 17:30
Hi,
ich hätte eine neue Idee für den Player. Kannst du es einbauen dass dein Player rechts am Bildschirm andockt und sich ausblendet, wenn man mit der Maus weiterweg geht?
André
F34r0fTh3D4rk - Mo 14.11.05 17:41
den code fürs andocken kannst du von mir haben, die monitor größenabfrage bekommst du sicher besser hin, aber es funzt mit und ohne taskleiste, auf mehreren screens:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78:
| private procedure WMWINDOWPOSCHANGING (Var Msg: TWMWINDOWPOSCHANGING); message WM_WINDOWPOSCHANGING;
var Docked: Boolean = false;
function GetDesktopRect: TRect; var hdc : Thandle; begin hdc := FindWindow('ProgMan', nil); if hdc <> 0 then GetWindowRect(hdc, result); end;
function GetTaskbarRect: TRect; var hdc : Thandle; begin hdc := FindWindow('Shell_TrayWnd', nil); if hdc <> 0 then GetWindowRect(hdc, result); end;
procedure TMainForm.WMWINDOWPOSCHANGING(var Msg: TWMWINDOWPOSCHANGING); var rWorkArea, Taskbar: TRect; StickAt : Word; begin StickAt := 20; rWorkArea := GetDesktopRect; Taskbar := GetTaskbarRect; with Msg.WindowPos^ do begin if x <= StickAt then begin x := rWorkArea.Left; Docked := true; end; if x + cx >= rWorkArea.Right - StickAt then begin x := rWorkArea.Right - cx; Docked := true; end; if y <= rWorkArea.Top + StickAt then begin y := rWorkArea.Top; Docked := true; end; if x > Taskbar.Right then if y + cy >= rWorkArea.Bottom - StickAt then begin y := rWorkArea.Bottom - cy; Docked := true; end; if x < Taskbar.Right then if y + cy >= rWorkArea.Bottom - (Taskbar.Bottom - Taskbar.Top) - StickAt then begin y := rWorkArea.Bottom - (Taskbar.Bottom - Taskbar.Top) - cy; Docked := true; end; if Docked then begin with rWorkArea do begin if x < Left then x := Left; if x + cx > Right then x := Right - cx; if y < Top then y := Top; if y + cy > Bottom then y := Bottom - cy; end; end; end; inherited; end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!