diff options
author | PCSX* teams | 2010-11-16 14:15:22 +0200 |
---|---|---|
committer | Grazvydas Ignotas | 2010-11-16 14:15:22 +0200 |
commit | ef79bbde537d6b9c745a7d86cb9df1d04c35590d (patch) | |
tree | ef8d2520dbb9e1e345b41b12c9959f300ca8fd10 /macosx/plugins/DFSound | |
download | pcsx_rearmed-ef79bbde537d6b9c745a7d86cb9df1d04c35590d.tar.gz pcsx_rearmed-ef79bbde537d6b9c745a7d86cb9df1d04c35590d.tar.bz2 pcsx_rearmed-ef79bbde537d6b9c745a7d86cb9df1d04c35590d.zip |
pcsxr-1.9.92
Diffstat (limited to 'macosx/plugins/DFSound')
-rw-r--r-- | macosx/plugins/DFSound/English.lproj/Credits.rtf | 14 | ||||
-rwxr-xr-x | macosx/plugins/DFSound/English.lproj/InfoPlist.strings | bin | 0 -> 538 bytes | |||
-rw-r--r-- | macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/classes.nib | 25 | ||||
-rw-r--r-- | macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/info.nib | 16 | ||||
-rwxr-xr-x | macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/keyedobjects.nib | bin | 0 -> 10993 bytes | |||
-rw-r--r-- | macosx/plugins/DFSound/Info.plist | 22 | ||||
-rw-r--r-- | macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj | 343 | ||||
-rw-r--r-- | macosx/plugins/DFSound/macsrc/NamedSlider.h | 13 | ||||
-rw-r--r-- | macosx/plugins/DFSound/macsrc/NamedSlider.m | 33 | ||||
-rw-r--r-- | macosx/plugins/DFSound/macsrc/PluginController.h | 29 | ||||
-rw-r--r-- | macosx/plugins/DFSound/macsrc/PluginController.m | 160 | ||||
-rwxr-xr-x | macosx/plugins/DFSound/src/macosx.c | 203 |
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 Binary files differnew file mode 100755 index 0000000..6c79d9c --- /dev/null +++ b/macosx/plugins/DFSound/English.lproj/InfoPlist.strings 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 Binary files differnew file mode 100755 index 0000000..d56d775 --- /dev/null +++ b/macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/keyedobjects.nib 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
|