AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Circular spectrum visualizer

Circular spectrum visualizer

Ein Thema von EWeiss · begonnen am 22. Mär 2019 · letzter Beitrag vom 14. Apr 2019
Antwort Antwort
Seite 9 von 9   « Erste     789
Benutzerbild von EWeiss
EWeiss
Registriert seit: 16. Okt 2010
Ein zirkulärer spectrum Visualizer..

Adapted from vb6 to Delphi
Developer of Vb6 Source © Krivous Anatoly Anatolievich (The trick), 2014


Source inklusive.
Falls wieder Meldungen kommen.. Nein es ist keine Vaporware es ist Arbeit

Im Moment visualisieren nur die Sektoren so halbwegs..
Paletten können on the fly geändert werden. Einfach auf die Radio Button klicken.
Später baue ich noch einen Button ein um die Default Palette wieder zu aktivieren.

Die Elliptic Region des Vis-Fensters ist gleichzeitig ein loch in der Form einfach mal auf transparent klicken.
Hier muss ich jedoch ebenfalls später noch schauen wie ich auf einem Layeredwindow die Visualisierung Undurchsichtig rendern kann.
Das ist unter Win10 nicht mehr so einfach.

Fade Effekt geht noch nicht richtig deshalb ist die Visualisierung etwas unruhig.
Blur und Fire sind auch noch nicht funktionstüchtig.


Version 1.0.1.0 (Contributor Michael II, Neutral General)
  • - FFT gefixt.. Danke an Michael II
  • - Rings addiert
  • - Verschiedene nicht erwähnenswerte Probleme behoben.
  • - Der Rest wie Blur und Fire Effekt kommt noch.

Version 1.0.2.0
  • - remove grWindow
  • - Add DoubleBuffer (Danke Michael II für die Idee)
  • - fix FarbSpectrum
  • - remove alte ARGB Function

Version 1.0.3.0
  • - remove FillChar SpectrumData2D[0] wird nicht zwingend benötigt
  • - replace Function Release zur alten HEX variante (welche enorme Probleme verursacht) Von daher ist Hilfe erwünscht das zu beheben wird aber nicht erwartet.
  • - add Neuen DataTyp für das Array SpectrumData2D LongWord.

Version 1.0.4.0
  • - Add Fade Effekt
  • - Add Blur Effekt
  • - Add Fire Effekt
  • - Add Pulse Effect für Power Schalter
  • - Add 64 Bit Version für Leute mit Delphi Versionen die 64 Bit unterstützen. 32 Bit wurde in D2010 geschrieben

Version 1.0.5.0
  • - changed Verschiedene Funktionen innerhalb CheckEffects
  • - Add Funktionen um 3 Frame Knobs zu verwenden
  • - Add Knobs ersetzt altes ist noch im Archiv kann man also austauschen.. (Ist halt Geschmackssache)

Version 1.0.6.0 (11.04.19)
  • - changed Icon
  • - changed CALLBALCK_FUNCTION zu CALLBACK_WINDOW, CALLBALCK_FUNCTION verursachte seltsame Nebeneffekte in meiner GUI (Scheint nicht Threadsicher zu sein)
  • - Add Neue Callback in uControls

Version 1.0.7.0 (14.04.19)
  • - changed Fest vor eingestellte SampleRate wird nun aus den Einstellungen des Devices übernommen. (Danke Silhwan)

erstellt mit D2010.. 32Bit, DCE.. 64Bit

gruss
Miniaturansicht angehängter Grafiken
vis2.png   vis.png  
Angehängte Dateien
Dateityp: zip TrickSpectrum_1_0_7_0.zip (1,17 MB, 5x aufgerufen)
Dateityp: zip TrickSpectrum64_1_0_7_0.zip (1,86 MB, 5x aufgerufen)

Geändert von EWeiss (14. Apr 2019 um 13:31 Uhr)
 
Benutzerbild von EWeiss
EWeiss

 
Delphi 2010 Architect
 
#81
  Alt 4. Apr 2019, 19:00
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
Miniaturansicht angehängter Grafiken
echoes.png  

Geändert von EWeiss ( 4. Apr 2019 um 19:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

 
Delphi 2010 Architect
 
#82
  Alt 5. Apr 2019, 09:13
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
_alpha, _red, _green, _blue: Byte;

werden dann nicht mehr benötigt.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

 
Delphi 2010 Architect
 
#83
  Alt 5. Apr 2019, 10:35
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
Miniaturansicht angehängter Grafiken
knob.png  
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

 
Delphi 2010 Architect
 
#84
  Alt 5. Apr 2019, 14:16
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)
RGBQuad := BitmapData.Scan0;

von daher können wir uns den Scan0 auf jede Zeile sparen.
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.
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

Geändert von EWeiss ( 5. Apr 2019 um 14:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

 
Delphi 2010 Architect
 
#85
  Alt 5. Apr 2019, 18:02
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
Miniaturansicht angehängter Grafiken
big.png  

Geändert von EWeiss (11. Apr 2019 um 11:56 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

 
Delphi 2010 Architect
 
#86
  Alt 14. Apr 2019, 12:54
Neue Version..

gruss
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf