AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi BASS.dll (FX): BPM aus RecordStream
Thema durchsuchen
Ansicht
Themen-Optionen

BASS.dll (FX): BPM aus RecordStream

Ein Thema von Delphi-Narr · begonnen am 3. Mai 2016 · letzter Beitrag vom 4. Mai 2016
Antwort Antwort
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#1

AW: BASS.dll (FX): BPM aus RecordStream

  Alt 3. Mai 2016, 20:01
Jeweils Version 2.4

Im DuffRecording gebe ich immer True zurück:

Delphi-Quellcode:
function DuffRecording(handle : HRECORD; const Buffer : Pointer; Length : DWORD; user : Pointer) : Boolean; stdcall;
begin
  Result := True;   // continue recording
end;
Ansonsten habe ich keine weiteren Parameter gesetzt - vielleicht liegt das dann daran?!

Viele Grüße
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: BASS.dll (FX): BPM aus RecordStream

  Alt 3. Mai 2016, 20:11
EDIT:
Ich denke es liegt hier dran.
BASS_FX_BPM_BeatCallbackSet nicht BASS_FX_BPM_CallbackSet.

BASS_FX_BPM_CallbackSet = return(Beat Position)
BASS_FX_BPM_CallbackSet(chan, @GetBPM_Callback, StrToFloat(ebPeriod.Text), 0, BASS_FX_BPM_MULT2, nil)

BASS_FX_BPM_BeatCallbackSet = return(BPM pro definierter Sekunden)
BASS_FX_BPM_BeatCallbackSet(chan, @GetBeatPos_Callback, nil)

gruss

Geändert von EWeiss ( 3. Mai 2016 um 21:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#3

AW: BASS.dll (FX): BPM aus RecordStream

  Alt 3. Mai 2016, 20:55
Danke,

das sollte auf jeden Fall schonmal nen Unterschied machen - leider klappt es immer noch nicht.

Ich habe mal die Bass Units aus dem Projekt von dir genommen und hoffentlich alles angepasst.

Dennoch tritt nach
  BASS_FX_BPM_BeatCallbackSet(ChannelR, @bpmproc, 0); eine Zugriffsverletzung in der DLL auf...

Anbei mal die gesamte Unit, die ist betzüglich des Ablaufs mit deinem Beispielprojekt identisch soweit ich das sehe...

EDIT
Doch nicht...
Angehängte Grafiken
Dateityp: jpg error.jpg (281,8 KB, 16x aufgerufen)
Angehängte Dateien
Dateityp: pas Unit3.pas (2,8 KB, 14x aufgerufen)

Geändert von Delphi-Narr ( 3. Mai 2016 um 21:06 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: BASS.dll (FX): BPM aus RecordStream

  Alt 3. Mai 2016, 21:06
Habe meinen Beitrag editiert..


Nebenbei
BASS_FX_BPM_BeatCallbackSet(ChannelR, @bpmproc, 0);

gleicht
BASS_FX_BPM_BeatCallbackSet(ChannelR, @bpmproc, nil);

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#5

AW: BASS.dll (FX): BPM aus RecordStream

  Alt 3. Mai 2016, 21:14
Bei der Verwendung von nil als drittem Parameter meckert der Compiler, da Cardinal und Pointer inkompatibel sind.

Den Edit hatte ich bemerkt - die andere Funktion nutze ich ja bereits. Die führt jetzt nur zu einer Zugriffsverletzung statt zu einer OOB Exception.

Oder habe ich da jetzt was übersehen?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: BASS.dll (FX): BPM aus RecordStream

  Alt 3. Mai 2016, 21:18
Bei der Verwendung von nil als drittem Parameter meckert der Compiler, da Cardinal und Pointer inkompatibel sind.

Den Edit hatte ich bemerkt - die andere Funktion nutze ich ja bereits. Die führt jetzt nur zu einer Zugriffsverletzung statt zu einer OOB Exception.

Oder habe ich da jetzt was übersehen?
Sorry keine Ahnung was du da verwendest
function BASS_FX_BPM_BeatCallbackSet(handle: DWORD; proc: BPMBEATPROC; user: Pointer): BOOL;

ist bei mir ein Pointer = Nil kein Cardinal = 0

Lade dir doch bei Un4Seen mal die letzte Version herunter
Sonst wird das nie was
Dort ist auch ein BPM Sample enthalten.

gruss

Geändert von EWeiss ( 3. Mai 2016 um 21:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#7

AW: BASS.dll (FX): BPM aus RecordStream

  Alt 3. Mai 2016, 21:35
Die aktuelle Version habe ich jetzt runtergeladen und es funktioniert sogar

Wobei es auch mit der alten funktioniert - wenn ich die Callback Methode exakt so benenne wie im Beispiel...

Habe es jetzt mit beiden Versionen getestet:

procedure GetBeatPos_Callback(handle: DWORD; beatpos: DOUBLE; user: Pointer); stdcall; klappt,

procedure irgendwas(handle: DWORD; beatpos: DOUBLE; user: Pointer); stdcall; klappt nicht...
Sehr interessant^^

Oder es lag an irgendwelchen Build-Artefakten, die das verunreinigt haben...
  Mit Zitat antworten Zitat
Antwort Antwort

 

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