-
Notifications
You must be signed in to change notification settings - Fork 7
/
README.rtf
142 lines (135 loc) · 5.39 KB
/
README.rtf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210
{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 CourierNewPSMT;}
{\colortbl;\red255\green255\blue255;}
{\info
{\title PlayerPRO Version Control Read-Me}
{\subject Programming}
{\author C.W. Betts}}\margl1440\margr1440\margb1800\margt1800\vieww10800\viewh8400\viewkind0
\deftab720
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural
\f0\b\fs32 \cf0 \expnd0\expndtw0\kerning0
PlayerPRO
\b0\fs24 \expnd0\expndtw0\kerning0
\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural
\fs22 \cf0 \expnd0\expndtw0\kerning0
\
PlayerPRO is a SoundTracker player and creator for the Mac. It should be able to play XM, IT, MOD, S3M, and other formats. \
\
The PlayerPROCore Framework is the main playback mechanism of PlayerPRO (Previously known as MADDriver) that allows developers to play SoundTracker audio in their applications.\
\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural
\b\fs24 \cf0 \expnd0\expndtw0\kerning0
PlayerPRO 6\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural
\b0\fs22 \cf0 \expnd0\expndtw0\kerning0
\
PlayerPRO 6 is a rewrite of the PlayerPRO to help make it work better with different operating systems, as well as update the program to use Cocoa. Please note that this is not a stable branch and
\i\b \expnd0\expndtw0\kerning0
will
\i0\b0 \expnd0\expndtw0\kerning0
break backwards compatibility. The framework itself runs on 10.7 and later. It is not Garbage-Collection capable.\
\
There is a new framework, PlayerPROKit, that wraps many PlayerPROCore functions and data types as methods of Objective-C classes. It is 64-bit on OS X and requires 10.9 or later.\
\
The application has been split into two different apps: PlayerPRO Player and PlayerPRO 6. PlayerPRO Player allows playback of tracker files, as well as having a playlist. PlayerPRO 6 allows editing of tracker files. Both require 10.9 or later.\
\
Plug-ins now depend on the PlayerPROCore library directly instead of having the PlayerPRO functions looked up when loading. The previous method was needed for the Carbon app, but will not be needed for the Cocoa re-write.\
\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural
\b\fs24 \cf0 \expnd0\expndtw0\kerning0
Deprecations
\b0\fs22 \expnd0\expndtw0\kerning0
\
\
Most Carbon API usage has been removed. Most notably, the memory functions have been changed from Carbon to POSIX. The Carbon File APIs have been replaced with POSIX.
\f1 \expnd0\expndtw0\kerning0
iFileOpen
\f0 \expnd0\expndtw0\kerning0
has been deprecated, and the replacements
\f1 \expnd0\expndtw0\kerning0
iFileOpenRead
\f0 \expnd0\expndtw0\kerning0
and
\f1 \expnd0\expndtw0\kerning0
iFileOpenWrite
\f0 \expnd0\expndtw0\kerning0
must be sent either a full path or a path relative to the current working directory: using
\f1 \expnd0\expndtw0\kerning0
HSetVol
\f0 \expnd0\expndtw0\kerning0
will no longer affect the directory that
\f1 \expnd0\expndtw0\kerning0
iFileOpenRead
\f0 \expnd0\expndtw0\kerning0
or
\f1 \expnd0\expndtw0\kerning0
iFileOpenWrite
\f0 \expnd0\expndtw0\kerning0
uses as its base. There are still functions to open a file using
\f1 \expnd0\expndtw0\kerning0
FSSpec
\f0 \expnd0\expndtw0\kerning0
s, as well as using
\f1 \expnd0\expndtw0\kerning0
FSRef
\f0 \expnd0\expndtw0\kerning0
s, but these are deprecated, with the
\f1 \expnd0\expndtw0\kerning0
FSSpec
\f0 \expnd0\expndtw0\kerning0
functions not working on 64-bit code. Functions that use
\f1 \expnd0\expndtw0\kerning0
CFURL
\f0 \expnd0\expndtw0\kerning0
s are available on OS X and iOS.\
\
Sound Manager support has been removed: use the CoreAudio implementation instead. \
\
The instrument plug-ins now use
\f1 \expnd0\expndtw0\kerning0
CFURL
\f0 \expnd0\expndtw0\kerning0
s instead of the deprecated
\f1 \expnd0\expndtw0\kerning0
FSSpec
\f0 \expnd0\expndtw0\kerning0
s. \
\
\b\fs24 \expnd0\expndtw0\kerning0
Platform Support
\b0\fs22 \expnd0\expndtw0\kerning0
\
\
iOS support has been added, but due to limitations in the iOS SDK, plug-ins are not supported: instead the default plug-ins are built-into the static library. \
\
Windows support is available.\
\
BeOS code has been recovered, but has not been tested.\
\
Linux support has been added, but the makefile is bare-bones.\
\
OS X tracker plug-ins no longer uses the CFPlugInCom code: instead, they must implement the function
\f1 \expnd0\expndtw0\kerning0
PPImpExpMain
\f0 \expnd0\expndtw0\kerning0
and export it as a C symbol. The other plug-in architectures also now use this symbol instead of
\f1 \expnd0\expndtw0\kerning0
mainPLUG
\f0 \expnd0\expndtw0\kerning0
. In order to make a tracker plug-in on an architecture other than OS X, the plug-in must implement and export the C symbol
\f1 \expnd0\expndtw0\kerning0
FillPlug
\f0 \expnd0\expndtw0\kerning0
to fill out the plug-in name and other metadata.\
\
\b\fs24 \expnd0\expndtw0\kerning0
Additional Notes
\b0\fs22 \expnd0\expndtw0\kerning0
\
\
Refrain from accessing the
\f1 \expnd0\expndtw0\kerning0
MADDriverRec
\f0 \expnd0\expndtw0\kerning0
struct directly: the size may differ from the compiled version due to differences in preprocessor macros. This will most likely to be an issue on Linux/UNIX platforms.}