Autor Beitrag
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 16.08.05 17:53 
Hallo, die erste Lauffähige Version meines MP3 Players ist fertig.

Ich stelle ihn jetzt schon hier rein, um Ideen zu sammeln, die dann im Final Release implementiert werden sollen.

Einige Sachen passen mir nicht, zb dass man in die settings kommt, indem man mit rechts auf die playlist klickt und dann auf einstellungen geht, eine andere lösung ist mir bisher nicht einfallen, da das design möglichst schlicht bleiben sollte.

Ein weiteres Problem bereiten die Speedbuttons, die manchmal aussehen als wäre "mousover" was aber nicht der fall ist, naja viel spass beim testen, ich finds bis jetzt schonmal recht gut gelungen.
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von F34r0fTh3D4rk am Di 05.02.08 20:29, insgesamt 5-mal bearbeitet
Ironwulf
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 733
Erhaltene Danke: 2



BeitragVerfasst: Di 16.08.05 18:45 
sieht bis jetz ganz hübsch aus
nur was mich stört ist wenn ich ein lied rein mach is das label zu klein, wo drin steht wie der interpret ist und wie das lied heißt, wenn ich dann die form größer zieh, ist stehts auch nicht komplett drin, das wars eigentlich was mir nich so gefällt sonst recht gut gelungen, und sehr schlicht gehalten, vllt noch bei einstellungen nen abbrechen button, aber muss nich sein

Edit:
Das bei jedem start die form kommt was du noch machen willst stört irgendwie...
sango
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 236

WinXP Home
Delphi 2005 Pro
BeitragVerfasst: Di 16.08.05 19:10 
hmm noch einer...

so ich hab den auch mal getestet, und da ist auch gleich ein problem aufgetreten, das solltest du dringend beheben, und zwar wenn man wie ich, den luxus eines doppelbildschirms hat, kann man nicht die form aufn 2. bildschirm ziehen.

_________________
Never read the Off-Topic
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 16.08.05 19:18 
user profile iconIronwulf hat folgendes geschrieben:

Edit:
Das bei jedem start die form kommt was du noch machen willst stört irgendwie...


das ist absicht ;) und in der nächsten version nicht mehr der fall (s.u.)

das ok und abbrechen kommt noch, das wird zusammen mit der speicherfunktion implementiert.

user profile iconsango hat folgendes geschrieben:
so ich hab den auch mal getestet, und da ist auch gleich ein problem aufgetreten, das solltest du dringend beheben, und zwar wenn man wie ich, den luxus eines doppelbildschirms hat, kann man nicht die form aufn 2. bildschirm ziehen.

dockt denn das formular beim ersten bildschirm am rand an ?
das kann sein, weil ich das glaube ich mit screen.width gemacht habe, vielleicht gibt's sowas wie desktop.width ? weiß da jemand was ?

user profile iconIronwulf hat folgendes geschrieben:

sieht bis jetz ganz hübsch aus
nur was mich stört ist wenn ich ein lied rein mach is das label zu klein, wo drin steht wie der interpret ist und wie das lied heißt, wenn ich dann die form größer zieh, ist stehts auch nicht komplett drin, ...

das ist ne listbox, ich kann die maximale formulargröße erhöhen, das wollte ich sowieso machen, aber ich finde die schrift schon recht schmal. wollte zuerst den hint dafür nutzen, dass der titel angezeigt wird, dann hab ich den dateinamen genommen, vielleicht mach ich das ja einstellbar bzw stell das ganz um :wink:

Version 0.5

- Einige Bugfixes
- Max. Formgröße erhöht, anchors verbessert.

ToDo

- BUG: TrayIconHint ändert sich nicht, wenn ein anderes Lied gespielt wird.

- Playlist Support (sollte schnell gehen denke ich)

- Ich hoffe einen m3u playlist support hinzubekommen, wäre jedenfalls net schlecht.

- Einstellungen, sowie größe und position des formulars, akutelle playlist etc sollen gespeichert werden.

- falls jemand rat weiß, das muss noch dringend behoben werden:
[und ich hab keinen Plan wie ;) ]

- Die Shape kanten flackern beim skalieren und beim bewegen des formulares.

- skalieren ruckelt stark. (je größer das formular wird, desto mehr)

- die sache mit dem trayicon hint.

- m3u


Zuletzt bearbeitet von F34r0fTh3D4rk am Sa 03.09.05 20:26, insgesamt 1-mal bearbeitet
sango
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 236

WinXP Home
Delphi 2005 Pro
BeitragVerfasst: Di 16.08.05 19:53 
sowas sollte es schon geben, wie desktop witdh. bzw du kannst auch schauen ob die maus z.b. 100 pixel weiter geht, obwohl schon andockt.

aber desktop.width sollte gehen.

_________________
Never read the Off-Topic
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 16.08.05 19:56 
desktop.width ansich gibts net, aber ich könnte ja zb die breite der taskleiste oder des hintergrundbildes abfragen, aber das ist mir zu dirty, vielleicht vom explorer an sich, mal testen :lol:

probier mal aus, ob da bei dir die desktop breite rauskommt:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var
  H: HWnd;
  Rect: TRect;
begin
  H := FindWindow('ProgMan'nil);
  if H <> 0 then
  begin
    GetWindowRect(H, Rect);
    showmessage(inttostr(rect.Right) + '/' + inttostr(rect.Bottom));
  end;
end;

bzw ob das ergebnis anders ist als bei screen.width und screen.height

:wink:
sango
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 236

WinXP Home
Delphi 2005 Pro
BeitragVerfasst: Di 16.08.05 20:17 
user profile iconF34r0fTh3D4rk hat folgendes geschrieben:
desktop.width ansich gibts net, aber ich könnte ja zb die breite der taskleiste oder des hintergrundbildes abfragen, aber das ist mir zu dirty, vielleicht vom explorer an sich, mal testen :lol:

stimmt so nicht, da das hintergrundbild ja auch beiden wiederholt wird, und nicht ein gesamtes darstellt.
dazu endet die taskleiste auch auf dem ersten bildschirm, man kann es so einstellen das es auf beiden zu sehen ist, aber eher unüblich.
dazu kommt, wenn du nun rausfindest das es 2 bildschirme sind, weisst du auch die breite, da der 2. bildschirm nicht die gleiche auflösung haben muss wie der erste.

ich hab jetzt mein screensaver code mit 2. screen unterstüzung jetzt nicht hier, deswegen kann ich dir jetzt nicht sagen wie ich das prüf ob 2 bildschirme da sind.

_________________
Never read the Off-Topic
DarkLord05
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 449

WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
BeitragVerfasst: Di 16.08.05 20:25 
Tach, teste den Player nachher mal ein bissle mehr, aber ich würde noch einfügen das man *.m3u Listen reinpacken kann. Und wenn der so schlicht bleiben soll dann ist das eig. ganz gut. Nur hätte ich die Felder, die anzeigen das man das Programm da "ziehen" kann, etwas kleiner gemacht. Ich meine das Feld ganz oben.


// Edit
Oh, sehe gerade das du das mit der M3U Liste eh vor hast... :roll:


Zuletzt bearbeitet von DarkLord05 am Di 16.08.05 20:28, insgesamt 1-mal bearbeitet
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 16.08.05 20:26 
user profile iconsango hat folgendes geschrieben:
user profile iconF34r0fTh3D4rk hat folgendes geschrieben:
desktop.width ansich gibts net, aber ich könnte ja zb die breite der taskleiste oder des hintergrundbildes abfragen, aber das ist mir zu dirty, vielleicht vom explorer an sich, mal testen :lol:

stimmt so nicht, da das hintergrundbild ja auch beiden wiederholt wird, und nicht ein gesamtes darstellt.
dazu endet die taskleiste auch auf dem ersten bildschirm, man kann es so einstellen das es auf beiden zu sehen ist, aber eher unüblich.
dazu kommt, wenn du nun rausfindest das es 2 bildschirme sind, weisst du auch die breite, da der 2. bildschirm nicht die gleiche auflösung haben muss wie der erste.

