Habe es jetzt mal umgesetzt.
Delphi-Quellcode:
ID_TRACK_MASTERVOL:
begin
Difference := SKAERO_GetTrackValue(SKAERO_GetMainItem(MainHandle, wp)) - oldMasterVolume;
oldMasterVolume := SKAERO_GetTrackValue(SKAERO_GetMainItem(MainHandle, wp));
for IntI := 0 to 15 do
begin
if Sign(Difference) = 1 then
begin
if Volume[IntI] = 100 then
Abort;
end else
if Volume[IntI] = 0 then
Abort;
end;
for IntI := 0 to 15 do
begin
Volume[IntI] := Max(Min(Volume[IntI] + Difference, 100), 0);
SKAERO_SetTrackValue(SKAERO_GetMainItem(MainHandle, ID_VOLUME_FIRST + IntI), Volume[IntI]);
end;
end;
bekomme aber bei Abort ein EAbort
Exception..
Ansonsten funktioniert es Hervorragend
gruss