AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Mein kleiner mp3-Player... Updated 13.12.04
Thema durchsuchen
Ansicht
Themen-Optionen

Mein kleiner mp3-Player... Updated 13.12.04

Ein Thema von dizzy · begonnen am 25. Sep 2004 · letzter Beitrag vom 26. Feb 2005
Antwort Antwort
Seite 10 von 11   « Erste     8910 11      
Red_Dragon

Registriert seit: 23. Okt 2004
Ort: Germany
51 Beiträge
 
Delphi 7 Enterprise
 
#1

Re: Mein kleiner mp3-Player... Updated 13.12.04

  Alt 15. Jan 2005, 13:33
Zitat von dizzy:
Hmmm Hast du evtl. was im Code verändert? Bei mir klappt das nämlich. Poste doch mal die ganze Funktion in der die Zeile vorkommt (ich kann's grad nicht identifizieren ).
nope keine veränderung in der GFX datei die hab ich nicht angefast

Delphi-Quellcode:
procedure TDotSphere.DrawSphere(out bmp: TBitmap32; Source: TBassplayer; color: TColor32; const xRot, yRot, zRot: Double);
var
  C: TVector;
  i: Integer;
  sinX, cosX,
  sinY, cosY,
  sinZ, cosZ : Double;
  h: Integer;
  sx, sy, sz: Double;
  fact: Double;
  ind: Integer;
  d: Double;
begin
  FFFT := Source.getfftdatalong;
  C.x := bmp.Width/2;
  C.y := bmp.Height/2;
  C.z := 0;
  sinX := sin(xRot);
  sinY := sin(yRot);
  sinZ := sin(zRot);
  cosX := cos(xRot);
  cosY := cos(yRot);
  cosZ := cos(zRot);
  d := 16*(FMaxRad-FBaseRad);
  h := (Length(FDrawDots) div 2)-1;

  for i := 0 to h do
  begin
    ind := 2*i+16;
    if FFFT[ind] < FFFTOld[ind] then
      FFFT[ind] := FFFTOld[ind]-0.001;

    fact := FFFT[ind]*d;
    FDrawDots[i].x := FDots[i].x + (FDots[i].x/FBaseRad)*fact;
    FDrawDots[i].y := FDots[i].y + (FDots[i].y/FBaseRad)*fact;
    FDrawDots[i].z := FDots[i].z + (FDots[i].z/FBaseRad)*fact;
  end;

  for i := h+1 to Length(FDrawDots)-1 do
  begin
    ind := 2*(i-h+1)+17;
    if FFFT[ind] < FFFTOld[ind] then
      FFFT[ind] := FFFTOld[ind]-0.001;

    fact := FFFT[ind]*d;
    FDrawDots[i].x := FDots[i].x + (FDots[i].x/FBaseRad)*fact;
    FDrawDots[i].y := FDots[i].y + (FDots[i].y/FBaseRad)*fact;
    FDrawDots[i].z := FDots[i].z + (FDots[i].z/FBaseRad)*fact;
  end;

  for i := 0 to Length(FDrawDots)-1 do
  begin
    sx := FDrawDots[i].x;
    sy := FDrawDots[i].y;
    sz := FDrawDots[i].z;
    FDrawDots[i].x := sx*( cosY*cosZ) - sy*(cosY*sinZ) + sz*(sinY);
    FDrawDots[i].y := sx*( sinX*sinY*cosZ+cosX*sinZ) - sy*(sinX*sinY*sinZ-cosX*cosZ) - sz*(sinX*cosY);
    FDrawDots[i].z := sx*(-cosX*sinY*cosZ+sinX*sinZ) + sy*(cosX*sinY*sinZ+sinX*cosZ) + sz*(cosX*cosY);
    FDrawDots[i].color := Lighten(color, trunc(FDrawDots[i].z*3));
    bmp.PixelFS[FDrawDots[i].x+C.x, FDrawDots[i].y+C.y] := FDrawDots[i].color;
  end;

  Move(FFFT[0], FFFTOld[0], Length(FFFT)*SizeOf(Float));
end;
Walter
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Mein kleiner mp3-Player... Updated 13.12.04

  Alt 16. Jan 2005, 04:31
Hmmm, kann keinen Fehler sehen. Das Teil kompiliert bei mir klaglos

Hast du evtl. wo anders noch eine globale Variable mit dem Namen "bmp" deklariert? Zwar dürfte es trotzdem keine Probleme geben, da die Unit eigentlich vorzugsweise die eigenen nehmen sollte, und auch keine anderen Units used, aber man weiss ja nie .
(Ja, das Teil ist schrecklich OOP-Unkonform... ich weiss ich weiss 8))

Ansonsten bin ich ratlos. Im Zweifelsfall einfach mal ein ganz neues Projekt anlegen, und per Copy&Paste alles kopieren, und mal kompilieren. Vllt. hilft das ja.


Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Red_Dragon

Registriert seit: 23. Okt 2004
Ort: Germany
51 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Mein kleiner mp3-Player... Updated 13.12.04

  Alt 16. Jan 2005, 17:00
Zitat von dizzy:
Hmmm, kann keinen Fehler sehen. Das Teil kompiliert bei mir klaglos

Hast du evtl. wo anders noch eine globale Variable mit dem Namen "bmp" deklariert? Zwar dürfte es trotzdem keine Probleme geben, da die Unit eigentlich vorzugsweise die eigenen nehmen sollte, und auch keine anderen Units used, aber man weiss ja nie .
(Ja, das Teil ist schrecklich OOP-Unkonform... ich weiss ich weiss 8))
ne leider nicht ich arbeite selten (sogut wie nie) mit der deklarierung bmp (weil ich ja meist ni irgendwas mit oberflächen hab^^)
tja bei dir klaglos bei mir hat er ein problem mit dem PixelFS

Zitat von dizzy:
Ansonsten bin ich ratlos. Im Zweifelsfall einfach mal ein ganz neues Projekt anlegen, und per Copy&Paste alles kopieren, und mal kompilieren. Vllt. hilft das ja.


Gruss,
Fabian
nischt gut na ja werd ich wohl nicht drum herum kommen

ach eine frage er spielt dir ganze zeit drauf an das "PixelFS" nicht deklariert wurde... muss die das? denke das ist ein ganz normaler befehl an die TBitmap oder irre ich mich stark?
Walter
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Mein kleiner mp3-Player... Updated 13.12.04

  Alt 22. Jan 2005, 16:21
Durch den Hinweis von Alexander bin ich auf des Rätsels Lösungs gestoßen. Ihr habt die Version 1.5(.1) der G32-Lib, ich hingegen habe irgendwo her die Version 1.6! Den Downloadlink finde ich allerdings auch nicht mehr.
Aber so wie ich die Lizenz verstanden habe, ist es okay das Archiv weiterzugeben. Von daher hänge ich die Version 1.6 hier mal an. Falls das nicht gewünscht oder gar nicht erlaubt ist, dann bitte eine kurze Nachricht an mich - ich (oder ein Mod ) entferne(n) das dann wieder.

btw: Was macht TBitmap.PixelFS? Es bietet die Möglichkeit einen Pixel auf Float-Koordinaten zu setzen, und das nötige Antialiasing macht die G32. Eine Funktion die ich unter keinen Umständen missen möchte!

Gruss,
Fabian
Angehängte Dateien
Dateityp: zip graphics32_1-6_113.zip (1,72 MB, 40x aufgerufen)
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#5

Re: Mein kleiner mp3-Player... Updated 13.12.04

  Alt 22. Jan 2005, 16:51
Danke noch mal
Jetzt kann ich die Demo wunderbar kompilieren
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

Re: Mein kleiner mp3-Player... Updated 13.12.04

  Alt 23. Jan 2005, 10:21
Download: http://sourceforge.net/projects/graphics32
  Mit Zitat antworten Zitat
Red_Dragon

Registriert seit: 23. Okt 2004
Ort: Germany
51 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Mein kleiner mp3-Player... Updated 13.12.04

  Alt 23. Jan 2005, 15:29
super jetzt klappts perfekt
Walter
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Mein kleiner mp3-Player... Updated 13.12.04

  Alt 23. Jan 2005, 22:48
stimmt ja, die sind nach SourceForge gewechselt... Ich vergess es doch immer wieder.

Und: es gibt ja schon 1.7! *draufstürz*
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Red_Dragon

Registriert seit: 23. Okt 2004
Ort: Germany
51 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Mein kleiner mp3-Player... Updated 13.12.04

  Alt 27. Jan 2005, 23:18
hmmm aber beim 1.7er klappt das irgendwie net so mit der sphere... nach dem ablaufen des liedes wird sie nicht "zerstört" (nenn ich das jetzt mal) ich vermute das liegt am 1.7er... da ich den gfx code nicht verändert hab...

könnte man lösen in dem man die sphere genau eine sekunde vor ende des liedes auf false setzt und dann wieder in die normalstellung (entwäder true oder false) das wäre die wohl schnellste methode das zu lösen (aber wohl eine der undschönsten^^)

um das mal genauer einzukreisen:

Delphi-Quellcode:
  begin
    ind := 2*i+16;
    if FFFT[ind] < FFFTOld[ind] then
      FFFT[ind] := FFFTOld[ind]-0.001;

    fact := FFFT[ind]*d;
    FDrawDots[i].x := FDots[i].x + (FDots[i].x/FBaseRad)*fact;
    FDrawDots[i].y := FDots[i].y + (FDots[i].y/FBaseRad)*fact;
    FDrawDots[i].z := FDots[i].z + (FDots[i].z/FBaseRad)*fact;
  end;
FFFT[ind] := FFFTOld[ind]-0.001;
das rote ist die fehlerstelle
Walter
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Mein kleiner mp3-Player... Updated 13.12.04

  Alt 27. Jan 2005, 23:35
Das gibts doch nicht. Alexander hatte mir genau das selbe Problem per PN geschildert, und ich konnte es binher nicht nachvollziehen. Womit es definitiv problematisch werden kann sind Mono-Files.
Aber ich habe das Teil bisher noch nicht mit der 1.7er G32 getestet! Eventuell liegt's ja tatsächlich daran... Aber das wäre schon nen Hammer, weil eigentlich hat besagte Stelle im ersten Moment nichts mit der G32 zu tun.
Das ist mir absolut suspekt - zumal ich diesen Fehler NIE hatte. Und ich habe wirklich ausgiebig getestet.

Da aber ihr beide die 1.7er benutzt, und bisher die einzigen wart mit diesem Fehler, hab ich schon schlimmere Befürchtungen Das wird eine Debug-Orgie.

Danke euch für die Hinweise, ich werde dem auch mal nachgehen. Sowas blödes

Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 10 von 11   « Erste     8910 11      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 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