ich hab jetzt mein screensaver code mit 2. screen unterstüzung jetzt nicht hier, deswegen kann ich dir jetzt nicht sagen wie ich das prüf ob 2 bildschirme da sind.

und wenns 3 sind :lol:

der code oben mit ProgMan, funzt der ?

@darklord05: könnte ich machen, aber dann weiß man noch net wo man raufklicken muss, ich überleg mir was ;)

edit: grad noch n kleines feature eingebaut: das programm kann nur einmal gestartet werden, wird eine 2, instanz geöffnet, kommt ne showmessage mit:
Zitat:

"Seth MP3 läuft bereits!"
sango
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 236

WinXP Home
Delphi 2005 Pro
BeitragVerfasst: Di 16.08.05 20:36 
also die breite stimmt, nur die höhe nicht, da er die höhe von dem ersten screen nimmt.

3 bildschirme wären fett, hät ich gern. werd ich mir auch holen, nur die grafikkarten, die das unterstützen, kosten schlappe 200-300 euro. okay die zocker unter uns kaufen sich sowas auch, aber ich sehs (noch) nicht ein für ne grafka 300 euro zu zahlen.
aber sollte ich dann mal 3 haben, ich hoffe auf ende des jahres, dann werde ich meinen screensaver auch 3 bildschirmtauglich machen, das ist nämlich garnicht schwer :mrgreen: wenn man selber 3 bildschirme hat. :eyecrazy:

_________________
Never read the Off-Topic
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 16.08.05 20:38 
ich hab einen :lol:

ist klar, dass die höhe nicht stimmt, wenn es 2 verschiedene höhen sind, die abfrage dazwischen wird dann auch schwer, ich kenn mich ehrlich gesagt mit "multimonitoring" überhaupt net aus, weil ich eben nur einen hab und es net testen kann :wink:
sango
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 236

WinXP Home
Delphi 2005 Pro
BeitragVerfasst: Di 16.08.05 20:54 
ist halt eben auch ne platz und geldfrage, hatte auch keine 2 bis ich hier in der firma angefangen hab, seitdem will ich 2 haben, hab hier 19tft + 15tft, dann hatt ich zuhause 2x19crt aber eben das platz problem, als jungeselle war das kein thema, jetzt mit freundin zusammen in einer wohnung bin ich dort auf 1x17tft geschrumpft, hab aber nen 15tft bestellt. und ich will halt nen 2. 15tft dazu, und irgendwann den 17tft durch 19 ersetzten und den 17 meiner freundin geben. das wird rocken. *träum* weil dann meinen screensaver(wenn ich mal dazukomm, mach ich den mal fertig, ein teil fehlt noch, und ne kleine seite dazu, und dann stell ich den hier auch vor, aber bis jetzt bin ich noch zu schüchtern dafür, :oops: noch nie windows software der welt zur verfügung gestellt :oops: )

also normalerweise ist jedes programm multiscreen fähig, nur du benutzt ja diese andockung. welche ja nicht schlecht ist. nur verhindert nur diese die multiscreenfähigkeit, denke ich.

bei screensavern isses halt ätzend, wenn nur ein screen geschont wird. da kannste nen geilen screensaver runterladen, aber dann kannste ihn nicht benutzen weil bringt ja so nix. habs damals mitm matrix screensaver durchmachen müssen.

so ende von OT.

_________________
Never read the Off-Topic
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 16.08.05 21:11 
hab grad nen neuen ansatz:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.Button1Click(Sender: TObject);
var
  rect: Trect;
  monitor: TMonitor;
  x: integer;
begin
  rect := Form1.ClientRect;
  monitor := screen.monitorfromrect(rect);
  x := monitor.Width;
  showmessage(inttostr(x));
end;

ich glaube das x ist dann die breite des monitors auf dem sich das formular zur zeit befindet, bitte mal testen, danke ;)

m3u werde ich so einfach wie möglich machen, d.h. keine tags etc abspeichern, hat den vorteil, dass die dateien klein sind, das erste öffnen dauert dann aber etwas, der wmp funzt da etwas anders, also m3u nach diesem schema:
Zitat:

#EXTM3U
#EXTINF:0,
C:\Dokumente und Einstellungen\USERNAME\Eigene Dateien\Eigene Musik\Iron Maiden\Rock in Rio Disc 1\02 The Wicker Man.mp3

also auch net ..\Eigene Dateien\...
möchte net alszu viel umwandeln müssen ;)
sango
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 236

WinXP Home
Delphi 2005 Pro
BeitragVerfasst: Di 16.08.05 21:18 
bleib doch bei der ersten lösung, die hat doch funktioniert für die breite
weil das hat nicht funktioniert, hat auf beiden bildschirmen 1280 angezeigt, diese breite hab ich aber auf keinen von beidem und sie summe ist das auch nicht.

_________________
Never read the Off-Topic
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Di 16.08.05 21:30 
Mir gefällt das weis nicht :-S
Kannste ja vielleicht die Farbe einstellbar machen (oder hab ich das übersehen?).

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mi 17.08.05 14:46 
hab die idee mit der farbe auch schon gehabt, das müsste ich dann aber auch für jede komponente einzeln machen, dann sollte man aber auch die schriftfarbe verändern können :idea:

user profile iconsango hat folgendes geschrieben:
bleib doch bei der ersten lösung, die hat doch funktioniert für die breite
weil das hat nicht funktioniert, hat auf beiden bildschirmen 1280 angezeigt, diese breite hab ich aber auf keinen von beidem und sie summe ist das auch nicht.


die lösung ist aber 1. unelegant :lol: und 2. funzt die höhe dann dem anschein nach net, naja is wohl kein problem denke ich, ich werde das dann so mal implementieren 8)

ich sehe gerade, dass ich rWorkArea.Right benutzt habe, aber das scheint dann wohl net zu funzen 8)

Version 0.51

- Einige kleine BugFixes

- Zusatz: Mehrere Monitore sollten jetzt unterstützt werden (Bitte testen !)

also in der Version 0.6 wird dann der M3U Support integriert sein, ich hoffe, dass das alles soweit korrekt ist, vielleicht hat hier einer etwas mehr ahnung als ich und weiß da noch was zu verbessern, im moment ist das die absolute minmal version eines m3u supports, hier meine unit:
ausblenden volle Höhe 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:
unit m3u;

interface

uses sysutils, classes;

const
  M3UStart = '#EXTM3U';
  M3UItem = '#EXTINF:0,';

procedure LoadM3U(Target: TStrings; Filename: string);
procedure SaveM3U(Source: TStrings; Filename: string);

implementation

procedure LoadM3U(Target: TStrings; Filename: string);
var
  StringList: TStringlist;
  i: integer;
begin
  Stringlist := TStringlist.Create;
  try
    Stringlist.LoadFromFile(Filename);
    for i := 0 to Stringlist.Count - 2 do
      if Stringlist[i] = M3UItem then
        Target.Add(Stringlist[i + 1])
  finally
    Stringlist.Free;
  end;
end;

procedure SaveM3U(Source: TStrings; Filename: string);
var
  StringList: TStringList;
  i: integer;
begin
  StringList := TStringlist.Create;
  try
    Stringlist.add(M3UStart);
    for i := 0 to Source.Count - 1 do
      begin
        Stringlist.add(M3UItem);
        Stringlist.add(Source[i]);
        Stringlist.add('');
      end;
    Stringlist.SaveToFile(Filename);  
  finally
    StringList.Free;
  end;
end;

end.

darf jeder verwenden wie er will, natürlich auf eigene gefahr 8)
[werde ich aber nicht ganz so implementieren, jedes item wird erstmal durch meine
add prozedur gejagt und auf existenz überprüft 8) ]


Zuletzt bearbeitet von F34r0fTh3D4rk am Sa 03.09.05 20:26, insgesamt 1-mal bearbeitet
Harry M.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 754

Win 2000, XP
D2005
BeitragVerfasst: Mi 17.08.05 21:04 
Von der Oberfläche her sehr gelungen.

_________________
Gruß Harry
Et spes me per dies sine te ducat et amor me ferat, si dolor spem tollit.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mi 17.08.05 21:12 
Update 0.6 wird ein sehr großes und umfangreiches update und kommt der release version einen großen schritt näher, hauptfokus hat folgendes problem:

- Speedbutton Status bleibt auf mouseover, wenn man die maus schnell über das control bewegt.

den lösungsansatz den ich dazu gefunden habe, hat bei mir nicht funktioniert:

www.delphi-forum.de/viewtopic.php?t=25813

hab alle alten .dcu dateien ersetzt, konnte aber keine änderung feststellen, gibt es eine möglichkeit das anders zu implementieren oder diese lösung zum laufen zu bringen ?

Was ich heute gemacht habe ;)

- m3u support wird morgen hinzugefügt denke ich 8)

- das design ist jetzt anders

- oben ist ein feld um das formular zu draggen

- die hint änderung funzt jetzt

- begin und end update hinzugefügt

- stundenlanges rumprobieren wegen der speedbuttons.


der designkram hat wohl am längsten gedauert (pixelgefummel), hoffe es gefällt, wenn nicht, bitte net hauen :lol:

morgen wohl dann beta 0.6, hoffe es findet sich eine lösung für das speedbuttonproblem 8)

EDIT: Ach ja, spätestens im 1.0 Release wird man die farben verändern können, es werden wahrscheinlich mindestens 3 (vielleicht 4) farben zu verändern geben und die schriftfarbe natürlich ;)
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Do 18.08.05 17:42 
Version 0.6

Anstatt hier alle Neuerungen aufzulisten, mal eine Liste mit sämtlichen Features:


- Standartfeatures:

    'Abspielen', 'Pause', 'Stop', '5s zurück', '5s vor', Weiter


- Anzeigen:

    'Interpret - Titel (Titel lässt sich durch Mausziehen auch kommplett anzeigen)'

    'Verstrichene Zeit'

    'Track Länge'

    'Grafische Positionsanzeige (Trackbar)'

    'Anzahl der Playlisteinträge'


- Playlistsymbol "Note" vor jedem Song

- Playlisteinträge werden mit '...' gekürzt, wenn zu lang

- Playlist-Buttons:

    'Neu'

    'Öffnen'

    'Speichern'


Settings Menu mit:

    'Wiedergabe Option: Zufällige Wiedergabe'

    'Transparenz Einstellung'

    'Immer im Vordergrund Einstellung'


PopUp Menu mit Funktionen um:

    'MP3s hinzuzufügen, zu löschen'

    'Neue Playlist, Playlist Laden/Speichern'

    'Playlist sortieren'

    'Einstellungen'

    'Beenden'


- QuickSort Sortieralgo

- M3U Minimalsupport

- Wave und MP3 Support

- Drag and Drop für MP3s

- Schlichtes Design

- Programm lässt sich am Bildschirmrand andocken

- Mehrere Monitore werden unterstützt (*hoffe ich doch*)

- Zuletzt geladene Playlist wird beim nächsten Start geladen.

- Programm Position Größe und alle anderen Einstellungen werden gespeichert

- Programm wird in den SystemTray Minimiert und kann von dort aus aufgerufen werden.


Bis Version 0.7 wird sich noch einiges tun.


Zuletzt bearbeitet von F34r0fTh3D4rk am Sa 03.09.05 20:27, insgesamt 1-mal bearbeitet
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Do 18.08.05 17:44 
kannste mal nen screenie posten ? da steh ich irgendwie drauf

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...