forked from libpd/libpd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
279 lines (224 loc) · 11.8 KB
/
CHANGES.txt
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
0.12.1 2021 Jan 08
* added pd~ core external to build
* Cocoapods: fixed build error due pd~/binarymsg.c (reported by David Plans)
* Cocoapods: added basic macos platform support
* ObjC: fixed conversion, unused variable, and format string warnings
* C++: added resizeArray(), processRawShort(), & processRawDouble() wrappers
* C++: general header formatting refresh
0.12.0 2020 Dec 30
* updated to pd vanilla 0.51-4
* switched pure-data submodule to github
* Makefile: added FAT_LIB option to build universal "fat" libs on macOS
* Makefile: added STATIC option to build a static libpd.a (clwe),
note: still requires updates to the pd core to work on all platforms
* Makefile: fixed install when LIBPD_IMPLIB or LIBPD_DEF are empty (Sou Bunnbu)
* Makefile: build libpd sources before pure-data (IOhannes Zmoelnig)
* Makefile: use POSIX-compliant shell-syntax (IOhannes Zmoelnig)
* CMake: fixed libm not found (André Schlinke)
* CMake: write output into build directory instead of source tree (John Keeping)
* Cocoapods: updated to requires_arc = true (amethystdeceiver)
* C: fleshed out headers with full documentation comments
* C: added libpd_resize_array()
* C: added libpd_process_raw_short() & libpd_process_raw_double() (Thomas Mayer)
* C: added pd core version post to libpd_init()
* C: libpd_get_symbol() now returns a const char*
* C: libpd_queued_init()/libpd_queued_free() are now safe to call multiple times
* C: libpd_queued_init() now returns -2 on a ring buffer allocation error
* C: added ring buffer write_value and clear functions
* Java: fixed zip path traversal vulnerability which was causing a Google Play
security alert (Ragu Pattabi)
* ObjC overhaul:
- updated min deployment target to iOS 9
- fixed sample rate handling on newer devices, now independent of hardware
- added IO buffering when audio unit sample rate conversion is being performed
- added new PdAudioController configure methods to specify separate number of
input and output channels
- added easy to use PdAudioController audio session category options
properties, ie. Bluetooth, AirPlay, etc
- added PdAudioController convenience support for configuring Record and
MultiRoute categories
- PdAudioUnit uses the basic AudioUnit v2 to v3 bridge (single instance only)
- PdBase message queuing can now be overridden by new
initializeWithQueue: class method
- formatting improvements and documentation porting from z_libpd.h
* ObjC: fix string corruption by using UTF8 instead of ASCII string encoding
* ObjC: added virtual destructors to silence warning in Xcode (Jim Azur)
* C#: added instance based API (Thomas Mayer)
* C#: fixed conflicting .NET dll in NuGet package (Thomas Mayer)
* Python: basic syntax updates for Python 3
* Python: added PYTHON makefile option to set python command
* Python: pylibpd version now 0.12, should have tracked versions before...
* pdtest C sample: now returns -1 if open file fails
* pdtest_gui C sample: now uses libpd_*_instance functions
* pdtest_gui C sample: Windows build fixed (reported by Diego Barrios Romero)
* pdtest_rtaudio C++ sample: fixed build error & updated to rtaudio 5.1.0
* pdtest iOS ObjC sample now displays an AVRoutePicker button on iOS 11+
* various readme updates and clarifications
0.11.0: 2018 Sep 13
* updated to pd vanilla 0.48-2
* the libpd C core is now thread safe
* support for multiple libpd instances is more or less working, see new
libpd_*_instance() api and pdtest_multi/pdtest_thread C samples,
note: language wrappers are not yet updated with the new APIs
* libpd can now open a patch in the Pd vanilla GUI directly, see the new
libpd_startgui()/libpd_stopgui() functions and the pdtest_gui C sample
* enable/query verbose printing with new libpd_set_verbose()/libpd_get_verbose()
functions (Pierre Guillot)
* no longer build s_file.c as desktop settings have no real meaning for libpd,
this also fixes iOS build error due to system calls being removed in Xcode 9
* libpd binaries built with MinGW now work in Visual Studio (see readme)
* updated ringbuffer atomics macros to use C11 stdatomics.h if available,
this fixes deprecation warning on macOS 10.12
* fixed possible crash due to stale printhook pointer (reported by Niall Moody)
* fixed bug in libpd_sysex which masked 8 bit bytes, the MIDI spec allows 8 bit
bytes except for realtime messages
* fixed [declare -stdpath] crash (reported by Pierre Guillot)
* Makefile: UTIL=true, EXTRA=true, LOCALE=false are now defaults
* Makefile: added MULTI option to build libpd with multiple instance support
* Makefile: installs libpd .def and .lib files on Windows
* Makefile: builds working pd.dll needed by externals on Windows (Spacechild1)
* Makefile: C++ headers are now conditionally installed if built with UTIL=true
* Makefile: use default optimzations from pd: fast math, loop unrolling, etc
* Makefile: DEBUG option now sets "-O0 -g" instead of "-Wall"
* Makefile: "make install" now uses install command and sets permissions
* Makefile: fixed install bug when libdir doesn't exist (Wim Muskee)
* Makefile: added BSD build support (Luc Hondareyte)
* Makefile: added ADDITIONAL_LDFLAGS (Pierre Guillot)
* Makefile: added javadoc & javasrc targets (suggested by Pooya Moradi)
* CMake: added CMakeLists.txt for cmake support (Diego Barrios Romero)
* C: const int tick argument in libpd_process functions (Pierre Guillot)
* C: const float src argument in libpd_write_array (Pierre Guillot)
* C++: transitioned to all-header library and removed "cpplib" make target,
you may need to add `libpd_wrapper/util` to you include paths, this also
makes it possible to use libpd compiled by MinGW & C++ with Visual Studio
* Java: added PortAudio support, build using PORTAUDIO=true makefile option
* Java: allow custom natives loading by implementing PdBaseLoader class (MGSX)
* Java: fixed Windows pthread naming in PdBaseLoader (reported by Pooya Moradi)
* Java: moved javatest to samples/java
* Java: removed out of date dist/libpd.jar
* ObjC: iOS 8 is now the min-deployment target, now using ARC, modernized syntax
* ObjC: macOS Xcode project universal build by default
* ObjC: added PdAudioController default category option methods for subclassing
* ObjC: PdAudioController should always restart on audio interruption
* ObjC: PdFile now checks for file existence before opening
* ObjC: fixed cocoapods swift build by only exposing obj folder (Cerupcat)
* ObjC: fixed PdAudioController playback stopping when another app starts
playing by setting MixWithOthers option for Playback category
(Alexander Randon)
* ObjC: general source commenting & formatting improvements
* added pdtest_freeverb C sample (a project with a working external!)
* added pdtest_thread C sample (Pierre Guillot)
* updated Xcode projects for Xcode 9
* added Travis-CI support for C (Pierre Guillot)
0.10.0: 2016 Sep 24
* updated to pd vanilla 0.47-1
* fixed divide by 0 when opening a patch by calling sys_startgui() in
libpd_init() (provided by Pierre Guillot)
* added LIBPD_SETLOCALE define & makefile SETLOCALE option to explicitly set
"C" numeric locale in libpd_init() (Thomas Mayer)
* C#: major updates to build system to support 64bit (thanks to Thomas Mayer!)
* mingw_build.bat -> mingw32_build_csharp.bat
* mingw_build64.bat -> mingw64_build_csharp.bat
* C#: added NuGet packages for .NET and Mono (Thomas Mayer)
* C#: added NAudio example (Thomas Mayer)
* C++: removed C++11 version check for mutex, better to simply honor use of the
LIBPD_USE_STD_MUTEX define (Benjamin Porter)
* Python: fixed duplicate symbol error by setting -fcommon
when building (reported by David Glivar)
0.9.2: 2016 Aug 04
* ObjC: fixed bug where audio was not being routed to speaker when initing
AVAudioSession, also fixes possible session setup fail where the
PdAudioUnit will not run
0.9.1: 2016 Jun 06
* ObjC: fixed wrong selectors in PdMidiListener
* ObjC: fixed AudioSessionSetProperty deprecations in PdAudioController
* C++: simplified PdBase locking with _GUARD() macro
* C++: added mutex lock()/unlock() functions, PdContext now protected,
mutex now private
* Podspec: fixed duplicate symbol link error by adding -fcommon
* Podspec: C++ layer no longer added by default
* added mingw_build64 batch script
0.9.0: 2016 May 31
* updated to pd vanilla 0.47-0
* new clone object
* expr is now BSD licensed
* HAVE_ALLOCA_H no longer required
* ringbuffer now uses OS-specific atomics
* build cpplib with UTIL files since it always uses the ringbuffer
* ObjC: added access to PdFile t_pd pointer, deprecation warning fixes
* ObjC: fixed AVAudioSession method call on iOS 5 and below (diglesia)
* C++: allow re-init without clearing current subscribers
* Android: print concatenation layer added to jni (tkirshboim)
* added audio api libs to pdtest_rtaudio
0.8.3: 2015 Sep 29
* CocoaPods podspec now actually works (thanks Yair Szarf!)
0.8.2: 2015 Jul 23
* added CocoaPods podspec file
* updated pure-data upstream branch which removes debug print
* changed pure-data git submodule back to Pure Data sourceforge link
0.8.1: 2015 Jun 16
* ringbuffer bugfix to ensure compound messages do not cause a race condition
* moved java tests back to root dir to match Java/Eclipse standard
* updated Java tests
0.8.0: 2015 Apr 27
* tracking vanilla 0.46-6 (in 0.46 branch + multi instance bugfix)
* pure-data source folder is now a submodule from the pd Sourceforge git
* added LIBPD_EXTRA define to call pure-data/extra extern setup functions
in libpd_init()
* added UTIL and EXTRA Makefile vars to for conditional compilation of
libpd_wrapper/utils and pure-data/extra extern sources into libpd
* added DEBUG Makefile var to control build optimizations
* added rudimentary install & uninstall makefile targets
* added -DHAVE_ALLOCA_H, _DHAVE_LIBDL, and -ldl on OSX in libpd.xcodeproj
* [netsend] & [netreceive] now working in libpd (thanks Chris!)
* Android: fixed makefile for 0.45-4+ source changes
* C++: added optional ringbuffer usage to init(), removed messaging queue
* C++: added C++11 std::mutex locking, compile with LIBPD_USE_STD_MUTEX
* C++: added "cpplib" Makefile target to build libpd + C++ wrapper
* ObjC: PdAudioUnit can now be subclassed
* ObjC: deprecation fix, use AVAudioSession IOBufferDuration if available
* reorganized all samples & tests by language
* updated C & C++ sample Makefiles so samples build and run on OSXi
* added multi instance example
0.7.0: 2014 May 01
* merged with vanilla 0.45-4
* added upstream fix for iOS 64-bit function pointer crash
* replaced exposed hook function pointers with setter functions
* fixed iOS 6 deprecated AVAudioSession warnings
* expr~ licensing now definitively LGPL
* now using OpenSL for audio on Android
* added isValid method to ObjC PdFile
0.6.0: 2013 Mar 13
* ObjC API refactoring: added midi message passing & manual polling
* added z_queued ringbuffer message layer
* added z_util concatenated print message layer
* ring buffer now uses gcc atomics
0.5.0: 2013 Jan 08
* added C# wrapper & minigw build support
* added support for including native libraries in libpd.jar
* cross platform compilation improved
* fixed backward compatibility with Android 1.5
* Processing support has moved to a separate repository
* fixed midi port numbering inconsistency
0.4.0: 2012 Mar 22
* added C++ wrapper
* refactored JavaSound sample for easier reuse
* merge with vanilla 0.43-1
* revised Java PdListener
0.3.0: 2012 Jan 08
* major updates to the ObjC wrapper
* ignoring SIGFPE to fix crash on Android 4 (ICS)
* make sure the default audio routing is the speaker in iOS
* 64 bit fix, added support for arbitrary length lists
* removed mem allocation in ObjC audio thread
* message buffer size now settable
* added AudioUnit to ObjC wrapper
0.2.0: 2011 Apr 25
* added C++ compiler support
* merge with vanilla 0.43
* added array access functions
* added Python wrapper
* added midi functions
* iOS examples have moved to a separate repository
0.1.0: 2010 Nov 21
* initial libpd