aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Game/Code/Classes/UCommandLine.pas4
-rw-r--r--Game/Code/Classes/URecord.pas10
-rw-r--r--Game/Code/Classes/USongs.pas25
-rw-r--r--Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.mode1141
-rw-r--r--Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.pbxuser231
-rw-r--r--Game/Code/MacOSX/UltraStarDX.xcodeproj/project.pbxproj30
-rwxr-xr-xGame/Code/MacOSX/Wrapper/MidiFile.pas102
-rwxr-xr-xGame/Code/MacOSX/Wrapper/MidiOut.pas62
-rwxr-xr-xGame/Code/MacOSX/Wrapper/PNGImage.pas14
-rwxr-xr-xGame/Code/MacOSX/Wrapper/PseudoThread.pas48
-rwxr-xr-xGame/Code/MacOSX/Wrapper/zlportio.pas31
11 files changed, 306 insertions, 392 deletions
diff --git a/Game/Code/Classes/UCommandLine.pas b/Game/Code/Classes/UCommandLine.pas
index 1539ffaf..01ece795 100644
--- a/Game/Code/Classes/UCommandLine.pas
+++ b/Game/Code/Classes/UCommandLine.pas
@@ -2,6 +2,10 @@ unit UCommandLine;
interface
+{$IFDEF FPC}
+ {$MODE Delphi}
+{$ENDIF}
+
{$I switches.inc}
diff --git a/Game/Code/Classes/URecord.pas b/Game/Code/Classes/URecord.pas
index 87c35cd8..29a9d7f9 100644
--- a/Game/Code/Classes/URecord.pas
+++ b/Game/Code/Classes/URecord.pas
@@ -323,6 +323,16 @@ begin
BASS_RecordInit(SC);
InputName := BASS_RecordGetInputName(SCI);
+
+ {$IFDEF DARWIN}
+ // Under MacOSX the SingStar Mics have an empty
+ // InputName. So, we have to add a hard coded
+ // Workaround for this problem
+ if (InputName = nil) and (Pos( 'USBMIC Serial#', Descr) > 0) then
+ begin
+ InputName := 'Microphone';
+ end;
+ {$ENDIF}
SetLength(SoundCard[SC].Input, 1);
SoundCard[SC].Input[SCI].Name := InputName;
diff --git a/Game/Code/Classes/USongs.pas b/Game/Code/Classes/USongs.pas
index a04c1032..9b9ab7bb 100644
--- a/Game/Code/Classes/USongs.pas
+++ b/Game/Code/Classes/USongs.pas
@@ -8,6 +8,12 @@ interface
{$I switches.inc}
+{$IFDEF DARWIN}
+ {$IFDEF DEBUG}
+ {$DEFINE USE_PSEUDO_THREAD}
+ {$ENDIF}
+{$ENDIF}
+
uses
{$IFDEF MSWINDOWS}
Windows,
@@ -30,6 +36,9 @@ uses
{$IFDEF DARWIN}
cthreads,
{$ENDIF}
+ {$IFDEF USE_PSEUDO_THREAD}
+ PseudoThread,
+ {$ENDIF}
UCatCovers;
type
@@ -86,8 +95,13 @@ type
OrderTyp: integer; // type of sorting for this button (0=name)
CatNumber: integer; // Count of Songs in Category for Cats and Number of Song in Category for Songs
end;
-
+
+
+ {$IFDEF USE_PSEUDO_THREAD}
+ TSongs = class( TPseudoThread )
+ {$ELSE}
TSongs = class( TThread )
+ {$ENDIF}
private
BrowsePos : Cardinal; //Actual Pos in Song Array
fNotify ,
@@ -204,7 +218,9 @@ begin
*)
{$endif}
- Setlength(Song, 0);
+{$IFNDEF USE_PSEUDO_THREAD}
+ Setlength(Song, 0);
+{$ENDIF}
end;
procedure TSongs.DoDirChanged(Sender: TObject);
@@ -216,6 +232,9 @@ procedure TSongs.Execute();
var
fChangeNotify : THandle;
begin
+{$IFDEF USE_PSEUDO_THREAD}
+ int_LoadSongList();
+{$ELSE}
fParseSongDirectory := true;
while not self.terminated do
@@ -229,7 +248,7 @@ begin
self.suspend;
end;
-
+{$ENDIF}
end;
procedure TSongs.int_LoadSongList;
diff --git a/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.mode1 b/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.mode1
index bd9923d0..a847e918 100644
--- a/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.mode1
+++ b/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.mode1
@@ -190,24 +190,24 @@
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
- <string>2C82EFB60CDFC4BA00A79F26</string>
+ <string>2CEA2B810CE38FB40097A5FF</string>
<key>PBXProjectModuleLabel</key>
- <string>USongs.pas</string>
+ <string>URecord.pas</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
- <string>2C82EFB70CDFC4BA00A79F26</string>
+ <string>2CEA2B820CE38FB40097A5FF</string>
<key>PBXProjectModuleLabel</key>
- <string>USongs.pas</string>
+ <string>URecord.pas</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>2CD986A80CDFDF790007B9C6</string>
+ <string>2CEA2B960CE391870097A5FF</string>
<key>history</key>
<array>
- <string>2C82F12E0CDFDEA300A79F26</string>
+ <string>2CEA2B800CE38FA50097A5FF</string>
</array>
</dict>
<key>SplitCount</key>
@@ -223,7 +223,47 @@
<key>PBXModuleWindowStatusBarHidden2</key>
<false/>
<key>RubberWindowFrame</key>
- <string>84 171 797 789 0 0 1680 1028 </string>
+ <string>130 129 797 789 0 0 1680 1028 </string>
+ </dict>
+ </dict>
+ <dict>
+ <key>Content</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>2CEA2B1B0CE38A270097A5FF</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>PseudoThread.pas</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>2CEA2B1C0CE38A270097A5FF</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>PseudoThread.pas</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>2CEA2B970CE391870097A5FF</string>
+ <key>history</key>
+ <array>
+ <string>2CEA2B060CE388ED0097A5FF</string>
+ </array>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>Geometry</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 20}, {776, 858}}</string>
+ <key>PBXModuleWindowStatusBarHidden2</key>
+ <false/>
+ <key>RubberWindowFrame</key>
+ <string>15 124 776 899 0 0 1680 1028 </string>
</dict>
</dict>
<dict>
@@ -244,10 +284,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>2CD986A90CDFDF790007B9C6</string>
+ <string>2CEA2B980CE391870097A5FF</string>
<key>history</key>
<array>
- <string>2C82F12F0CDFDEA300A79F26</string>
+ <string>2C3366B90CE129A900399210</string>
</array>
</dict>
<key>SplitCount</key>
@@ -284,10 +324,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>2CD986AA0CDFDF790007B9C6</string>
+ <string>2CEA2B990CE391870097A5FF</string>
<key>history</key>
<array>
- <string>2C82F1300CDFDEA300A79F26</string>
+ <string>2C3366BA0CE129A900399210</string>
</array>
</dict>
<key>SplitCount</key>
@@ -340,8 +380,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -410,7 +448,7 @@
<real>266</real>
</array>
<key>RubberWindowFrame</key>
- <string>764 270 817 753 0 0 1680 1028 </string>
+ <string>760 270 817 753 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -447,7 +485,7 @@
<key>Frame</key>
<string>{{0, 0}, {529, 0}}</string>
<key>RubberWindowFrame</key>
- <string>764 270 817 753 0 0 1680 1028 </string>
+ <string>760 270 817 753 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -455,6 +493,8 @@
<string>0pt</string>
</dict>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -467,7 +507,7 @@
<key>Frame</key>
<string>{{0, 5}, {529, 707}}</string>
<key>RubberWindowFrame</key>
- <string>764 270 817 753 0 0 1680 1028 </string>
+ <string>760 270 817 753 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -491,9 +531,9 @@
</array>
<key>TableOfContents</key>
<array>
- <string>2CD9869C0CDFDEE60007B9C6</string>
+ <string>2CEA2ACE0CE384040097A5FF</string>
<string>1CE0B1FE06471DED0097A5F4</string>
- <string>2CD9869D0CDFDEE60007B9C6</string>
+ <string>2CEA2ACF0CE384040097A5FF</string>
<string>1CE0B20306471E060097A5F4</string>
<string>1CE0B20506471E060097A5F4</string>
</array>
@@ -627,15 +667,22 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
+ <string>2CEA2B280CE38A270097A5FF</string>
+ <string>2CEA2B290CE38A270097A5FF</string>
+ <string>2CDD4BFC0CB948FC00549FAC</string>
+ <string>2CEA2B260CE38A270097A5FF</string>
<string>2CDD4B730CB935C700549FAC</string>
+ <string>1C0AD2B3069F1EA900FABCE6</string>
<string>2C82EF8B0CDFB9B300A79F26</string>
<string>2C82EFB90CDFC4BA00A79F26</string>
+ <string>2CEA2B1B0CE38A270097A5FF</string>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <string>2CEA2B810CE38FB40097A5FF</string>
<string>/Users/eddie/Projekte/UltraStarDX/trunk/Game/Code/MacOSX/UltraStarDX.xcodeproj</string>
- <string>2C82EFB60CDFC4BA00A79F26</string>
- <string>1C0AD2B3069F1EA900FABCE6</string>
+ <string>1CD10A99069EF8BA00B06720</string>
</array>
<key>WindowString</key>
- <string>764 270 817 753 0 0 1680 1028 </string>
+ <string>760 270 817 753 0 0 1680 1028 </string>
<key>WindowTools</key>
<array>
<dict>
@@ -656,7 +703,7 @@
<key>PBXProjectModuleGUID</key>
<string>1CD0528F0623707200166675</string>
<key>PBXProjectModuleLabel</key>
- <string></string>
+ <string>URecord.pas</string>
<key>StatusBarVisibility</key>
<true/>
</dict>
@@ -673,6 +720,8 @@
<string>566pt</string>
</dict>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -712,7 +761,7 @@
<key>TableOfContents</key>
<array>
<string>2CDD4B730CB935C700549FAC</string>
- <string>2CD986A70CDFDF660007B9C6</string>
+ <string>2CEA2AD90CE384620097A5FF</string>
<string>1CD0528F0623707200166675</string>
<string>XCMainBuildResultsModuleGUID</string>
</array>
@@ -754,8 +803,8 @@
<string>yes</string>
<key>sizes</key>
<array>
- <string>{{0, 0}, {337, 414}}</string>
- <string>{{337, 0}, {627, 414}}</string>
+ <string>{{0, 0}, {335, 414}}</string>
+ <string>{{335, 0}, {629, 414}}</string>
</array>
</dict>
<key>VerticalSplitView</key>
@@ -818,14 +867,14 @@
<key>TableOfContents</key>
<array>
<string>1CD10A99069EF8BA00B06720</string>
- <string>2C82EF2D0CDFAB5700A79F26</string>
+ <string>2CEA2B200CE38A270097A5FF</string>
<string>1C162984064C10D400B95A72</string>
- <string>2C82EF2E0CDFAB5700A79F26</string>
- <string>2C82EF2F0CDFAB5700A79F26</string>
- <string>2C82EF300CDFAB5700A79F26</string>
- <string>2C82EF310CDFAB5700A79F26</string>
- <string>2C82EF320CDFAB5700A79F26</string>
- <string>2C82EF330CDFAB5700A79F26</string>
+ <string>2CEA2B210CE38A270097A5FF</string>
+ <string>2CEA2B220CE38A270097A5FF</string>
+ <string>2CEA2B230CE38A270097A5FF</string>
+ <string>2CEA2B240CE38A270097A5FF</string>
+ <string>2CEA2B250CE38A270097A5FF</string>
+ <string>2CEA2B260CE38A270097A5FF</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debug</string>
@@ -834,7 +883,7 @@
<key>WindowToolGUID</key>
<string>1CD10A99069EF8BA00B06720</string>
<key>WindowToolIsVisible</key>
- <false/>
+ <true/>
</dict>
<dict>
<key>FirstTimeWindowDisplayed</key>
@@ -852,12 +901,14 @@
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CDD528C0622207200134675</string>
<key>PBXProjectModuleLabel</key>
- <string>USongs.pas</string>
+ <string>URecord.pas</string>
<key>StatusBarVisibility</key>
<true/>
</dict>
@@ -878,8 +929,6 @@
<string>502pt</string>
</dict>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -915,8 +964,8 @@
<key>TableOfContents</key>
<array>
<string>1C530D57069F1CE1000CFCEE</string>
- <string>2C82EF7C0CDFB8FA00A79F26</string>
- <string>2C82EF7D0CDFB8FA00A79F26</string>
+ <string>2CEA2B4B0CE38D340097A5FF</string>
+ <string>2CEA2B4C0CE38D340097A5FF</string>
<string>1CDD528C0622207200134675</string>
<string>1CD0528E0623707200166675</string>
</array>
@@ -944,8 +993,6 @@
<key>Dock</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -981,7 +1028,7 @@
<key>TableOfContents</key>
<array>
<string>2CDD4BFC0CB948FC00549FAC</string>
- <string>2C82EF600CDFB7E100A79F26</string>
+ <string>2CEA2B270CE38A270097A5FF</string>
<string>1C78EAAC065D492600B07095</string>
</array>
<key>WindowString</key>
@@ -989,7 +1036,7 @@
<key>WindowToolGUID</key>
<string>2CDD4BFC0CB948FC00549FAC</string>
<key>WindowToolIsVisible</key>
- <true/>
+ <false/>
</dict>
<dict>
<key>FirstTimeWindowDisplayed</key>
@@ -1053,7 +1100,7 @@
<key>Frame</key>
<string>{{0, 0}, {1092, 660}}</string>
<key>RubberWindowFrame</key>
- <string>568 148 1092 701 0 0 1680 1028 </string>
+ <string>266 221 1092 701 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXRunSessionModule</string>
@@ -1076,18 +1123,18 @@
<key>TableOfContents</key>
<array>
<string>1C0AD2B3069F1EA900FABCE6</string>
- <string>2CD986A10CDFDEE60007B9C6</string>
+ <string>2CEA2AD30CE384040097A5FF</string>
<string>1CD0528B0623707200166675</string>
- <string>2CD986A20CDFDEE60007B9C6</string>
+ <string>2CEA2AD40CE384040097A5FF</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.run</string>
<key>WindowString</key>
- <string>568 148 1092 701 0 0 1680 1028 </string>
+ <string>266 221 1092 701 0 0 1680 1028 </string>
<key>WindowToolGUID</key>
<string>1C0AD2B3069F1EA900FABCE6</string>
<key>WindowToolIsVisible</key>
- <true/>
+ <false/>
</dict>
<dict>
<key>FirstTimeWindowDisplayed</key>
diff --git a/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.pbxuser b/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.pbxuser
index 89340e56..481f2448 100644
--- a/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.pbxuser
+++ b/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.pbxuser
@@ -1,5 +1,25 @@
// !$*UTF8*$!
{
+ 2C3366B90CE129A900399210 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2C4D9C620CC9EC8C0031092D /* TextGL.pas */;
+ name = "TextGL.pas: 116";
+ rLen = 0;
+ rLoc = 2871;
+ rType = 0;
+ vrLen = 1468;
+ vrLoc = 10961;
+ };
+ 2C3366BA0CE129A900399210 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2CF3EF260CDE13BA004F5956 /* MacResources.pas */;
+ name = "MacResources.pas: 55";
+ rLen = 0;
+ rLoc = 1218;
+ rType = 0;
+ vrLen = 2000;
+ vrLoc = 2591;
+ };
2C4D9C620CC9EC8C0031092D /* TextGL.pas */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {758, 7840}}";
@@ -11,8 +31,8 @@
2C4D9C630CC9EC8C0031092D /* UAudio_bass.pas */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {884, 9100}}";
- sepNavSelRange = "{16891, 0}";
- sepNavVisRect = "{{0, 8330}, {758, 716}}";
+ sepNavSelRange = "{6579, 19}";
+ sepNavVisRect = "{{0, 2661}, {758, 716}}";
sepNavWindowFrame = "{{15, 178}, {797, 845}}";
};
};
@@ -34,17 +54,17 @@
};
2C4D9C660CC9EC8C0031092D /* UCommandLine.pas */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {758, 4074}}";
- sepNavSelRange = "{54, 0}";
+ sepNavIntBoundsRect = "{{0, 0}, {758, 4130}}";
+ sepNavSelRange = "{79, 0}";
sepNavVisRect = "{{0, 0}, {758, 716}}";
sepNavWindowFrame = "{{84, 115}, {797, 845}}";
};
};
2C4D9C670CC9EC8C0031092D /* UCommon.pas */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {749, 4186}}";
- sepNavSelRange = "{748, 12}";
- sepNavVisRect = "{{0, 234}, {749, 470}}";
+ sepNavIntBoundsRect = "{{0, 0}, {715, 4228}}";
+ sepNavSelRange = "{30, 42}";
+ sepNavVisRect = "{{0, 0}, {715, 815}}";
sepNavWindowFrame = "{{38, 58}, {754, 944}}";
};
};
@@ -195,8 +215,8 @@
2C4D9C7B0CC9EC8C0031092D /* UMain.pas */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {998, 15246}}";
- sepNavSelRange = "{7062, 8}";
- sepNavVisRect = "{{0, 3832}, {749, 470}}";
+ sepNavSelRange = "{7261, 0}";
+ sepNavVisRect = "{{0, 3896}, {923, 342}}";
sepNavWindowFrame = "{{222, 91}, {1052, 743}}";
};
};
@@ -258,9 +278,9 @@
};
2C4D9C840CC9EC8C0031092D /* URecord.pas */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {749, 5054}}";
- sepNavSelRange = "{152, 4}";
- sepNavVisRect = "{{0, 0}, {749, 470}}";
+ sepNavIntBoundsRect = "{{0, 0}, {749, 5194}}";
+ sepNavSelRange = "{7313, 19}";
+ sepNavVisRect = "{{0, 4333}, {749, 470}}";
sepNavWindowFrame = "{{130, 73}, {797, 845}}";
};
};
@@ -298,10 +318,10 @@
};
2C4D9C890CC9EC8C0031092D /* USongs.pas */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1052, 14686}}";
- sepNavSelRange = "{12734, 0}";
- sepNavVisRect = "{{0, 5934}, {758, 716}}";
- sepNavWindowFrame = "{{84, 115}, {797, 845}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1052, 14952}}";
+ sepNavSelRange = "{9556, 0}";
+ sepNavVisRect = "{{0, 5665}, {758, 716}}";
+ sepNavWindowFrame = "{{15, 156}, {797, 845}}";
};
};
2C4D9C8A0CC9EC8C0031092D /* UTextClasses.pas */ = {
@@ -370,9 +390,9 @@
};
2C4D9DCC0CC9EE6F0031092D /* UDisplay.pas */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1277, 6678}}";
- sepNavSelRange = "{9419, 36}";
- sepNavVisRect = "{{0, 4975}, {1277, 312}}";
+ sepNavIntBoundsRect = "{{0, 0}, {794, 6734}}";
+ sepNavSelRange = "{9129, 0}";
+ sepNavVisRect = "{{0, 4834}, {758, 716}}";
sepNavWindowFrame = "{{38, 157}, {797, 845}}";
};
};
@@ -463,22 +483,6 @@
sepNavVisRect = "{{0, 2054}, {749, 470}}";
};
};
- 2C4D9E000CC9EF840031092D /* Graphics.pas */ = {
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {620, 2674}}";
- sepNavSelRange = "{58, 56}";
- sepNavVisRect = "{{0, 0}, {577, 612}}";
- sepNavWindowFrame = "{{38, 261}, {616, 741}}";
- };
- };
- 2C4D9E010CC9EF840031092D /* JPEG.pas */ = {
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {602, 612}}";
- sepNavSelRange = "{53, 0}";
- sepNavVisRect = "{{0, 0}, {577, 612}}";
- sepNavWindowFrame = "{{61, 240}, {616, 741}}";
- };
- };
2C4D9E040CC9EF840031092D /* OpenGL12.pas */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1616, 65828}}";
@@ -503,80 +507,6 @@
sepNavWindowFrame = "{{15, 282}, {616, 741}}";
};
};
- 2C82F0E60CDFDBA000A79F26 /* USongs.pas:430 */ = {
- isa = PBXFileBreakpoint;
- actions = (
- );
- breakpointStyle = 0;
- continueAfterActions = 0;
- delayBeforeContinue = 0;
- fileReference = 2C4D9C890CC9EC8C0031092D /* USongs.pas */;
- hitCount = 1;
- lineNumber = 430;
- location = UltraStarDX;
- modificationTime = 215998015.652328;
- state = 1;
- };
- 2C82F12E0CDFDEA300A79F26 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 2C4D9C890CC9EC8C0031092D /* USongs.pas */;
- name = "USongs.pas: 466";
- rLen = 0;
- rLoc = 12734;
- rType = 0;
- vrLen = 1568;
- vrLoc = 11360;
- };
- 2C82F12F0CDFDEA300A79F26 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 2C4D9C620CC9EC8C0031092D /* TextGL.pas */;
- name = "TextGL.pas: 116";
- rLen = 0;
- rLoc = 2871;
- rType = 0;
- vrLen = 1468;
- vrLoc = 10961;
- };
- 2C82F1300CDFDEA300A79F26 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 2CF3EF260CDE13BA004F5956 /* MacResources.pas */;
- name = "MacResources.pas: 55";
- rLen = 0;
- rLoc = 1218;
- rType = 0;
- vrLen = 2000;
- vrLoc = 2591;
- };
- 2CD986A80CDFDF790007B9C6 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 2C4D9C890CC9EC8C0031092D /* USongs.pas */;
- name = "USongs.pas: 466";
- rLen = 0;
- rLoc = 12734;
- rType = 0;
- vrLen = 1566;
- vrLoc = 11360;
- };
- 2CD986A90CDFDF790007B9C6 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 2C4D9C620CC9EC8C0031092D /* TextGL.pas */;
- name = "TextGL.pas: 116";
- rLen = 0;
- rLoc = 2871;
- rType = 0;
- vrLen = 1468;
- vrLoc = 10961;
- };
- 2CD986AA0CDFDF790007B9C6 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 2CF3EF260CDE13BA004F5956 /* MacResources.pas */;
- name = "MacResources.pas: 55";
- rLen = 0;
- rLoc = 1218;
- rType = 0;
- vrLen = 2000;
- vrLoc = 2591;
- };
2CDC716B0CDB9CB70018F966 /* StrUtils.pas */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1013, 1022}}";
@@ -638,7 +568,6 @@
name = "Project Breakpoints";
objects = (
2CDEA8080CBD7D920096994C /* UMain.pas:293 */,
- 2C82F0E60CDFDBA000A79F26 /* USongs.pas:430 */,
);
};
2CDEA8080CBD7D920096994C /* UMain.pas:293 */ = {
@@ -651,10 +580,69 @@
fileReference = 2CDD439C0CBBE92D00F364DE /* UMain.pas */;
hitCount = 1;
lineNumber = 293;
- location = UltraStarDX;
- modificationTime = 215998014.007265;
+ modificationTime = 216240504.343527;
state = 1;
};
+ 2CEA2AF00CE3868E0097A5FF /* PseudoThread.pas */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {737, 826}}";
+ sepNavSelRange = "{415, 0}";
+ sepNavVisRect = "{{0, 0}, {737, 826}}";
+ sepNavWindowFrame = "{{15, 68}, {776, 955}}";
+ };
+ };
+ 2CEA2B060CE388ED0097A5FF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ comments = "error:column 30 - Only virtual methods can be abstract";
+ fRef = 2CEA2AF00CE3868E0097A5FF /* PseudoThread.pas */;
+ rLen = 1;
+ rLoc = 19;
+ rType = 1;
+ };
+ 2CEA2B800CE38FA50097A5FF /* PBXBookmark */ = {
+ isa = PBXBookmark;
+ fRef = 2C4D9C840CC9EC8C0031092D /* URecord.pas */;
+ };
+ 2CEA2B960CE391870097A5FF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2C4D9C840CC9EC8C0031092D /* URecord.pas */;
+ name = "URecord.pas: 325";
+ rLen = 0;
+ rLoc = 7340;
+ rType = 0;
+ vrLen = 1261;
+ vrLoc = 6977;
+ };
+ 2CEA2B970CE391870097A5FF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2CEA2AF00CE3868E0097A5FF /* PseudoThread.pas */;
+ name = "PseudoThread.pas: 23";
+ rLen = 0;
+ rLoc = 415;
+ rType = 0;
+ vrLen = 764;
+ vrLoc = 0;
+ };
+ 2CEA2B980CE391870097A5FF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2C4D9C620CC9EC8C0031092D /* TextGL.pas */;
+ name = "TextGL.pas: 116";
+ rLen = 0;
+ rLoc = 2871;
+ rType = 0;
+ vrLen = 1468;
+ vrLoc = 10961;
+ };
+ 2CEA2B990CE391870097A5FF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2CF3EF260CDE13BA004F5956 /* MacResources.pas */;
+ name = "MacResources.pas: 55";
+ rLen = 0;
+ rLoc = 1218;
+ rType = 0;
+ vrLen = 2000;
+ vrLoc = 2591;
+ };
2CF3EF210CDE13A0004F5956 /* Messages.pas */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1013, 614}}";
@@ -1060,7 +1048,6 @@
);
breakpoints = (
2CDEA8080CBD7D920096994C /* UMain.pas:293 */,
- 2C82F0E60CDFDBA000A79F26 /* USongs.pas:430 */,
);
breakpointsGroup = 2CDD4B7F0CB9394600549FAC /* XCBreakpointsBucket */;
codeSenseManager = 2CDD4B6A0CB9357000549FAC /* Code sense */;
@@ -1166,16 +1153,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 215998180;
- PBXWorkspaceStateSaveDate = 215998180;
+ PBXPerProjectTemplateStateSaveDate = 216237043;
+ PBXWorkspaceStateSaveDate = 216237043;
};
perUserProjectItems = {
- 2C82F12E0CDFDEA300A79F26 /* PBXTextBookmark */ = 2C82F12E0CDFDEA300A79F26 /* PBXTextBookmark */;
- 2C82F12F0CDFDEA300A79F26 /* PBXTextBookmark */ = 2C82F12F0CDFDEA300A79F26 /* PBXTextBookmark */;
- 2C82F1300CDFDEA300A79F26 /* PBXTextBookmark */ = 2C82F1300CDFDEA300A79F26 /* PBXTextBookmark */;
- 2CD986A80CDFDF790007B9C6 /* PBXTextBookmark */ = 2CD986A80CDFDF790007B9C6 /* PBXTextBookmark */;
- 2CD986A90CDFDF790007B9C6 /* PBXTextBookmark */ = 2CD986A90CDFDF790007B9C6 /* PBXTextBookmark */;
- 2CD986AA0CDFDF790007B9C6 /* PBXTextBookmark */ = 2CD986AA0CDFDF790007B9C6 /* PBXTextBookmark */;
+ 2C3366B90CE129A900399210 /* PBXTextBookmark */ = 2C3366B90CE129A900399210 /* PBXTextBookmark */;
+ 2C3366BA0CE129A900399210 /* PBXTextBookmark */ = 2C3366BA0CE129A900399210 /* PBXTextBookmark */;
+ 2CEA2B060CE388ED0097A5FF /* PBXTextBookmark */ = 2CEA2B060CE388ED0097A5FF /* PBXTextBookmark */;
+ 2CEA2B800CE38FA50097A5FF /* PBXBookmark */ = 2CEA2B800CE38FA50097A5FF /* PBXBookmark */;
+ 2CEA2B960CE391870097A5FF /* PBXTextBookmark */ = 2CEA2B960CE391870097A5FF /* PBXTextBookmark */;
+ 2CEA2B970CE391870097A5FF /* PBXTextBookmark */ = 2CEA2B970CE391870097A5FF /* PBXTextBookmark */;
+ 2CEA2B980CE391870097A5FF /* PBXTextBookmark */ = 2CEA2B980CE391870097A5FF /* PBXTextBookmark */;
+ 2CEA2B990CE391870097A5FF /* PBXTextBookmark */ = 2CEA2B990CE391870097A5FF /* PBXTextBookmark */;
};
sourceControlManager = 2CDD4B690CB9357000549FAC /* Source Control */;
userBuildSettings = {
diff --git a/Game/Code/MacOSX/UltraStarDX.xcodeproj/project.pbxproj b/Game/Code/MacOSX/UltraStarDX.xcodeproj/project.pbxproj
index 8495963a..a1515214 100644
--- a/Game/Code/MacOSX/UltraStarDX.xcodeproj/project.pbxproj
+++ b/Game/Code/MacOSX/UltraStarDX.xcodeproj/project.pbxproj
@@ -129,12 +129,8 @@
2C4D9DF20CC9EF210031092D /* sdltruetypefont.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9DF00CC9EF210031092D /* sdltruetypefont.pas */; };
2C4D9DF30CC9EF210031092D /* sdl_ttf.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9DEF0CC9EF210031092D /* sdl_ttf.pas */; };
2C4D9DF40CC9EF210031092D /* sdltruetypefont.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9DF00CC9EF210031092D /* sdltruetypefont.pas */; };
- 2C4D9E0C0CC9EF840031092D /* Graphics.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9E000CC9EF840031092D /* Graphics.pas */; };
- 2C4D9E0D0CC9EF840031092D /* JPEG.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9E010CC9EF840031092D /* JPEG.pas */; };
2C4D9E100CC9EF840031092D /* OpenGL12.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9E040CC9EF840031092D /* OpenGL12.pas */; };
2C4D9E150CC9EF840031092D /* Windows.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9E090CC9EF840031092D /* Windows.pas */; };
- 2C4D9E180CC9EF840031092D /* Graphics.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9E000CC9EF840031092D /* Graphics.pas */; };
- 2C4D9E190CC9EF840031092D /* JPEG.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9E010CC9EF840031092D /* JPEG.pas */; };
2C4D9E1C0CC9EF840031092D /* OpenGL12.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9E040CC9EF840031092D /* OpenGL12.pas */; };
2C4D9E210CC9EF840031092D /* Windows.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9E090CC9EF840031092D /* Windows.pas */; };
2C4D9E450CC9F0ED0031092D /* switches.inc in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9E440CC9F0ED0031092D /* switches.inc */; };
@@ -147,6 +143,12 @@
2CDD4BE20CB947BE00549FAC /* UltraStarDX.pas in Sources */ = {isa = PBXBuildFile; fileRef = DDC6851B09F57195004E4BFF /* UltraStarDX.pas */; };
2CDEA4F70CBD725B0096994C /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2CDEA4F60CBD725B0096994C /* OpenGL.framework */; };
2CDEC4960CC5264600FFA244 /* SDL.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 98B8BE570B1F972400162019 /* SDL.framework */; };
+ 2CEA2AE00CE385190097A5FF /* Graphics.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2CEA2ADE0CE385190097A5FF /* Graphics.pas */; };
+ 2CEA2AE10CE385190097A5FF /* JPEG.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2CEA2ADF0CE385190097A5FF /* JPEG.pas */; };
+ 2CEA2AE20CE385190097A5FF /* Graphics.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2CEA2ADE0CE385190097A5FF /* Graphics.pas */; };
+ 2CEA2AE30CE385190097A5FF /* JPEG.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2CEA2ADF0CE385190097A5FF /* JPEG.pas */; };
+ 2CEA2AF10CE3868E0097A5FF /* PseudoThread.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2CEA2AF00CE3868E0097A5FF /* PseudoThread.pas */; };
+ 2CEA2AF20CE3868E0097A5FF /* PseudoThread.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2CEA2AF00CE3868E0097A5FF /* PseudoThread.pas */; };
2CF3EF220CDE13A0004F5956 /* Messages.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2CF3EF210CDE13A0004F5956 /* Messages.pas */; };
2CF3EF230CDE13A0004F5956 /* Messages.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2CF3EF210CDE13A0004F5956 /* Messages.pas */; };
2CF3EF270CDE13BA004F5956 /* MacResources.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2CF3EF260CDE13BA004F5956 /* MacResources.pas */; };
@@ -424,14 +426,15 @@
2C4D9DEC0CC9EF0A0031092D /* sdl_image.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = sdl_image.pas; path = "/Library/Frameworks/JEDI-SDL.framework/SDL_image/sdl_image.pas"; sourceTree = "<absolute>"; tabWidth = 2; };
2C4D9DEF0CC9EF210031092D /* sdl_ttf.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = sdl_ttf.pas; path = "/Library/Frameworks/JEDI-SDL.framework/SDL_ttf/sdl_ttf.pas"; sourceTree = "<absolute>"; tabWidth = 2; };
2C4D9DF00CC9EF210031092D /* sdltruetypefont.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = sdltruetypefont.pas; path = "/Library/Frameworks/JEDI-SDL.framework/SDL_ttf/sdltruetypefont.pas"; sourceTree = "<absolute>"; tabWidth = 2; };
- 2C4D9E000CC9EF840031092D /* Graphics.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = Graphics.pas; path = Wrapper/Graphics.pas; sourceTree = "<group>"; tabWidth = 2; };
- 2C4D9E010CC9EF840031092D /* JPEG.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = JPEG.pas; path = Wrapper/JPEG.pas; sourceTree = "<group>"; tabWidth = 2; };
2C4D9E040CC9EF840031092D /* OpenGL12.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = OpenGL12.pas; path = Wrapper/OpenGL12.pas; sourceTree = "<group>"; tabWidth = 2; };
2C4D9E090CC9EF840031092D /* Windows.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = Windows.pas; path = Wrapper/Windows.pas; sourceTree = "<group>"; tabWidth = 2; };
2C4D9E440CC9F0ED0031092D /* switches.inc */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = switches.inc; path = ../switches.inc; sourceTree = SOURCE_ROOT; tabWidth = 2; };
2C4FA2A70CDBAD1E002CC3B0 /* ustar-icon_v01.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = "ustar-icon_v01.icns"; path = "../../Graphics/ustar-icon_v01.icns"; sourceTree = SOURCE_ROOT; };
2CDC716B0CDB9CB70018F966 /* StrUtils.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = StrUtils.pas; path = ../../../Modis/SDK/StrUtils.pas; sourceTree = SOURCE_ROOT; tabWidth = 2; };
2CDEA4F60CBD725B0096994C /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
+ 2CEA2ADE0CE385190097A5FF /* Graphics.pas */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.pascal; name = Graphics.pas; path = Wrapper/Graphics.pas; sourceTree = "<group>"; };
+ 2CEA2ADF0CE385190097A5FF /* JPEG.pas */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.pascal; name = JPEG.pas; path = Wrapper/JPEG.pas; sourceTree = "<group>"; };
+ 2CEA2AF00CE3868E0097A5FF /* PseudoThread.pas */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.pascal; name = PseudoThread.pas; path = Wrapper/PseudoThread.pas; sourceTree = "<group>"; };
2CF3EF210CDE13A0004F5956 /* Messages.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = Messages.pas; path = Wrapper/Messages.pas; sourceTree = "<group>"; tabWidth = 2; };
2CF3EF260CDE13BA004F5956 /* MacResources.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = MacResources.pas; path = Wrapper/MacResources.pas; sourceTree = "<group>"; tabWidth = 2; };
2CF54F430CDA1B2B00627463 /* UScreenCredits.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = UScreenCredits.pas; path = ../Screens/UScreenCredits.pas; sourceTree = SOURCE_ROOT; tabWidth = 2; };
@@ -545,10 +548,11 @@
2C4D9DF50CC9EF3A0031092D /* Wrapper */ = {
isa = PBXGroup;
children = (
+ 2CEA2AF00CE3868E0097A5FF /* PseudoThread.pas */,
+ 2CEA2ADE0CE385190097A5FF /* Graphics.pas */,
+ 2CEA2ADF0CE385190097A5FF /* JPEG.pas */,
2CF3EF260CDE13BA004F5956 /* MacResources.pas */,
2CF3EF210CDE13A0004F5956 /* Messages.pas */,
- 2C4D9E000CC9EF840031092D /* Graphics.pas */,
- 2C4D9E010CC9EF840031092D /* JPEG.pas */,
2C4D9E040CC9EF840031092D /* OpenGL12.pas */,
2C4D9E090CC9EF840031092D /* Windows.pas */,
);
@@ -1024,8 +1028,6 @@
2C4D9DED0CC9EF0A0031092D /* sdl_image.pas in Sources */,
2C4D9DF10CC9EF210031092D /* sdl_ttf.pas in Sources */,
2C4D9DF20CC9EF210031092D /* sdltruetypefont.pas in Sources */,
- 2C4D9E0C0CC9EF840031092D /* Graphics.pas in Sources */,
- 2C4D9E0D0CC9EF840031092D /* JPEG.pas in Sources */,
2C4D9E100CC9EF840031092D /* OpenGL12.pas in Sources */,
2C4D9E150CC9EF840031092D /* Windows.pas in Sources */,
2C4D9E450CC9F0ED0031092D /* switches.inc in Sources */,
@@ -1078,6 +1080,9 @@
2CF3EF220CDE13A0004F5956 /* Messages.pas in Sources */,
2CF3EF270CDE13BA004F5956 /* MacResources.pas in Sources */,
2CF8E6BE0CDFA8E80053A996 /* UPartyDefs.pas in Sources */,
+ 2CEA2AE00CE385190097A5FF /* Graphics.pas in Sources */,
+ 2CEA2AE10CE385190097A5FF /* JPEG.pas in Sources */,
+ 2CEA2AF10CE3868E0097A5FF /* PseudoThread.pas in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1146,8 +1151,6 @@
2C4D9DEE0CC9EF0A0031092D /* sdl_image.pas in Sources */,
2C4D9DF30CC9EF210031092D /* sdl_ttf.pas in Sources */,
2C4D9DF40CC9EF210031092D /* sdltruetypefont.pas in Sources */,
- 2C4D9E180CC9EF840031092D /* Graphics.pas in Sources */,
- 2C4D9E190CC9EF840031092D /* JPEG.pas in Sources */,
2C4D9E1C0CC9EF840031092D /* OpenGL12.pas in Sources */,
2C4D9E210CC9EF840031092D /* Windows.pas in Sources */,
2C4D9E460CC9F0ED0031092D /* switches.inc in Sources */,
@@ -1200,6 +1203,9 @@
2CF3EF230CDE13A0004F5956 /* Messages.pas in Sources */,
2CF3EF280CDE13BA004F5956 /* MacResources.pas in Sources */,
2CF8E6BF0CDFA8E80053A996 /* UPartyDefs.pas in Sources */,
+ 2CEA2AE20CE385190097A5FF /* Graphics.pas in Sources */,
+ 2CEA2AE30CE385190097A5FF /* JPEG.pas in Sources */,
+ 2CEA2AF20CE3868E0097A5FF /* PseudoThread.pas in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/Game/Code/MacOSX/Wrapper/MidiFile.pas b/Game/Code/MacOSX/Wrapper/MidiFile.pas
deleted file mode 100755
index c91711cc..00000000
--- a/Game/Code/MacOSX/Wrapper/MidiFile.pas
+++ /dev/null
@@ -1,102 +0,0 @@
-unit MidiFile;
-
-{$I switches.inc}
-
-interface
-
-type
-
- TMidiEvent = record
- event: byte;
- data1: byte;
- data2: byte;
- str: string;
- dticks: integer;
- time: integer;
- mtime: integer;
- len: integer;
- end;
- PMidiEvent = ^TMidiEvent;
-
- TOnMidiEvent = procedure(event: PMidiEvent) of object;
-
-
- TMidiTrack = class
- private
- public
- OnMidiEvent: TOnMidiEvent;
- function getEventCount: integer;
- function getEvent(index: integer): PMidiEvent;
- end;
-
- TMidiFile = class
- private
- FOnMidiEvent : TOnMidiEvent;
- public
- TicksPerQuarter,
- NumberOfTracks,
- BPM : Integer;
- Filename : String;
- Constructor Create(AParent : TObject);
- procedure StartPlaying;
- procedure StopPlaying;
- procedure ReadFile;
- function GetTrack(index: integer): TMidiTrack;
- function getCurrentTime: integer;
- function getTrackLength: integer;
- property OnMidiEvent: TOnMidiEvent read FOnMidiEvent write FOnMidiEvent;
- end;
-
-
-implementation
-
-{ TMidiFile }
-
-constructor TMidiFile.Create(AParent: TObject);
-begin
-
-end;
-
-function TMidiFile.getCurrentTime: integer;
-begin
-
-end;
-
-function TMidiFile.GetTrack(index: integer): TMidiTrack;
-begin
- Result := TMidiTrack.Create;
-end;
-
-function TMidiFile.getTrackLength: integer;
-begin
-
-end;
-
-procedure TMidiFile.ReadFile;
-begin
-
-end;
-
-procedure TMidiFile.StartPlaying;
-begin
-
-end;
-
-procedure TMidiFile.StopPlaying;
-begin
-
-end;
-
-{ TMidiTrack }
-
-function TMidiTrack.getEvent(index: integer): PMidiEvent;
-begin
-
-end;
-
-function TMidiTrack.getEventCount: integer;
-begin
-
-end;
-
-end.
diff --git a/Game/Code/MacOSX/Wrapper/MidiOut.pas b/Game/Code/MacOSX/Wrapper/MidiOut.pas
deleted file mode 100755
index e57da9d0..00000000
--- a/Game/Code/MacOSX/Wrapper/MidiOut.pas
+++ /dev/null
@@ -1,62 +0,0 @@
-unit MidiOut;
-
-{$I switches.inc}
-
-interface
-
-type
-
- TMidiOutput = class
- public
- ProductName : String;
- Constructor Create(AParent : TObject);
- procedure PutShort(MidiMessage: Byte; Data1: Byte; Data2: Byte); virtual;
- function Open: Boolean; virtual;
- function Close: Boolean; virtual;
- {property MIDIHandle: Hmidiout read FMIDIHandle;
- property DriverVersion: Version read FDriverVersion;
- property Technology: OutPortTech read FTechnology write SetTechnology default opt_Synth;
- property Voices: Word read FVoices;
- property Notes: Word read FNotes;
- property ChannelMask: Word read FChannelMask;
- property Support: DWORD read FSupport;
- property Error: Word read FError;
- property Numdevs: Word read FNumdevs;
-
- procedure PutMidiEvent(theEvent: TMyMidiEvent); virtual;
- procedure PutLong(TheSysex: Pointer; msgLength: Word); virtual;
- procedure SetVolume(Left: Word; Right: Word);
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
-
- property ProductName: string read FProductName write SetProductName;
-
- property DeviceID: Integer read FDeviceID write SetDeviceID default 0;
- property Onmidioutput: TNotifyEvent read FOnmidioutput write FOnmidioutput;}
- end;
-
-implementation
-
-{ TMidiOutput }
-
-function TMidiOutput.Close: Boolean;
-begin
-
-end;
-
-constructor TMidiOutput.Create(AParent: TObject);
-begin
- ProductName := 'UltraStar MidiOut Wrapper';
-end;
-
-function TMidiOutput.Open: Boolean;
-begin
-
-end;
-
-procedure TMidiOutput.PutShort(MidiMessage, Data1, Data2: Byte);
-begin
-
-end;
-
-end.
diff --git a/Game/Code/MacOSX/Wrapper/PNGImage.pas b/Game/Code/MacOSX/Wrapper/PNGImage.pas
deleted file mode 100755
index e2454a01..00000000
--- a/Game/Code/MacOSX/Wrapper/PNGImage.pas
+++ /dev/null
@@ -1,14 +0,0 @@
-unit PNGImage;
-
-{$I switches.inc}
-
-interface
-
-uses GlueGraphics;
-
-type
- TPNGObject = TBitmap;
-
-implementation
-
-end.
diff --git a/Game/Code/MacOSX/Wrapper/PseudoThread.pas b/Game/Code/MacOSX/Wrapper/PseudoThread.pas
new file mode 100755
index 00000000..d81a5cfe
--- /dev/null
+++ b/Game/Code/MacOSX/Wrapper/PseudoThread.pas
@@ -0,0 +1,48 @@
+unit PseudoThread;
+
+{$IFDEF FPC}
+ {$MODE Delphi}
+{$ENDIF}
+
+{$I switches.inc}
+
+interface
+
+type
+
+ // Debugging threads with XCode doesn't seem to work.
+ // We use PseudoThread in Debug mode to get proper debugging.
+ TPseudoThread = class(TObject)
+ private
+ protected
+ Terminated,
+ FreeOnTerminate : Boolean;
+ procedure Execute; virtual; abstract;
+ procedure Resume;
+ procedure Suspend;
+ public
+ constructor Create(const suspended : Boolean);
+ end;
+
+implementation
+
+{ TPseudoThread }
+
+constructor TPseudoThread.Create(const suspended : Boolean);
+begin
+ if not suspended then begin
+ Execute;
+ end;
+end;
+
+procedure TPseudoThread.Resume;
+begin
+ Execute;
+end;
+
+procedure TPseudoThread.Suspend;
+begin
+end;
+
+end.
+
diff --git a/Game/Code/MacOSX/Wrapper/zlportio.pas b/Game/Code/MacOSX/Wrapper/zlportio.pas
deleted file mode 100755
index 92b4a505..00000000
--- a/Game/Code/MacOSX/Wrapper/zlportio.pas
+++ /dev/null
@@ -1,31 +0,0 @@
-unit zlportio;
-
-{$I switches.inc}
-
-interface
-
-uses GlueWindows;
-
- procedure zlioportwrite( const Port,DataType,Data:dword );
- procedure portwriteb( const Port:Dword;const Data:byte );
- function GetTime : Real;
-
-implementation
-
-uses SysUtils;
-
-procedure zlioportwrite( const Port,DataType,Data:dword );
-begin
-end;
-
-procedure portwriteb( const Port:Dword;const Data:byte );
-begin
-end;
-
-function GetTime : Real;
-begin
- Result := Now;
-end;
-
-end.
-