Einzelnen Beitrag anzeigen

Blamaster

Registriert seit: 20. Jul 2007
230 Beiträge
 
#1

Frage zu Bass.dll und Spectrum

  Alt 22. Mai 2010, 19:32
Hi,

ich möchte mir mit Hilfe der Bass.dll das Spectrum anzeigen lassen. Dazu gibt es bei der Bass.dll ja schon ein schönes Beispielprojekt (CustomLoop).

Allerdings wollte ich das ganze nun so abändern, dass sich das Spectrum zoomen lässt.

Das Spectrum soll dabe allerdings nicht das Fenster in der Breite verändert , sondern sich über den horizontalen Scrollbalken verschieben lassen.

Ich weiß nur nicht so wirklich wie ich an die Sache rangehen soll.

Meine Ansatze war bisher folgender:

- Zoomfunktion vergrößert breite der Paintbox um Faktor x, dann wird die Bitmap mit der standard Customloop funktion gefüllt. Da nun die Paintbox größer ist als das Fenster habe ich den horizontalen Scrollbalken und kann durch das Spectrum scrollen.
Probleme dabei bisher:
- Bei jedem Zoomschritt werden die benötigten Levelwerte neu errechnet und das braucht zeit.
- Weiß ich nicht ob die Lösung so sonderlich elegant ist.
- Ich möchte die Größe der Form ändern können, so das sich das Spectrum dabei automatisch mit anpasst. Momentan müsste ich dazu beim ändern der Form die Werte neu berechnen lassen und das macht im OnFormResize Event bei hunderten dadurch gestarteten Threads nicht wirklich viel spaß.

Hat jemand eine Idee wie sich das ganze umsetzen lassen könnte ?

Ggf. ist ja ein Ansatz die Maximale Breite des Spectrums einmal zu berechnen und in einem Array zu speichern und dann einfach später durch MaximaleBreite geteilt durch Gewünschte Breite einen Wert x zu erhalten und dann nur jeden x´ten wert aus dem Array auslesen und verwenden ?

Nur frage ich mich dabei, ob die Maximale Auflösung einer Soundatei immer gleich ist ? (Ich kenne mich mit dem Aufbau von Audiodaten jetzt nicht sonderlich gut aus).

Mfg Yannic
  Mit Zitat antworten Zitat