Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   TPatternMotion - CoverFlow-Komponente (https://www.delphipraxis.net/116504-tpatternmotion-coverflow-komponente.html)

Dunkel 30. Jun 2008 22:32


TPatternMotion - CoverFlow-Komponente
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo zusammen!

Ich bin mir nicht ganz sicher, ob ich mich hier in der richtigen Sparte befinde. "Projekte" würde es auch gut treffen, da diese Komponente noch lange nicht "fertig" ist (wird Software jemals fertig?!) und ein wenig weiter gecodet werden müsste.

/me hat vor einiger Zeit angefangen sich mit OpenGL zu beschäftigen. Und als "Testprojekt" ist TPatternMotion entstanden.
Da ich mittlerweile den Spaß am Weiterentwickeln verloren habe, das Projekt aber IMHO zu gut ist, um im ewigen Daten-Nirwana oder als Leiche auf meiner Festplatte zu enden, stelle ich den kompletten Quelltext der OpenSource-Gemeinde zur Verfügung. Vielleicht kann ja jemand was mit dem (z.T. recht bescheidenen :stupid: ) Quelltext anfangen, unter Umständen findet sich sogar jemand, der die Komponente weiterentwickeln würde.

Naja, wirklich viel gibt es dazu nicht zu sagen außer, dass das eine Apple-like CoverFlow-Komponente für Delphi ist. Die Bedienung ist größtenteils intuitiv. Wenn TPatternMotion den Focus hat kann man mit:
* den Pfeiltasten durch die Patterns "switchen"
* mit W, E, R, A, S, D, F, Y, X & C die Kamera bewegen (einfach mal drücken und ausprobieren); Q versetzt die Kamera in den Ursprungszustand
* mit P den "3D-Modus" umschalten
* mit O alle Patterns um 180° drehen
* mit I das aktuelle Pattern um 180° drehen
* mit gedrückter linker Maustaste die Kamera in der X & Y-Achse bewegen
* mit gedrückter rechter Maustaste die Kamera drehen
* wenn beide Maustasten gedrückt sind die Kamera in der Z-Achse bewegen


Das Demo-Projekt sollte die Bedienung eigentlich deutlich machen.
Bei Fragen zum Quellcode stehe ich gerne Rede und Antwort (bitte hier im Thread, nicht via PN, damit alle was davon haben).

Screenshot, Quellcode und eine Demo-Echse befinden sich im Anhang.

Viel Spaß damit!

Grüße
Michael

stOrM 1. Jul 2008 09:33

Re: TPatternMotion - CoverFlow-Komponente
 
Sehr cool!
Auf dem alten Rechner hier hab ich aber Probleme mit folgendem:

Delphi-Quellcode:
//    FOnMouseActivate: TMouseActivateEvent;
//    FOnMouseEnter : TNotifyEvent;
//    FOnMouseLeave : TNotifyEvent;
//    FOnMouseWheel : TMouseWheelEvent;
Hat der Compiler angemeckert, deshalb hab ich die Events ausgebunden.
Desweiteren gabs hier auf der alten kiste ein Problem mit dem ColorFormat:

Delphi-Quellcode:
fOGLRC := CreateRenderingContext(fOGLDC, [opDoubleBuffered], 32, 16, 0, 0, 0, 0);
Musste ich auf 16 runterschrauben also nicht 24 wie von dir, ggf. sollte geprüft werden vorher was unterstützt wird?

Ich konnte nicht weiter testen, weil der Rechner hier definitiv zu lahm ist, deshalb falls nicht eingebaut, wäre ein Zoom noch sehr cool wie bei Apple wenn das Cover ausgewählt ist also mittig steht zoomt der auf Originalgröße soweit ich mich erinnere?

Ansonsten, hochachtung wirklich genial!

Grüsse
s!

falang 1. Jul 2008 09:41

Re: TPatternMotion - CoverFlow-Komponente
 
Demo-Echse funzt nicht!

Fehlercode 2000: Das Pixelformat ist ungültig.

in die DPR kan ich hier net reinschaun...

EDIT: War wieder einer schneller...


Gruß

Falang

Matze 1. Jul 2008 10:08

Re: TPatternMotion - CoverFlow-Komponente
 
Bei mir funktioniert die Demo wunderbar (XP SP3). Sieht klasse aus. :thumb:
Wenn man noch irgendwie eine Kantenglättung implementieren könnte oder das spielerische Weiterscrollen per Maus (wie beim IPod Touch/iPhone), abhängig von der Mausgeschwindigkeit, wäre es genial.

Grüße

Dunkel 1. Jul 2008 17:19

Re: TPatternMotion - CoverFlow-Komponente
 
Zitat:

Zitat von Matze
Wenn man noch irgendwie eine Kantenglättung implementieren könnte oder das spielerische Weiterscrollen per Maus (wie beim IPod Touch/iPhone), abhängig von der Mausgeschwindigkeit, wäre es genial.

Tut Euch keinen Zwang an! Implementiert es! Ich werde nichts mehr am Quellcode machen.

LimeBulls 11. Dez 2010 15:07

AW: Re: TPatternMotion - CoverFlow-Komponente
 
Zitat:

Zitat von Dunkel (Beitrag 798239)
Zitat:

Zitat von Matze
Wenn man noch irgendwie eine Kantenglättung implementieren könnte oder das spielerische Weiterscrollen per Maus (wie beim IPod Touch/iPhone), abhängig von der Mausgeschwindigkeit, wäre es genial.

Tut Euch keinen Zwang an! Implementiert es! Ich werde nichts mehr am Quellcode machen.

Bei mir kommt leider ein Fehler in Delphi XE.

[DCC Error] PatternMotion.pas(2965): E2010 Incompatible types: 'PWideChar' and 'PAnsiChar'

welcher sich auf:

"PAnsiChar(aFontName));"

bezieht.

Leider habe ich per google keine Ergebnisse gefunden um das Programm zum laufen zu bringen (Fehlermeldung bei google gesucht).

Erkennst Du das Problem ?

DeddyH 11. Dez 2010 15:10

AW: TPatternMotion - CoverFlow-Komponente
 
Was passiert, wenn Du aus PAnsiChar einfach PChar machst?

LimeBulls 11. Dez 2010 15:44

AW: TPatternMotion - CoverFlow-Komponente
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von DeddyH (Beitrag 1067925)
Was passiert, wenn Du aus PAnsiChar einfach PChar machst?

Danach kam folgender Fehler:
(Siehe Anhang)


Dann habe ich in Zeile 1033 folgende Änderung vorgenommen:

"fOGLRC := CreateRenderingContext(fOGLDC, [opDoubleBuffered], 32, 16, 0, 0, 0, 0);"

Nun klappt es, dank deiner Hilfe :thumb:
Es läuft zwar sehr langsam, liegt aber wahrscheinleich an meinem Rechner (Intel Atom [50 % Auslastung] + on board Grafik).

TrevorKidd 19. Sep 2011 10:32

AW: TPatternMotion - CoverFlow-Komponente
 
Echt eine super Sache. Schade ist allerdings, dass sich wohl niemand die Arbeit gemacht hat das Ganze etwas zu überarbeiten. Mir persönlich fehlt eine Kleinigkeit, die ich leider selbst nicht hinbekomme.

Ich würde gerne mit dem Mausrad durch die Alben scrollen können, sowie es mit der Scrollbar geht. Hat da irgendjemand eine Idee wie ich das implementieren kann?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz