From ef79bbde537d6b9c745a7d86cb9df1d04c35590d Mon Sep 17 00:00:00 2001 From: PCSX* teams Date: Tue, 16 Nov 2010 14:15:22 +0200 Subject: pcsxr-1.9.92 --- macosx/plugins/DFSound/English.lproj/Credits.rtf | 14 + .../DFSound/English.lproj/InfoPlist.strings | Bin 0 -> 538 bytes .../NetSfPeopsSpuPluginMain.nib/classes.nib | 25 ++ .../NetSfPeopsSpuPluginMain.nib/info.nib | 16 + .../NetSfPeopsSpuPluginMain.nib/keyedobjects.nib | Bin 0 -> 10993 bytes macosx/plugins/DFSound/Info.plist | 22 ++ .../DFSound/PeopsSPU.xcodeproj/project.pbxproj | 343 +++++++++++++++++++++ macosx/plugins/DFSound/macsrc/NamedSlider.h | 13 + macosx/plugins/DFSound/macsrc/NamedSlider.m | 33 ++ macosx/plugins/DFSound/macsrc/PluginController.h | 29 ++ macosx/plugins/DFSound/macsrc/PluginController.m | 160 ++++++++++ macosx/plugins/DFSound/src/macosx.c | 203 ++++++++++++ 12 files changed, 858 insertions(+) create mode 100644 macosx/plugins/DFSound/English.lproj/Credits.rtf create mode 100755 macosx/plugins/DFSound/English.lproj/InfoPlist.strings create mode 100644 macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/classes.nib create mode 100644 macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/info.nib create mode 100755 macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/keyedobjects.nib create mode 100644 macosx/plugins/DFSound/Info.plist create mode 100644 macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj create mode 100644 macosx/plugins/DFSound/macsrc/NamedSlider.h create mode 100644 macosx/plugins/DFSound/macsrc/NamedSlider.m create mode 100644 macosx/plugins/DFSound/macsrc/PluginController.h create mode 100644 macosx/plugins/DFSound/macsrc/PluginController.m create mode 100755 macosx/plugins/DFSound/src/macosx.c (limited to 'macosx/plugins/DFSound') 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 Binary files /dev/null and b/macosx/plugins/DFSound/English.lproj/InfoPlist.strings 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 @@ + + + + + IBDocumentLocation + 42 12 546 240 0 0 1024 746 + IBFramework Version + 446.1 + IBOpenObjects + + 6 + + IBSystem Version + 8P2137 + + 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 Binary files /dev/null and b/macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/keyedobjects.nib 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 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + PeopsSPU + CFBundleIconFile + + CFBundleIdentifier + net.sf.peops.SPUPlugin + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + PsxP + CFBundleSignature + PSPU + CFBundleVersion + 1.19 + + 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 = ""; }; + 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; + 2B4F99F8077B0CE4004E36BA /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = ""; }; + 2B6DA89307200A9A009F6FED /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/NetSfPeopsSpuPluginMain.nib; sourceTree = ""; }; + 2B7B2B91072D9BE6007F0C35 /* PluginController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PluginController.h; path = macsrc/PluginController.h; sourceTree = ""; }; + 2B7B2B92072D9BE6007F0C35 /* PluginController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PluginController.m; path = macsrc/PluginController.m; sourceTree = ""; }; + 2B7B2BD0072DAE5D007F0C35 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; + 2B7B2BE6072DB1B6007F0C35 /* NamedSlider.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = NamedSlider.h; path = macsrc/NamedSlider.h; sourceTree = ""; }; + 2B7B2BE7072DB1B6007F0C35 /* NamedSlider.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = NamedSlider.m; path = macsrc/NamedSlider.m; sourceTree = ""; }; + 2BFF7EFC0715D16A0061278A /* macosx.c */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.c; name = macosx.c; path = src/macosx.c; sourceTree = ""; }; + 2BFF7F3D0715D2E00061278A /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; + 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 = ""; }; +/* 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 = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 2B7B2BD0072DAE5D007F0C35 /* AppKit.framework */, + 2BFF7F3D0715D2E00061278A /* Carbon.framework */, + 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D576317048677EA00EA77CD /* Info.plist */, + 2B4F99F7077B0CE4004E36BA /* Credits.rtf */, + 8D5B49A704867FD3000E48DA /* InfoPlist.strings */, + 2B4F9961077B042E004E36BA /* NetSfPeopsSpuPluginMain.nib */, + ); + name = Resources; + sourceTree = ""; + }; + 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 = ""; + }; + 19C28FB6FE9D52B211CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D576316048677EA00EA77CD /* PeopsSPU.psxplugin */, + ); + name = Products; + sourceTree = ""; + }; + 2B7B2B8E072D9BD6007F0C35 /* Classes */ = { + isa = PBXGroup; + children = ( + 2B7B2B91072D9BE6007F0C35 /* PluginController.h */, + 2B7B2B92072D9BE6007F0C35 /* PluginController.m */, + 2B7B2BE6072DB1B6007F0C35 /* NamedSlider.h */, + 2B7B2BE7072DB1B6007F0C35 /* NamedSlider.m */, + ); + name = Classes; + sourceTree = ""; + }; +/* 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 = ""; + }; + 2B4F99F7077B0CE4004E36BA /* Credits.rtf */ = { + isa = PBXVariantGroup; + children = ( + 2B4F99F8077B0CE4004E36BA /* English */, + ); + name = Credits.rtf; + sourceTree = ""; + }; + 8D5B49A704867FD3000E48DA /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C167EFE841241C02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* 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 + +#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 +#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 +#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 -- cgit v1.2.3