git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@34480 e17a0e51-4ae3-4d35-97c3-1a29b211df97
This commit is contained in:
parent
8549d0c543
commit
161fa8af66
|
@ -1,3 +1,11 @@
|
|||
November 1, 2009 Wei Mingzhi <weimingzhi@gmail.com>
|
||||
|
||||
* macosx/plugins/PeopsSpu109: Removed.
|
||||
* macosx/plugins/DFSound: Added project file and necessary platform-dependant
|
||||
files for building existing dfsound sources for Mac OS X.
|
||||
* plugins/dfsound/stdafx.h: Made necessary changes for Mac OS X build.
|
||||
* plugins/dfsound/spu.c: Likewise.
|
||||
|
||||
October 31, 2009 Wei Mingzhi <weimingzhi@gmail.com>
|
||||
|
||||
* libpcsxcore/cdriso.c: Declare thread controlling variable as volatile.
|
||||
|
|
14
macosx/plugins/DFSound/English.lproj/Credits.rtf
Normal file
14
macosx/plugins/DFSound/English.lproj/Credits.rtf
Normal file
|
@ -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}
|
BIN
macosx/plugins/DFSound/English.lproj/InfoPlist.strings
Executable file
BIN
macosx/plugins/DFSound/English.lproj/InfoPlist.strings
Executable file
Binary file not shown.
26
macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/classes.nib
generated
Normal file
26
macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/classes.nib
generated
Normal file
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
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;
|
||||
xaEnableBox = NSControl;
|
||||
xaSpeedBox = NSControl;
|
||||
};
|
||||
SUPERCLASS = NSWindowController;
|
||||
},
|
||||
{
|
||||
CLASS = NetSfPeopsSPUPluginNamedSlider;
|
||||
LANGUAGE = ObjC;
|
||||
SUPERCLASS = NSSlider;
|
||||
}
|
||||
);
|
||||
IBVersion = 1;
|
||||
}
|
16
macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/info.nib
generated
Normal file
16
macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/info.nib
generated
Normal file
|
@ -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>
|
BIN
macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/keyedobjects.nib
generated
Executable file
BIN
macosx/plugins/DFSound/English.lproj/NetSfPeopsSpuPluginMain.nib/keyedobjects.nib
generated
Executable file
Binary file not shown.
22
macosx/plugins/DFSound/Info.plist
Normal file
22
macosx/plugins/DFSound/Info.plist
Normal file
|
@ -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>
|
345
macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj
Normal file
345
macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj
Normal file
|
@ -0,0 +1,345 @@
|
|||
// !$*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 */; };
|
||||
71E4E7AD109DC529003BB7AC /* psemu.c in Sources */ = {isa = PBXBuildFile; fileRef = 71E4E79D109DC529003BB7AC /* psemu.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; };
|
||||
71E4E79D109DC529003BB7AC /* psemu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = psemu.c; path = ../../../plugins/dfsound/psemu.c; 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 */,
|
||||
71E4E79D109DC529003BB7AC /* psemu.c */,
|
||||
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 */,
|
||||
71E4E7AD109DC529003BB7AC /* psemu.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;
|
||||
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 = 2;
|
||||
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;
|
||||
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 */;
|
||||
}
|
13
macosx/plugins/DFSound/macsrc/NamedSlider.h
Normal file
13
macosx/plugins/DFSound/macsrc/NamedSlider.h
Normal file
|
@ -0,0 +1,13 @@
|
|||
/* NetSfPeopsSPUPluginNamedSlider */
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
#define NamedSlider NetSfPeopsSPUPluginNamedSlider
|
||||
|
||||
@interface NamedSlider : NSSlider
|
||||
{
|
||||
NSArray *strings;
|
||||
}
|
||||
|
||||
- (void)setStrings:(NSArray *)theStrings;
|
||||
@end
|
33
macosx/plugins/DFSound/macsrc/NamedSlider.m
Normal file
33
macosx/plugins/DFSound/macsrc/NamedSlider.m
Normal file
|
@ -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
|
29
macosx/plugins/DFSound/macsrc/PluginController.h
Normal file
29
macosx/plugins/DFSound/macsrc/PluginController.h
Normal file
|
@ -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
|
162
macosx/plugins/DFSound/macsrc/PluginController.m
Normal file
162
macosx/plugins/DFSound/macsrc/PluginController.m
Normal file
|
@ -0,0 +1,162 @@
|
|||
#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:YES], @"Enable XA",
|
||||
[NSNumber numberWithBool:NO], @"XA Pitch",
|
||||
//[NSNumber numberWithBool:YES], @"Decoded Buffer IRQ",
|
||||
[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
|
203
macosx/plugins/DFSound/src/macosx.c
Executable file
203
macosx/plugins/DFSound/src/macosx.c
Executable file
|
@ -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
|
|
@ -16,7 +16,6 @@
|
|||
***************************************************************************/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "config.h"
|
||||
|
||||
#define _IN_SPU
|
||||
|
||||
|
@ -37,6 +36,8 @@
|
|||
|
||||
#if defined(USEALSA)
|
||||
static char * libraryName = N_("ALSA Sound");
|
||||
#elif defined (USEMACOSX)
|
||||
static char * libraryName = N_("Mac OS X Sound");
|
||||
#elif defined (USEOSS)
|
||||
static char * libraryName = N_("OSS Sound");
|
||||
#else
|
||||
|
@ -435,7 +436,12 @@ INLINE int iGetInterpolationVal(int ch)
|
|||
|
||||
static void *MAINThread(void *arg)
|
||||
{
|
||||
int s_1,s_2,fa,ns,voldiv=iVolume;
|
||||
int s_1,s_2,fa,ns;
|
||||
#ifndef _MACOSX
|
||||
int voldiv=iVolume;
|
||||
#else
|
||||
const int voldiv=1;
|
||||
#endif
|
||||
unsigned char * start;unsigned int nSample;
|
||||
int ch,predict_nr,shift_factor,flags,d,s;
|
||||
int bIRQReturn=0;
|
||||
|
@ -967,14 +973,22 @@ long CALLBACK SPUtest(void)
|
|||
// SPUCONFIGURE: call config dialog
|
||||
long CALLBACK SPUconfigure(void)
|
||||
{
|
||||
#ifdef _MACOSX
|
||||
DoConfiguration();
|
||||
#else
|
||||
StartCfgTool("CFG");
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
// SPUABOUT: show about window
|
||||
void CALLBACK SPUabout(void)
|
||||
{
|
||||
#ifdef _MACOSX
|
||||
DoAbout();
|
||||
#else
|
||||
StartCfgTool("ABOUT");
|
||||
#endif
|
||||
}
|
||||
|
||||
// SETUP CALLBACKS
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef _MACOSX
|
||||
#include "config.h"
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
@ -36,6 +39,8 @@
|
|||
#define LOWORD(l) ((unsigned short)(l))
|
||||
#define HIWORD(l) ((unsigned short)(((unsigned long)(l) >> 16) & 0xFFFF))
|
||||
|
||||
#ifndef INLINE
|
||||
#define INLINE inline
|
||||
#endif
|
||||
|
||||
#include "psemuxa.h"
|
||||
|
|
Loading…
Reference in New Issue
Block a user