aboutsummaryrefslogtreecommitdiff
path: root/macosx/plugins/DFSound
diff options
context:
space:
mode:
Diffstat (limited to 'macosx/plugins/DFSound')
-rw-r--r--macosx/plugins/DFSound/English.lproj/Credits.rtf14
-rwxr-xr-xmacosx/plugins/DFSound/English.lproj/InfoPlist.stringsbin0 -> 538 bytes
-rw-r--r--macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/classes.nib25
-rw-r--r--macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/info.nib16
-rwxr-xr-xmacosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/keyedobjects.nibbin0 -> 10993 bytes
-rw-r--r--macosx/plugins/DFSound/Info.plist22
-rw-r--r--macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj343
-rw-r--r--macosx/plugins/DFSound/macsrc/NamedSlider.h13
-rw-r--r--macosx/plugins/DFSound/macsrc/NamedSlider.m33
-rw-r--r--macosx/plugins/DFSound/macsrc/PluginController.h29
-rw-r--r--macosx/plugins/DFSound/macsrc/PluginController.m160
-rwxr-xr-xmacosx/plugins/DFSound/src/macosx.c203
12 files changed, 858 insertions, 0 deletions
diff --git a/macosx/plugins/DFSound/English.lproj/Credits.rtf b/macosx/plugins/DFSound/English.lproj/Credits.rtf
new file mode 100644
index 0000000..209850a
--- /dev/null
+++ b/macosx/plugins/DFSound/English.lproj/Credits.rtf
@@ -0,0 +1,14 @@
+{\rtf1\mac\ansicpg10000\cocoartf102
+{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\vieww9000\viewh9000\viewkind0
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+
+\f0\b\fs24 \cf0 Macintosh Port:
+\f1\b0 \
+ Gil Pedersen\
+\
+
+\f0\b Original coders:
+\f1\b0 \
+ Pete Bernert and the P.E.Op.S. team} \ No newline at end of file
diff --git a/macosx/plugins/DFSound/English.lproj/InfoPlist.strings b/macosx/plugins/DFSound/English.lproj/InfoPlist.strings
new file mode 100755
index 0000000..6c79d9c
--- /dev/null
+++ b/macosx/plugins/DFSound/English.lproj/InfoPlist.strings
Binary files differ
diff --git a/macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/classes.nib b/macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/classes.nib
new file mode 100644
index 0000000..ab65672
--- /dev/null
+++ b/macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/classes.nib
@@ -0,0 +1,25 @@
+{
+ IBClasses = (
+ {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
+ {
+ ACTIONS = {cancel = id; ok = id; reset = id; };
+ CLASS = NetSfPeopsSPUPluginController;
+ LANGUAGE = ObjC;
+ OUTLETS = {
+ hiCompBox = NSControl;
+ interpolValue = NetSfPeopsSPUPluginNamedSlider;
+ irqWaitBox = NetSfPeopsSPUPluginNamedSlider;
+ monoSoundBox = NSControl;
+ reverbValue = NSControl;
+ xaSpeedBox = NSControl;
+ };
+ SUPERCLASS = NSWindowController;
+ },
+ {
+ CLASS = NetSfPeopsSPUPluginNamedSlider;
+ LANGUAGE = ObjC;
+ SUPERCLASS = NSSlider;
+ }
+ );
+ IBVersion = 1;
+} \ No newline at end of file
diff --git a/macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/info.nib b/macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/info.nib
new file mode 100644
index 0000000..a4d8dd8
--- /dev/null
+++ b/macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/info.nib
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>IBDocumentLocation</key>
+ <string>42 12 546 240 0 0 1024 746 </string>
+ <key>IBFramework Version</key>
+ <string>446.1</string>
+ <key>IBOpenObjects</key>
+ <array>
+ <integer>6</integer>
+ </array>
+ <key>IBSystem Version</key>
+ <string>8P2137</string>
+</dict>
+</plist>
diff --git a/macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/keyedobjects.nib b/macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/keyedobjects.nib
new file mode 100755
index 0000000..d56d775
--- /dev/null
+++ b/macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/keyedobjects.nib
Binary files differ
diff --git a/macosx/plugins/DFSound/Info.plist b/macosx/plugins/DFSound/Info.plist
new file mode 100644
index 0000000..88cf687
--- /dev/null
+++ b/macosx/plugins/DFSound/Info.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>PeopsSPU</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>net.sf.peops.SPUPlugin</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>PsxP</string>
+ <key>CFBundleSignature</key>
+ <string>PSPU</string>
+ <key>CFBundleVersion</key>
+ <string>1.19</string>
+</dict>
+</plist>
diff --git a/macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj b/macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..e9c81c4
--- /dev/null
+++ b/macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj
@@ -0,0 +1,343 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 2B4F9962077B042E004E36BA /* NetSfPeopsSpuPluginMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2B4F9961077B042E004E36BA /* NetSfPeopsSpuPluginMain.nib */; };
+ 2B4F99F9077B0CE4004E36BA /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2B4F99F7077B0CE4004E36BA /* Credits.rtf */; };
+ 2B7B2B94072D9BE6007F0C35 /* PluginController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B7B2B92072D9BE6007F0C35 /* PluginController.m */; };
+ 2B7B2BD1072DAE5D007F0C35 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B7B2BD0072DAE5D007F0C35 /* AppKit.framework */; };
+ 2B7B2BE9072DB1B6007F0C35 /* NamedSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B7B2BE7072DB1B6007F0C35 /* NamedSlider.m */; };
+ 2BE18A00077EED7F008688C9 /* macosx.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BFF7EFC0715D16A0061278A /* macosx.c */; };
+ 2BFF7F3E0715D2E00061278A /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BFF7F3D0715D2E00061278A /* Carbon.framework */; };
+ 71E4E7AB109DC529003BB7AC /* dma.c in Sources */ = {isa = PBXBuildFile; fileRef = 71E4E797109DC529003BB7AC /* dma.c */; };
+ 71E4E7AC109DC529003BB7AC /* freeze.c in Sources */ = {isa = PBXBuildFile; fileRef = 71E4E79B109DC529003BB7AC /* freeze.c */; };
+ 71E4E7AE109DC529003BB7AC /* registers.c in Sources */ = {isa = PBXBuildFile; fileRef = 71E4E79F109DC529003BB7AC /* registers.c */; };
+ 71E4E7B0109DC529003BB7AC /* spu.c in Sources */ = {isa = PBXBuildFile; fileRef = 71E4E7A4109DC529003BB7AC /* spu.c */; };
+ 71E4E7B1109DC529003BB7AC /* xa.c in Sources */ = {isa = PBXBuildFile; fileRef = 71E4E7A7109DC529003BB7AC /* xa.c */; };
+ 8D576314048677EA00EA77CD /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */; };
+ 8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D5B49A704867FD3000E48DA /* InfoPlist.strings */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
+ 2B4F99F8077B0CE4004E36BA /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = "<group>"; };
+ 2B6DA89307200A9A009F6FED /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/NetSfPeopsSpuPluginMain.nib; sourceTree = "<group>"; };
+ 2B7B2B91072D9BE6007F0C35 /* PluginController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PluginController.h; path = macsrc/PluginController.h; sourceTree = "<group>"; };
+ 2B7B2B92072D9BE6007F0C35 /* PluginController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PluginController.m; path = macsrc/PluginController.m; sourceTree = "<group>"; };
+ 2B7B2BD0072DAE5D007F0C35 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ 2B7B2BE6072DB1B6007F0C35 /* NamedSlider.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = NamedSlider.h; path = macsrc/NamedSlider.h; sourceTree = "<group>"; };
+ 2B7B2BE7072DB1B6007F0C35 /* NamedSlider.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = NamedSlider.m; path = macsrc/NamedSlider.m; sourceTree = "<group>"; };
+ 2BFF7EFC0715D16A0061278A /* macosx.c */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.c; name = macosx.c; path = src/macosx.c; sourceTree = "<group>"; };
+ 2BFF7F3D0715D2E00061278A /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
+ 71E4E793109DC529003BB7AC /* adsr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = adsr.c; path = ../../../plugins/dfsound/adsr.c; sourceTree = SOURCE_ROOT; };
+ 71E4E794109DC529003BB7AC /* adsr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = adsr.h; path = ../../../plugins/dfsound/adsr.h; sourceTree = SOURCE_ROOT; };
+ 71E4E796109DC529003BB7AC /* cfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cfg.h; path = ../../../plugins/dfsound/cfg.h; sourceTree = SOURCE_ROOT; };
+ 71E4E797109DC529003BB7AC /* dma.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dma.c; path = ../../../plugins/dfsound/dma.c; sourceTree = SOURCE_ROOT; };
+ 71E4E798109DC529003BB7AC /* dma.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dma.h; path = ../../../plugins/dfsound/dma.h; sourceTree = SOURCE_ROOT; };
+ 71E4E799109DC529003BB7AC /* dsoundoss.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dsoundoss.h; path = ../../../plugins/dfsound/dsoundoss.h; sourceTree = SOURCE_ROOT; };
+ 71E4E79A109DC529003BB7AC /* externals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = externals.h; path = ../../../plugins/dfsound/externals.h; sourceTree = SOURCE_ROOT; };
+ 71E4E79B109DC529003BB7AC /* freeze.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = freeze.c; path = ../../../plugins/dfsound/freeze.c; sourceTree = SOURCE_ROOT; };
+ 71E4E79C109DC529003BB7AC /* gauss_i.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gauss_i.h; path = ../../../plugins/dfsound/gauss_i.h; sourceTree = SOURCE_ROOT; };
+ 71E4E79E109DC529003BB7AC /* psemuxa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = psemuxa.h; path = ../../../plugins/dfsound/psemuxa.h; sourceTree = SOURCE_ROOT; };
+ 71E4E79F109DC529003BB7AC /* registers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = registers.c; path = ../../../plugins/dfsound/registers.c; sourceTree = SOURCE_ROOT; };
+ 71E4E7A0109DC529003BB7AC /* registers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = registers.h; path = ../../../plugins/dfsound/registers.h; sourceTree = SOURCE_ROOT; };
+ 71E4E7A1109DC529003BB7AC /* regs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = regs.h; path = ../../../plugins/dfsound/regs.h; sourceTree = SOURCE_ROOT; };
+ 71E4E7A2109DC529003BB7AC /* reverb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = reverb.c; path = ../../../plugins/dfsound/reverb.c; sourceTree = SOURCE_ROOT; };
+ 71E4E7A3109DC529003BB7AC /* reverb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = reverb.h; path = ../../../plugins/dfsound/reverb.h; sourceTree = SOURCE_ROOT; };
+ 71E4E7A4109DC529003BB7AC /* spu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = spu.c; path = ../../../plugins/dfsound/spu.c; sourceTree = SOURCE_ROOT; };
+ 71E4E7A5109DC529003BB7AC /* spu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = spu.h; path = ../../../plugins/dfsound/spu.h; sourceTree = SOURCE_ROOT; };
+ 71E4E7A6109DC529003BB7AC /* stdafx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stdafx.h; path = ../../../plugins/dfsound/stdafx.h; sourceTree = SOURCE_ROOT; };
+ 71E4E7A7109DC529003BB7AC /* xa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = xa.c; path = ../../../plugins/dfsound/xa.c; sourceTree = SOURCE_ROOT; };
+ 71E4E7A8109DC529003BB7AC /* xa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = xa.h; path = ../../../plugins/dfsound/xa.h; sourceTree = SOURCE_ROOT; };
+ 8D576316048677EA00EA77CD /* PeopsSPU.psxplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PeopsSPU.psxplugin; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8D576317048677EA00EA77CD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D576313048677EA00EA77CD /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D576314048677EA00EA77CD /* CoreFoundation.framework in Frameworks */,
+ 2BFF7F3E0715D2E00061278A /* Carbon.framework in Frameworks */,
+ 2B7B2BD1072DAE5D007F0C35 /* AppKit.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 089C166AFE841209C02AAC07 /* PSX Plugin */ = {
+ isa = PBXGroup;
+ children = (
+ 08FB77AFFE84173DC02AAC07 /* Source */,
+ 2B7B2B8E072D9BD6007F0C35 /* Classes */,
+ 089C167CFE841241C02AAC07 /* Resources */,
+ 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
+ 19C28FB6FE9D52B211CA2CBB /* Products */,
+ );
+ name = "PSX Plugin";
+ sourceTree = "<group>";
+ };
+ 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
+ isa = PBXGroup;
+ children = (
+ 2B7B2BD0072DAE5D007F0C35 /* AppKit.framework */,
+ 2BFF7F3D0715D2E00061278A /* Carbon.framework */,
+ 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */,
+ );
+ name = "External Frameworks and Libraries";
+ sourceTree = "<group>";
+ };
+ 089C167CFE841241C02AAC07 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D576317048677EA00EA77CD /* Info.plist */,
+ 2B4F99F7077B0CE4004E36BA /* Credits.rtf */,
+ 8D5B49A704867FD3000E48DA /* InfoPlist.strings */,
+ 2B4F9961077B042E004E36BA /* NetSfPeopsSpuPluginMain.nib */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 08FB77AFFE84173DC02AAC07 /* Source */ = {
+ isa = PBXGroup;
+ children = (
+ 71E4E793109DC529003BB7AC /* adsr.c */,
+ 71E4E794109DC529003BB7AC /* adsr.h */,
+ 71E4E796109DC529003BB7AC /* cfg.h */,
+ 71E4E797109DC529003BB7AC /* dma.c */,
+ 71E4E798109DC529003BB7AC /* dma.h */,
+ 71E4E799109DC529003BB7AC /* dsoundoss.h */,
+ 71E4E79A109DC529003BB7AC /* externals.h */,
+ 71E4E79B109DC529003BB7AC /* freeze.c */,
+ 71E4E79C109DC529003BB7AC /* gauss_i.h */,
+ 71E4E79E109DC529003BB7AC /* psemuxa.h */,
+ 71E4E79F109DC529003BB7AC /* registers.c */,
+ 71E4E7A0109DC529003BB7AC /* registers.h */,
+ 71E4E7A1109DC529003BB7AC /* regs.h */,
+ 71E4E7A2109DC529003BB7AC /* reverb.c */,
+ 71E4E7A3109DC529003BB7AC /* reverb.h */,
+ 71E4E7A4109DC529003BB7AC /* spu.c */,
+ 71E4E7A5109DC529003BB7AC /* spu.h */,
+ 71E4E7A6109DC529003BB7AC /* stdafx.h */,
+ 71E4E7A7109DC529003BB7AC /* xa.c */,
+ 71E4E7A8109DC529003BB7AC /* xa.h */,
+ 2BFF7EFC0715D16A0061278A /* macosx.c */,
+ );
+ name = Source;
+ sourceTree = "<group>";
+ };
+ 19C28FB6FE9D52B211CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D576316048677EA00EA77CD /* PeopsSPU.psxplugin */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 2B7B2B8E072D9BD6007F0C35 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 2B7B2B91072D9BE6007F0C35 /* PluginController.h */,
+ 2B7B2B92072D9BE6007F0C35 /* PluginController.m */,
+ 2B7B2BE6072DB1B6007F0C35 /* NamedSlider.h */,
+ 2B7B2BE7072DB1B6007F0C35 /* NamedSlider.m */,
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D57630D048677EA00EA77CD /* PeopsSPU */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 71155B260FDFA2EB00EC0BC5 /* Build configuration list for PBXNativeTarget "PeopsSPU" */;
+ buildPhases = (
+ 8D57630F048677EA00EA77CD /* Resources */,
+ 8D576311048677EA00EA77CD /* Sources */,
+ 8D576313048677EA00EA77CD /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = PeopsSPU;
+ productInstallPath = "$(HOME)/Library/Bundles";
+ productName = "PSX Plugin";
+ productReference = 8D576316048677EA00EA77CD /* PeopsSPU.psxplugin */;
+ productType = "com.apple.product-type.bundle";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 089C1669FE841209C02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 71155B2B0FDFA2EB00EC0BC5 /* Build configuration list for PBXProject "PeopsSPU" */;
+ hasScannedForEncodings = 1;
+ mainGroup = 089C166AFE841209C02AAC07 /* PSX Plugin */;
+ projectDirPath = "";
+ targets = (
+ 8D57630D048677EA00EA77CD /* PeopsSPU */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D57630F048677EA00EA77CD /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */,
+ 2B4F9962077B042E004E36BA /* NetSfPeopsSpuPluginMain.nib in Resources */,
+ 2B4F99F9077B0CE4004E36BA /* Credits.rtf in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D576311048677EA00EA77CD /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 2B7B2B94072D9BE6007F0C35 /* PluginController.m in Sources */,
+ 2B7B2BE9072DB1B6007F0C35 /* NamedSlider.m in Sources */,
+ 2BE18A00077EED7F008688C9 /* macosx.c in Sources */,
+ 71E4E7AB109DC529003BB7AC /* dma.c in Sources */,
+ 71E4E7AC109DC529003BB7AC /* freeze.c in Sources */,
+ 71E4E7AE109DC529003BB7AC /* registers.c in Sources */,
+ 71E4E7B0109DC529003BB7AC /* spu.c in Sources */,
+ 71E4E7B1109DC529003BB7AC /* xa.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 2B4F9961077B042E004E36BA /* NetSfPeopsSpuPluginMain.nib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 2B6DA89307200A9A009F6FED /* English */,
+ );
+ name = NetSfPeopsSpuPluginMain.nib;
+ sourceTree = "<group>";
+ };
+ 2B4F99F7077B0CE4004E36BA /* Credits.rtf */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 2B4F99F8077B0CE4004E36BA /* English */,
+ );
+ name = Credits.rtf;
+ sourceTree = "<group>";
+ };
+ 8D5B49A704867FD3000E48DA /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C167EFE841241C02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 71155B270FDFA2EB00EC0BC5 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_MODEL_TUNING = "";
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ _MACOSX,
+ USEMACOSX,
+ );
+ HEADER_SEARCH_PATHS = (
+ src/,
+ ../../../plugins/dfsound,
+ );
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins";
+ LIBRARY_STYLE = BUNDLE;
+ OTHER_CFLAGS = "-DUSEMACOSX=1";
+ PRODUCT_NAME = PeopsSPU;
+ SYMROOT = ../../build;
+ WRAPPER_EXTENSION = psxplugin;
+ ZERO_LINK = NO;
+ };
+ name = Development;
+ };
+ 71155B290FDFA2EB00EC0BC5 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ DEBUGGING_SYMBOLS = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_MODEL_TUNING = "";
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ _MACOSX,
+ USEMACOSX,
+ );
+ HEADER_SEARCH_PATHS = (
+ src/,
+ ../../../plugins/dfsound,
+ );
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins";
+ LIBRARY_STYLE = BUNDLE;
+ OTHER_CFLAGS = "";
+ OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
+ PRODUCT_NAME = PeopsSPU;
+ SYMROOT = ../../build;
+ WRAPPER_EXTENSION = psxplugin;
+ ZERO_LINK = NO;
+ };
+ name = Deployment;
+ };
+ 71155B2C0FDFA2EB00EC0BC5 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ };
+ name = Development;
+ };
+ 71155B2E0FDFA2EB00EC0BC5 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ };
+ name = Deployment;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 71155B260FDFA2EB00EC0BC5 /* Build configuration list for PBXNativeTarget "PeopsSPU" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 71155B270FDFA2EB00EC0BC5 /* Development */,
+ 71155B290FDFA2EB00EC0BC5 /* Deployment */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Development;
+ };
+ 71155B2B0FDFA2EB00EC0BC5 /* Build configuration list for PBXProject "PeopsSPU" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 71155B2C0FDFA2EB00EC0BC5 /* Development */,
+ 71155B2E0FDFA2EB00EC0BC5 /* Deployment */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Development;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 089C1669FE841209C02AAC07 /* Project object */;
+}
diff --git a/macosx/plugins/DFSound/macsrc/NamedSlider.h b/macosx/plugins/DFSound/macsrc/NamedSlider.h
new file mode 100644
index 0000000..c5a40aa
--- /dev/null
+++ b/macosx/plugins/DFSound/macsrc/NamedSlider.h
@@ -0,0 +1,13 @@
+/* NetSfPeopsSPUPluginNamedSlider */
+
+#import <Cocoa/Cocoa.h>
+
+#define NamedSlider NetSfPeopsSPUPluginNamedSlider
+
+@interface NamedSlider : NSSlider
+{
+ NSArray *strings;
+}
+
+- (void)setStrings:(NSArray *)theStrings;
+@end
diff --git a/macosx/plugins/DFSound/macsrc/NamedSlider.m b/macosx/plugins/DFSound/macsrc/NamedSlider.m
new file mode 100644
index 0000000..fd07780
--- /dev/null
+++ b/macosx/plugins/DFSound/macsrc/NamedSlider.m
@@ -0,0 +1,33 @@
+#import "NamedSlider.h"
+
+@implementation NamedSlider
+
+- (void)dealloc
+{
+ [strings release];
+ [super dealloc];
+}
+
+- (void)setStrings:(NSArray *)theStrings
+{
+ [strings release];
+ strings = [theStrings retain];
+}
+
+- (NSString *)stringValue
+{
+ int index = [self intValue];
+
+ if (index >= 0 && index < [strings count])
+ return [strings objectAtIndex:index];
+
+ return @"(Unknown)";
+}
+
+- (void)setIntValue:(int)value
+{
+ [super setIntValue:value];
+ [self sendAction:[self action] to:[self target]];
+}
+
+@end
diff --git a/macosx/plugins/DFSound/macsrc/PluginController.h b/macosx/plugins/DFSound/macsrc/PluginController.h
new file mode 100644
index 0000000..36373b1
--- /dev/null
+++ b/macosx/plugins/DFSound/macsrc/PluginController.h
@@ -0,0 +1,29 @@
+/* NetSfPeopsSPUPluginController */
+
+#import <Cocoa/Cocoa.h>
+#import "NamedSlider.h"
+
+void DoAbout();
+long DoConfiguration();
+void LoadConfiguration();
+
+#define PluginController NetSfPeopsSPUPluginController
+
+@interface PluginController : NSWindowController
+{
+ IBOutlet NSControl *hiCompBox;
+ IBOutlet NetSfPeopsSPUPluginNamedSlider *interpolValue;
+ IBOutlet NSControl *irqWaitBox;
+ IBOutlet NSControl *monoSoundBox;
+ IBOutlet NetSfPeopsSPUPluginNamedSlider *reverbValue;
+ IBOutlet NSControl *xaEnableBox;
+ IBOutlet NSControl *xaSpeedBox;
+
+ NSMutableDictionary *keyValues;
+}
+- (IBAction)cancel:(id)sender;
+- (IBAction)ok:(id)sender;
+- (IBAction)reset:(id)sender;
+
+- (void)loadValues;
+@end
diff --git a/macosx/plugins/DFSound/macsrc/PluginController.m b/macosx/plugins/DFSound/macsrc/PluginController.m
new file mode 100644
index 0000000..1fa007f
--- /dev/null
+++ b/macosx/plugins/DFSound/macsrc/PluginController.m
@@ -0,0 +1,160 @@
+#import "PluginController.h"
+#include "stdafx.h"
+#include "externals.h"
+
+#define APP_ID @"net.sf.peops.SPUPlugin"
+#define PrefsKey APP_ID @" Settings"
+
+static PluginController *pluginController;
+char * pConfigFile=NULL;
+
+void DoAbout()
+{
+ // Get parent application instance
+ NSApplication *app = [NSApplication sharedApplication];
+ NSBundle *bundle = [NSBundle bundleWithIdentifier:APP_ID];
+
+ // Get Credits.rtf
+ NSString *path = [bundle pathForResource:@"Credits" ofType:@"rtf"];
+ NSAttributedString *credits;
+ if (path) {
+ credits = [[[NSAttributedString alloc] initWithPath: path
+ documentAttributes:NULL] autorelease];
+ } else {
+ credits = [[[NSAttributedString alloc] initWithString:@""] autorelease];
+ }
+
+ // Get Application Icon
+ NSImage *icon = [[NSWorkspace sharedWorkspace] iconForFile:[bundle bundlePath]];
+ NSSize size = NSMakeSize(64, 64);
+ [icon setSize:size];
+
+ [app orderFrontStandardAboutPanelWithOptions:[NSDictionary dictionaryWithObjectsAndKeys:
+ [bundle objectForInfoDictionaryKey:@"CFBundleName"], @"ApplicationName",
+ icon, @"ApplicationIcon",
+ [bundle objectForInfoDictionaryKey:@"CFBundleShortVersionString"], @"ApplicationVersion",
+ [bundle objectForInfoDictionaryKey:@"CFBundleVersion"], @"Version",
+ [bundle objectForInfoDictionaryKey:@"NSHumanReadableCopyright"], @"Copyright",
+ credits, @"Credits",
+ nil]];
+}
+
+
+long DoConfiguration()
+{
+ NSWindow *window;
+
+ if (pluginController == nil) {
+ pluginController = [[PluginController alloc] initWithWindowNibName:@"NetSfPeopsSpuPluginMain"];
+ }
+ window = [pluginController window];
+
+ /* load values */
+ [pluginController loadValues];
+
+ [window center];
+ [window makeKeyAndOrderFront:nil];
+
+ return 0;
+}
+
+void ReadConfig(void)
+{
+ NSDictionary *keyValues;
+ NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+ [defaults registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:
+ [[NSMutableDictionary alloc] initWithObjectsAndKeys:
+ [NSNumber numberWithBool:YES], @"High Compatibility Mode",
+ [NSNumber numberWithBool:YES], @"SPU IRQ Wait",
+ [NSNumber numberWithBool:NO], @"XA Pitch",
+ [NSNumber numberWithInt:0], @"Interpolation Quality",
+ [NSNumber numberWithInt:1], @"Reverb Quality",
+ nil], PrefsKey,
+ nil]];
+
+ keyValues = [defaults dictionaryForKey:PrefsKey];
+
+ iUseTimer = [[keyValues objectForKey:@"High Compatibility Mode"] boolValue] ? 2 : 0;
+ iSPUIRQWait = [[keyValues objectForKey:@"SPU IRQ Wait"] boolValue];
+ iDisStereo = [[keyValues objectForKey:@"Mono Sound Output"] boolValue];
+ iXAPitch = [[keyValues objectForKey:@"XA Pitch"] boolValue];
+
+ iUseInterpolation = [[keyValues objectForKey:@"Interpolation Quality"] intValue];
+ iUseReverb = [[keyValues objectForKey:@"Reverb Quality"] intValue];
+
+ iVolume=1;
+}
+
+@implementation PluginController
+
+- (IBAction)cancel:(id)sender
+{
+ [self close];
+}
+
+- (IBAction)ok:(id)sender
+{
+ NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+
+ NSMutableDictionary *writeDic = [NSMutableDictionary dictionaryWithDictionary:keyValues];
+ [writeDic setObject:[NSNumber numberWithInt:[hiCompBox intValue]] forKey:@"High Compatibility Mode"];
+ [writeDic setObject:[NSNumber numberWithInt:[irqWaitBox intValue]] forKey:@"SPU IRQ Wait"];
+ [writeDic setObject:[NSNumber numberWithInt:[monoSoundBox intValue]] forKey:@"Mono Sound Output"];
+ [writeDic setObject:[NSNumber numberWithInt:[xaSpeedBox intValue]] forKey:@"XA Pitch"];
+
+ [writeDic setObject:[NSNumber numberWithInt:[interpolValue intValue]] forKey:@"Interpolation Quality"];
+ [writeDic setObject:[NSNumber numberWithInt:[reverbValue intValue]] forKey:@"Reverb Quality"];
+
+ // write to defaults
+ [defaults setObject:writeDic forKey:PrefsKey];
+ [defaults synchronize];
+
+ // and set global values accordingly
+ ReadConfig();
+
+ [self close];
+}
+
+- (IBAction)reset:(id)sender
+{
+ NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+ [defaults removeObjectForKey:PrefsKey];
+ [self loadValues];
+}
+
+- (void)loadValues
+{
+ NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+
+ ReadConfig();
+
+ /* load from preferences */
+ [keyValues release];
+ keyValues = [[defaults dictionaryForKey:PrefsKey] retain];
+
+ [hiCompBox setIntValue:[[keyValues objectForKey:@"High Compatibility Mode"] intValue]];
+ [irqWaitBox setIntValue:[[keyValues objectForKey:@"SPU IRQ Wait"] intValue]];
+ [monoSoundBox setIntValue:[[keyValues objectForKey:@"Mono Sound Output"] intValue]];
+ [xaSpeedBox setIntValue:[[keyValues objectForKey:@"XA Pitch"] intValue]];
+
+ [interpolValue setIntValue:[[keyValues objectForKey:@"Interpolation Quality"] intValue]];
+ [reverbValue setIntValue:[[keyValues objectForKey:@"Reverb Quality"] intValue]];
+}
+
+- (void)awakeFromNib
+{
+ [interpolValue setStrings:[NSArray arrayWithObjects:
+ @"(No Interpolation)",
+ @"(Simple Interpolation)",
+ @"(Gaussian Interpolation)",
+ @"(Cubic Interpolation)",
+ nil]];
+
+ [reverbValue setStrings:[NSArray arrayWithObjects:
+ @"(No Reverb)",
+ @"(Simple Reverb)",
+ @"(PSX Reverb)",
+ nil]];
+}
+
+@end
diff --git a/macosx/plugins/DFSound/src/macosx.c b/macosx/plugins/DFSound/src/macosx.c
new file mode 100755
index 0000000..f329ffc
--- /dev/null
+++ b/macosx/plugins/DFSound/src/macosx.c
@@ -0,0 +1,203 @@
+/***************************************************************************
+ macosx.c - description
+ -------------------
+ begin : Wed May 15 2002
+ copyright : (C) 2002 by Pete Bernert
+ email : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. See also the license.txt file for *
+ * additional informations. *
+ * *
+ ***************************************************************************/
+
+#include "stdafx.h"
+
+#define _IN_MACOSX
+
+#ifdef _MACOSX
+
+#include <Carbon/Carbon.h>
+#include "externals.h"
+
+#define kMaxSoundBuffers 20
+
+//static int macBufferSize = 2, macBufferCount = 36;
+//static float macSoundPitch = 1.0;
+static long macSoundVolume = 100;
+volatile int soundBufferAt = -1, soundPlayAt = -1, soundQueued = 0;
+char *soundBuffer[kMaxSoundBuffers+1], *emptyBuffer;
+SndChannelPtr sndChannel;
+//ExtSoundHeader sndHeader;
+CmpSoundHeader sndHeader;
+SndCallBackUPP callBackUPP;
+static int bufferIndex;
+
+////////////////////////////////////////////////////////////////////////
+// small linux time helper... only used for watchdog
+////////////////////////////////////////////////////////////////////////
+
+unsigned long timeGetTime()
+{
+ struct timeval tv;
+ gettimeofday(&tv, 0); // well, maybe there are better ways
+ return tv.tv_sec * 1000 + tv.tv_usec/1000; // to do that, but at least it works
+}
+
+pascal void MacProcessSound(SndChannelPtr chan, SndCommand *cmd)
+{
+ #pragma unused (chan, cmd)
+
+ if (soundQueued <= 0)
+ sndHeader.samplePtr = emptyBuffer;
+ else
+ {
+ sndHeader.samplePtr = soundBuffer[soundPlayAt];
+ soundPlayAt++;
+ if (soundPlayAt >= kMaxSoundBuffers/*macBufferCount*/)
+ soundPlayAt = 0;
+ soundQueued--;
+ }
+
+ SndCommand buffer = { bufferCmd, 0, (long) &sndHeader };
+ SndDoImmediate(sndChannel, &buffer);
+
+ SndCommand callback = { callBackCmd, 0, 0 };
+ SndDoCommand(sndChannel, &callback, true);
+}
+
+////////////////////////////////////////////////////////////////////////
+// SETUP SOUND
+////////////////////////////////////////////////////////////////////////
+
+static int buffer_size;
+void SetupSound(void)
+{
+ int count;
+
+ callBackUPP = NewSndCallBackUPP(MacProcessSound);
+
+ if (sndChannel)
+ {
+ SndDisposeChannel(sndChannel, true);
+ sndChannel = nil;
+ }
+
+ buffer_size = 1;
+ while (buffer_size < (44100 / 60))
+ buffer_size <<= 1;
+
+ memset(&sndHeader, 0, sizeof(sndHeader));
+ sndHeader.numChannels = (iDisStereo ? 1 : 2);
+ sndHeader.sampleRate = 44100 << 16;
+ sndHeader.encode = cmpSH;
+ sndHeader.baseFrequency = kMiddleC;
+ sndHeader.numFrames = buffer_size;
+ sndHeader.sampleSize = 16;
+#ifdef __POWERPC__
+ sndHeader.format = k16BitBigEndianFormat;
+#else
+ sndHeader.format = k16BitLittleEndianFormat;
+#endif
+ sndHeader.compressionID = fixedCompression;
+
+ if (soundBufferAt != -1)
+ {
+ free(soundBuffer[0]);
+ free(emptyBuffer);
+ }
+
+ soundBuffer[0] = (char *) calloc(buffer_size << 2, kMaxSoundBuffers);
+ for (count = 1; count <= kMaxSoundBuffers; count++)
+ soundBuffer[count] = soundBuffer[count-1] + (buffer_size << 2);
+ emptyBuffer = (char *) calloc(buffer_size << 2, 1);
+
+ soundBufferAt = soundPlayAt = soundQueued = 0;
+ bufferIndex = 0;
+
+ SndNewChannel(&sndChannel, sampledSynth, initStereo, callBackUPP);
+
+ SndCommand sndcmd;
+ UInt32 volume;
+
+ volume = (UInt32) (256.0 * (float) macSoundVolume / 100.0);
+
+ sndcmd.cmd = volumeCmd;
+ sndcmd.param1 = 0;
+ sndcmd.param2 = (volume << 16) | volume;
+ SndDoCommand(sndChannel, &sndcmd, true);
+
+ sndcmd.cmd = callBackCmd;
+ sndcmd.param1 = 0;
+ sndcmd.param2 = 0;
+ SndDoCommand(sndChannel, &sndcmd, true);
+}
+
+////////////////////////////////////////////////////////////////////////
+// REMOVE SOUND
+////////////////////////////////////////////////////////////////////////
+
+void RemoveSound(void)
+{
+ DisposeSndCallBackUPP(callBackUPP);
+}
+
+////////////////////////////////////////////////////////////////////////
+// GET BYTES BUFFERED
+////////////////////////////////////////////////////////////////////////
+
+unsigned long SoundGetBytesBuffered(void)
+{
+ int bytes;
+ int playAt = soundPlayAt;
+
+ if (soundBufferAt < playAt) {
+ bytes = (soundBuffer[kMaxSoundBuffers]-soundBuffer[playAt])+
+ (soundBuffer[soundBufferAt]-soundBuffer[0]);
+ } else {
+ bytes = soundBuffer[soundBufferAt]-soundBuffer[playAt];
+ }
+ //printf("sb=%i\n", bytes);
+
+// if (bytes < SOUNDSIZE/2)
+// return 0;
+
+ return bytes;
+}
+
+////////////////////////////////////////////////////////////////////////
+// FEED SOUND DATA
+////////////////////////////////////////////////////////////////////////
+
+void SoundFeedStreamData(unsigned char* pSound,long lBytes)
+{
+ int rem;
+
+ if (lBytes > (buffer_size<<2)*kMaxSoundBuffers) {
+ printf("sound feed overflow!\n");
+ return;
+ }
+
+ rem = soundBuffer[kMaxSoundBuffers]-(soundBuffer[soundBufferAt]+bufferIndex);
+ if (lBytes > rem) {
+ memcpy(soundBuffer[soundBufferAt]+bufferIndex, pSound, rem);
+ lBytes -= rem; pSound += rem;
+ soundQueued += kMaxSoundBuffers-soundBufferAt;
+ soundBufferAt = 0; bufferIndex = 0;
+ }
+ memcpy(soundBuffer[soundBufferAt]+bufferIndex, pSound, lBytes);
+ soundBufferAt += (lBytes+bufferIndex)/(buffer_size<<2);
+ soundQueued += (lBytes+bufferIndex)/(buffer_size<<2);
+ bufferIndex = (lBytes+bufferIndex)%(buffer_size<<2);
+
+ if (soundQueued >= kMaxSoundBuffers) {
+ printf("sound buffer overflow!\n");
+ }
+}
+
+#endif