Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audioeffektplayer #28

Open
xn--nding-jua opened this issue Jan 1, 2016 · 1 comment
Open

Audioeffektplayer #28

xn--nding-jua opened this issue Jan 1, 2016 · 1 comment

Comments

@xn--nding-jua
Copy link
Owner

  • Alle 8 Layer in ein Array zusammenfassen
  • Die Struktur wie folgt anpassen

TEffekt = record
ID : TGUID;
Name : string[255];
Beschreibung : string[255];
OnLayer : integer; // in which layer should the effect be shown
StopScene : boolean;
Timeindex : Double; // Position within Timeline
UseIDScene: boolean; // Normale, oder Audioeffektszene?
Fadetime: Cardinal; //fadetime gibt die Einblendzeit in ms für den aktuellen Effekt an
Devices:array of TDeviceSceneDevice;
Befehle: array of TBefehl2;
Befehlswerte:array of TDeviceSceneDevice;
end;
TVideoseeking = record
enabled:boolean;
starttime:Integer;
endtime:Integer;
end;
TWaveformdata = record
_wavebufL : array[0..400] of QWord;
_wavebufR : array[0..400] of QWord;
fadervalues : array[1..8] of byte;
equalizer : array[0..10] of 0..30;
effekte : array[1..8] of boolean;
end;

AEP.audiodatei : string[255];
AEP.audiopfad : string[255];
AEP.waveform : TWaveformdata;
AEP.Layers : array of String[255];
AEP.LayersActive : array of boolean;
AEP.Effect : array of TEffekt;
AEP.repeatjump : Int64;
AEP.repeatdestination : Int64;
AEP.repeatactive:boolean;
AEP.volume:Byte;
AEP.videoseeking : array[1..4] of TVideoseeking;

  • Array dann nach Reihenfolge sortieren
  • Lediglich bei Anzeige die einzelnen Layers auswerten

Zusätzlich folgende Funktionen implementieren:

- Mehrere selektierte Effekte an aktuelle Cursorposition kopieren (Kopieren und dabei entsprechend Zeitoffset anpassen)

@xn--nding-jua
Copy link
Owner Author

  • Bei Bearbeiten / Verschieben / Kopieren von Effekten muss lediglich ein Array sortiert werden
  • Layeranzahl kann dann vom Benutzer problemlos eingestellt werden
  • die Performance sollte hierbei verbessert werden können
  • Ablauf:
    for i:=0 to length(Array)-1 do
    begin
    if (Timeindex<=CurrentTime) and (not ElementPassed) then
    begin
    ElementPassed:=true;
    StartElement();
    end;
    end;

Somit sind auch alle Erkennungsprobleme behoben, sowie das Sicherstellen des Startens aller Szenen in der korrekten Reihenfolge bei Klick an eine bestimmte Position.

Abgeschätzter Programmieraufwand für alle Funktionen: 2 Wochen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant