diff options
author | brunzelchen <brunzelchen@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-04-28 19:54:31 +0000 |
---|---|---|
committer | brunzelchen <brunzelchen@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-04-28 19:54:31 +0000 |
commit | 60e6d3f9904a8114e985fccd14454b9b604ea275 (patch) | |
tree | c3dc298e5c81272f3df8e80171ae0f60d8774f2e /Game/Code/lib/midi | |
parent | 58a47541955f5010269d72a06e307bbb945211ea (diff) | |
download | usdx-60e6d3f9904a8114e985fccd14454b9b604ea275.tar.gz usdx-60e6d3f9904a8114e985fccd14454b9b604ea275.tar.xz usdx-60e6d3f9904a8114e985fccd14454b9b604ea275.zip |
- new SDL.dll (with a quick and dirty workaround for the hanging-mouse problem)
- changing of sorting and folder-option (on/off) does not need any restart now
- a lot of code clean up
- some bugfixes... i hope... dont't know which...
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.0.1 Challenge MOD@2316 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code/lib/midi')
-rw-r--r-- | Game/Code/lib/midi/MidiFile.pas | 28 | ||||
-rw-r--r-- | Game/Code/lib/midi/Midiin.pas | 7 | ||||
-rw-r--r-- | Game/Code/lib/midi/Midiout.pas | 12 |
3 files changed, 23 insertions, 24 deletions
diff --git a/Game/Code/lib/midi/MidiFile.pas b/Game/Code/lib/midi/MidiFile.pas index 10b64a80..0a848eda 100644 --- a/Game/Code/lib/midi/MidiFile.pas +++ b/Game/Code/lib/midi/MidiFile.pas @@ -183,8 +183,8 @@ type // playing attributes
playing: boolean;
- PlayStartTime: integer;
- currentTime: integer; // Current playtime in msec
+ PlayStartTime: Cardinal;
+ currentTime: Cardinal; // Current playtime in msec
currentPos: Double; // Current Position in ticks
procedure OnTrackReady;
@@ -210,9 +210,9 @@ type procedure StopPlaying;
procedure ContinuePlaying;
- procedure PlayToTime(time: integer);
- procedure GoToTime(time: integer);
- function GetCurrentTime: integer;
+ procedure PlayToTime(time: Cardinal);
+ procedure GoToTime(time: Cardinal);
+ function GetCurrentTime: Cardinal;
function GetFusPerTick : Double;
function GetTrackLength:integer;
function Ready: boolean;
@@ -424,7 +424,7 @@ end; constructor TMidifile.Create(AOwner: TComponent);
begin
inherited Create(AOWner);
- MIDIFileHandle:=AllocateHWnd(WndProc);
+ MIDIFileHandle:=Classes.AllocateHWnd(WndProc);
chunkData := nil;
chunkType := illegal;
Tracks := TList.Create;
@@ -444,7 +444,7 @@ begin if MIDITimerID<>0 then KillMIDITimer;
- DeallocateHWnd(MIDIFileHandle);
+ Classes.DeallocateHWnd(MIDIFileHandle);
inherited Destroy;
end;
@@ -514,17 +514,17 @@ begin SetPriorityClass(MIDIFileHandle,FPriority);
end;
-function TMidiFile.GetCurrentTime: integer;
+function TMidiFile.GetCurrentTime: Cardinal;
begin
Result := currentTime;
end;
-procedure TMidifile.PlayToTime(time: integer);
+procedure TMidifile.PlayToTime(time: Cardinal);
var
i: integer;
- track: TMidiTrack;
pos: integer;
deltaTime: integer;
+
begin
// calculate the pos in the file.
// pos is actually tick
@@ -541,11 +541,11 @@ begin currentTime := time;
end;
-procedure TMidifile.GoToTime(time: integer);
+procedure TMidifile.GoToTime(time: Cardinal);
var
i: integer;
- track: TMidiTrack;
pos: integer;
+
begin
// this function should be changed because FusPerTick might not be constant
pos := round((time * 1000) / FusPerTick);
@@ -639,10 +639,9 @@ var dTime: integer;
event: integer;
len: integer;
- str: string;
midiEvent: PMidiEvent;
- i: integer;
us_per_quarter: integer;
+
begin
chunkIndex := chunkData;
// inc(chunkIndex);
@@ -953,4 +952,3 @@ begin end;
end.
-
diff --git a/Game/Code/lib/midi/Midiin.pas b/Game/Code/lib/midi/Midiin.pas index 32a17c51..2ed8d619 100644 --- a/Game/Code/lib/midi/Midiin.pas +++ b/Game/Code/lib/midi/Midiin.pas @@ -102,7 +102,8 @@ unit MidiIn; interface
uses
- Classes, SysUtils, WinTypes, Messages, WinProcs, MMSystem, MidiDefs, MidiType,
+ Classes, SysUtils, WinTypes, Messages, WinProcs, MMSystem,
+ MidiDefs, MidiType,
MidiCons, Circbuf, Delphmcb;
type
@@ -259,7 +260,7 @@ begin { Create the window for callback notification }
if not (csDesigning in ComponentState) then
begin
- Handle := AllocateHwnd(MidiInput);
+ Handle := Classes.AllocateHwnd(MidiInput);
end;
FState := misClosed;
@@ -280,7 +281,7 @@ begin if (PCtlInfo <> nil) then
GlobalSharedLockedFree(PCtlinfo^.hMem, PCtlInfo);
- DeallocateHwnd(Handle);
+ Classes.DeallocateHwnd(Handle);
inherited Destroy;
end;
diff --git a/Game/Code/lib/midi/Midiout.pas b/Game/Code/lib/midi/Midiout.pas index 91b75073..ba5f7697 100644 --- a/Game/Code/lib/midi/Midiout.pas +++ b/Game/Code/lib/midi/Midiout.pas @@ -126,7 +126,7 @@ type TMidiOutput = class(TComponent)
protected
Handle: THandle; { Window handle used for callback notification }
- FDeviceID: Integer; { MIDI device ID }
+ FDeviceID: Cardinal; { MIDI device ID }
FMIDIHandle: Hmidiout; { Handle to output device }
FState: midioutputState; { Current device state }
PCtlInfo: PMidiCtlInfo; { Pointer to control info for DLL }
@@ -151,7 +151,7 @@ type FOnMIDIOutput: TNotifyEvent; { Sysex output finished }
procedure MidiOutput(var Message: TMessage);
- procedure SetDeviceID(DeviceID: Integer);
+ procedure SetDeviceID(DeviceID: Cardinal);
procedure SetProductName(NewProductName: string);
procedure SetTechnology(NewTechnology: OutPortTech);
function midioutErrorString(WError: Word): string;
@@ -192,7 +192,7 @@ type { TODO: Property editor with dropdown list of product names }
property ProductName: string read FProductName write SetProductName;
- property DeviceID: Integer read FDeviceID write SetDeviceID default 0;
+ property DeviceID: Cardinal read FDeviceID write SetDeviceID default 0;
{ TODO: midiOutGetVolume? Or two properties for Left and Right volume?
Is it worth it??
midiOutMessage?? Does anyone use this? }
@@ -243,7 +243,7 @@ begin { Create the window for callback notification }
if not (csDesigning in ComponentState) then
begin
- Handle := AllocateHwnd(MidiOutput);
+ Handle := Classes.AllocateHwnd(MidiOutput);
end;
end;
@@ -256,7 +256,7 @@ begin Close;
if (PCtlInfo <> nil) then
GlobalSharedLockedFree(PCtlinfo^.hMem, PCtlInfo);
- DeallocateHwnd(Handle);
+ Classes.DeallocateHwnd(Handle);
inherited Destroy;
end;
@@ -286,7 +286,7 @@ end; {-------------------------------------------------------------------}
{ Set the output device ID and change the other properties to match }
-procedure Tmidioutput.SetDeviceID(DeviceID: Integer);
+procedure Tmidioutput.SetDeviceID(DeviceID: Cardinal);
var
midioutCaps: TmidioutCaps;
begin
|