AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

'Visualissation'

Ein Thema von Nils_13 · begonnen am 18. Jun 2005 · letzter Beitrag vom 20. Jun 2005
Antwort Antwort
Seite 2 von 3     12 3      
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#11

Re: 'Visualissation'

  Alt 19. Jun 2005, 16:58
Zitat von dizzy:
Zitat:
Wenn ich ein Lied öffnen will tritt der Fehler auf.
Mir platzt echt der Kragen. Du erwartest doch nicht allen Ernstes dass man dir auf Grund deiner Infos helfen wird, bzw. es überhaupt kann oder?
Wie könntest du mir Hilfe leisten, wenn ich dir sage: "Mein linker Hutzen tropft, das kadüngelt wenn ich pangelich sehe."? ... Richtig - garnicht. Ohne Definitionen und Kontext kann das einfach nichts werden. Lies dir deine Beiträge bitte mal durch, und zwar stelle dir dabei vor dass du kein Stück des Zusammenhangs wüsstest, wie jeder andere hier auch. Was fällt dir auf?

Entschuldigt dieses OT bitte, aber das war mir jetzt ein großes Anliegen...
Sry.
Ich wollte mich erstmal nicht mit der bass.dll rumschlagen und habe zum testen den 'bassdllplayer' benutzt.
Der Fehler tritt erst auf, wenn ich auf den 'open-button' klicke. Unten im Anhang der gesamte Code ... .
Erstmal danke für die vielen antworten ... .
Angehängte Dateien
Dateityp: pas vis_104.pas (5,3 KB, 32x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#12

Re: 'Visualissation'

  Alt 19. Jun 2005, 18:37
Erschrick mich nich so, TBassDLLPlayer macht Fehler ?


Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
var
  data: TFFTData;
begin
  IF BassdllPlayer1.status = sndPLAYING then
  begin
    data := BassdllPlayer1.GetFFTData;
    if Data[1] > max then
    begin
      Max := Data[1];
      p.Width := Round(max);
    end;

    // <--- da wäre es besser

  end;

  if Data[1] > max then // <--- ab hier Fehler
  begin
    Max := Data[1];
    ProgressBar1.Max := Round(max);
  end;
  ProgressBar1.Position := Round(Data[1]);
end;
Oder so....

Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
var
  data: TFFTData;
begin
  if BassdllPlayer1.status <> sndPLAYING then exit;

  data := BassdllPlayer1.GetFFTData;
  if Data[1] > max then
  begin
    Max := Data[1];
    p.Width := Round(max);
  end;

  if Data[1] > max then
  begin
    Max := Data[1];
    ProgressBar1.Max := Round(max);
  end;

  ProgressBar1.Position := Round(Data[1]);
end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Gandalfus

Registriert seit: 19. Apr 2003
407 Beiträge
 
Delphi 2006 Professional
 
#13

Re: 'Visualissation'

  Alt 19. Jun 2005, 21:11
Zitat von turboPASCAL:
Erschrick mich nich so, TBassDLLPlayer macht Fehler ?
Nein das ist unmöglich.


schon das angeschaut?

Delphi-Quellcode:
property RightPeak: dword read getRightPeak; {von 0 bis 32768}
property LeftPeak: dword read getLeftPeak; {von 0 bis 32768}
Edit. hatte da an meine Komponnete gedacht. www.blubplayer.de wusste nicht das es eine Komponnete mit dem gleichen Namen gibt.

btw. p ist kein guter Bezeichner für eine Paintbox. Ich würde p immer für einen lokalen Pointer halten.
Besucht doch mal meine Homepage
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#14

Re: 'Visualissation'

  Alt 20. Jun 2005, 15:59
Zitat von Gandalfus:
Zitat von turboPASCAL:
Erschrick mich nich so, TBassDLLPlayer macht Fehler ?
Nein das ist unmöglich.


schon das angeschaut?

Delphi-Quellcode:
property RightPeak: dword read getRightPeak; {von 0 bis 32768}
property LeftPeak: dword read getLeftPeak; {von 0 bis 32768}
Edit. hatte da an meine Komponnete gedacht. www.blubplayer.de wusste nicht das es eine Komponnete mit dem gleichen Namen gibt.

btw. p ist kein guter Bezeichner für eine Paintbox. Ich würde p immer für einen lokalen Pointer halten.
Schön, ich kenn mich damit nicht aus, deshalb frag ich ja auch nach, left peak steht für linken Lautsprecher und right peak für den rechten ?
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#15

Re: 'Visualissation'

  Alt 20. Jun 2005, 16:03
Ja so ist es. Demo bei TBassDLLPlayer (SimplePlayer 3) mit ProgressBar's.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#16

Re: 'Visualissation'

  Alt 20. Jun 2005, 16:16
Und jetzt muss ich left und right-peak miteinander verbinden, nur wie mach ich das, + - / * geht natürlich nicht.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#17

Re: 'Visualissation'

  Alt 20. Jun 2005, 16:51
Verbinden ? Du hast eine Aussteuerung vom linken und vom rechten Kanal, also so zu sagen den linken und den rechten Lautsprecher.

Baue dir eine procedure die zwei Balken zeichnet.

Delphi-Quellcode:
procedure DrawMyBars(LKanal, RKanal: Longword);
begin
  if BassDLLPlayer1.Status = sndPlaying then
  begin
    // alles was in der PaintBox gezeichnet werden soll wenn Player läuft zB.:
    for i := 0 to LKanal do
      PaintBoxX.Canvas....odersowas
    for i := 0 to RKanal do
      PaintBoxX.Canvas....odersowas
  end else
  begin
    // alles was in der PaintBox gezeichnet werden soll wenn Player auf Stop
  end;
end;
die kannst du dann im Timer aufrufen lassen:
(! Setze den Interval des Timers nicht zu klein das gibt event. Probleme)

Delphi-Quellcode:
procedure TFormX.Timer1Timer(Sender: TObject);
begin
  // Bar's zeichnen
  DrawMyBars(BassDLLPlayer1.LeftPeak, BassDLLPlayer1.RightPeak);
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#18

Re: 'Visualissation'

  Alt 20. Jun 2005, 17:06
Delphi-Quellcode:
procedure TForm1.DrawMyBars(LKanal, RKanal: Longword);
var i: integer;
begin
  if BassDLLPlayer1.Status = sndPlaying then
  begin
    for i := 0 to LKanal do
      p.Width := p.Width + 1;
     // DrawGradient
    for i := 0 to RKanal do
      p2.Width := p2.Width + 1;
  end else
  begin
    p.Width := 0;
    p2.Width := 0;
  end;
end;
Was mach ich bloß immer falsch *heul* ? Egal wie ich den Timer einstelle, die cpu wird immer überfordert.
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#19

Re: 'Visualissation'

  Alt 20. Jun 2005, 17:24
Zitat von Nils_13:
Delphi-Quellcode:
    for i := 0 to LKanal do
      p.Width := p.Width + 1;
     // DrawGradient
    for i := 0 to RKanal do
      p2.Width := p2.Width + 1;
Optimierungsvorschlag: Statt es in einer Schleife jedes mal um eins zu erhöhen...

Delphi-Quellcode:
inc(p.Width, LKanal + 1); //analog für rechts

//oder (falls Width ein Property ist)
p.Width := LKanal + 1 + p.Width; //analog für rechts
Ich weiß nicht, was p und p2 sein sollen??? Eventuell liegt da auch noch Optimierungsansatz.

//edit: schließenden quote-tag ergänzt
Felix Alter
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#20

Re: 'Visualissation'

  Alt 20. Jun 2005, 18:39
Zitat von FAlter:
Zitat von Nils_13:
Delphi-Quellcode:
    for i := 0 to LKanal do
      p.Width := p.Width + 1;
     // DrawGradient
    for i := 0 to RKanal do
      p2.Width := p2.Width + 1;
Optimierungsvorschlag: Statt es in einer Schleife jedes mal um eins zu erhöhen...

Delphi-Quellcode:
inc(p.Width, LKanal + 1); //analog für rechts

//oder (falls Width ein Property ist)
p.Width := LKanal + 1 + p.Width; //analog für rechts
Ich weiß nicht, was p und p2 sein sollen??? Eventuell liegt da auch noch Optimierungsansatz.

//edit: schließenden quote-tag ergänzt
Geht nicht: der linken Seite kann nichs zugewiesen werden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 05:17 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