Delphi-PRAXiS
Seite 9 von 10   « Erste     789 10      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Circular spectrum visualizer (https://www.delphipraxis.net/200135-circular-spectrum-visualizer.html)

EWeiss 4. Apr 2019 19:00

AW: Circular spectrum visualizer
 
Neue Versionen oben.

64 Bit DCE (Delphi Community Edition) und höher
32 Bit D2010

Hoffe läuft jetzt alles und ist richtig ;)

Später addiere ich vielleicht noch eine variable SampleRate Min 512, MAX 8192
Shot! Echoes von Pink Floid


gruss

EWeiss 5. Apr 2019 09:13

AW: Circular spectrum visualizer
 
Klein Korrektur.. danke Michael II für die Berichtigung.

Delphi-Quellcode:
procedure TSpectrum.CheckEffects;
case 1
//...

              Color := blue or (green shl 8) or (red shl 16);
              DWORD(Pixel) := Color or (Pixel.rgbReserved shl 24);
//              SKAERO_SplitColorARGB((Color or (Pixel.rgbReserved shl 24)), _alpha, _red, _green, _blue);
//
//              Pixel.rgbBlue := _blue;
//              Pixel.rgbGreen := _green;
//              Pixel.rgbRed := _red;
//              Pixel.rgbReserved := _alpha;

              RGBQuad^ := Pixel;
              inc(RGBQuad);
case 2
//...

            Color := Buf[dx, dy] and $FFFFFF;
            DWORD(Pixel) := Color or (Pixel.rgbReserved shl 24);
//            SKAERO_SplitColorARGB((Pixel.rgbReserved shl 24) or Color, _alpha, _red, _green, _blue);
//
//            Pixel.rgbBlue := _blue;
//            Pixel.rgbGreen := _green;
//            Pixel.rgbRed := _red;
//            Pixel.rgbReserved := _alpha;

            RGBQuad^ := Pixel;
            inc(RGBQuad);
Die variablen
Delphi-Quellcode:
_alpha, _red, _green, _blue: Byte;


werden dann nicht mehr benötigt.

gruss

EWeiss 5. Apr 2019 10:35

AW: Circular spectrum visualizer
 
Falls jemand gerne diese Knobs möchte sagt bescheid lade dann eine aktualisierte uControls.pas incl. des Knobs hoch.
Dafür sind dann leider ein paar kleine Änderungen nötig damit das 3 Frame der Value entsprechend angepasst wird.

Man kann dann wechseln zwischen Knobs mit 2 oder 3 Frames.

gruss

EWeiss 5. Apr 2019 14:16

AW: Circular spectrum visualizer
 
Neue Version..
Es waren leider noch einige Korrekturen von Nöten. (Danke an Michael II)

Wir merken uns jetzt den Pointer auf Pixel (0,0)
Delphi-Quellcode:
RGBQuad := BitmapData.Scan0;


von daher können wir uns den Scan0 auf jede Zeile sparen.
Delphi-Quellcode:
RGBQuad := Scanline(BitmapData, Row);


ist also nicht mehr nötig.
zudem waren diese Zuweisungen auch unnötig.
Delphi-Quellcode:
DWORD(Pixel) := 0;
RGBQuad^ := Pixel;
wir können die 0 direkt an RGBQuad übergeben.
Delphi-Quellcode:
DWORD(RGBQuad^) := 0;


Die Funktion Scanline wurde entfernt.
GDIP_BitmapUnlockBits wurde zu früh aufgerufen das Bitmap war also nach der 1 Zeile (0) schon nicht mehr geschützt.

gruss

EWeiss 5. Apr 2019 18:02

AW: Circular spectrum visualizer
 
Wer den Kreis ausweiten will hier ist die angepasste uControls.pas inklusive neuem Composited.png

je nach Delphi Version muss das FormatSettings.Decimalseparator in DisplayFloatValue angepasst werden.
32 Bit einfach ohne FormatSettings nur einfach Decimalseparator.

Im Archiv ist die für 64Bit.
Das *.png einfach im Skins Ordner ersetzen.

Nicht mehr nötig ist im Archiv enthalten.

gruss

EWeiss 14. Apr 2019 12:54

AW: Circular spectrum visualizer
 
Neue Version..

gruss

EWeiss 21. Jun 2019 02:59

AW: Circular spectrum visualizer
 
Neue Version.
Zitat:

Transparenz ist nun so wie sie soll ohne das ist Farben die Deckkraft verlieren, werden von der Transparenz ausgeschlossen.
Was für ein Gedudel.. auf den Desktop :wall: :duck:

gruss

Codehunter 21. Jun 2019 06:59

AW: Circular spectrum visualizer
 
Bitte nicht übel nehmen... Aber wofür isn das gut?

EWeiss 21. Jun 2019 07:00

AW: Circular spectrum visualizer
 
Zitat:

Zitat von Codehunter (Beitrag 1435122)
Bitte nicht übel nehmen... Aber wofür isn das gut?

Was.. Wenn du mir sagst was du meinst könnte ich es beantworten.
Es sei denn du meinst das? Versuche es mal mit DragDrop ;) Mp3 Dateien.. habe es aber extra oben addiert.

Wenn es um den Visualizer geht nun ich denke da kann man viel von lernen vor allem Leute die sich mit dem Thema beschäftigen.
Keine sorge nehme es nicht übel nicht jeder kann in allem einen Sinn erkennen.

Manchmal macht man einfach etwas aus spaß an der Freud.
Für mich persönlich ist es die Schmerzgrenze meiner Library zu testen so das ich sie erweitern kann wenn etwas fundamentales fehlt.

PS:
Kannst du in einer Form ein transparentes Loch erstellen dieses zur Laufzeit in der Transparenz verändern und anschließend in dem Fenster (Aussparung) eine Visualisierung darstellen?
Falls nicht wäre das ein Ansatz um vielleicht davon zu lernen ;)
Aber das sind alles nur Vermutungen da ich nicht weis was du genau meinst.


gruss

Codehunter 21. Jun 2019 09:26

AW: Circular spectrum visualizer
 
Ich meinte den "Circular spectrum visualizer" als solches, nicht den programmiererischen Background (den ich durchaus zu schätzen weiß). Die Frage kommt daher, dass ich mich z.B. auch bei Winamp schon seit Jahr(zehnt)en frage, wozu die Aussteuerungsanzeige gut ist. Bis in die frühen 80er Jahre ergab das bei Highend-Verstärkern noch Sinn. Aber seit der exzessiven Kompression (Stichwort Loudness War) und Formaten wie MP3 oder AAC ist das eigentlich nur noch sinnfreies Gezappel. Der akustisch wahrgenommene Beat schlägt sich kaum noch in sichtbaren Peaks nieder. Von der Asynchronität infolge träger GDI mal gar nicht zu reden. Im Prinzip könnte man wohl sogar zufallsgeneriertes Gezappel darstellen und keiner würds merken ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:22 Uhr.
Seite 9 von 10   « Erste     789 10      

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