Commit 4e3a3b8b authored by Thomas Grill's avatar Thomas Grill
Browse files

Merge pull request #11 from umlaeute/fixperms

fix file permissions, and changes to the docs. Many thanks, Iohannes!
parents 226655cb dffb0b92
File mode changed from 100755 to 100644
......@@ -148,7 +148,7 @@ into the default location.
=======================
The flext build system can be used to compile flext-based externals or also
native PD and Max/MSP externals, provided there is a package.txt file in the project folder.
native Pd and Max/MSP externals, provided there is a package.txt file in the project folder.
In the shell, change to the project folder.
Then, simply run the flext build script,
......@@ -204,7 +204,7 @@ then you can run
./configure --help
to get a page of options.
You need to pass the path to the PD source files or the Max SDK to the ./configure script,
You need to pass the path to the Pd source files or the Max SDK to the ./configure script,
e.g. on OS X with something like
./configure --enable-system=pd --with-sysdir=/Applications/Pd-0.40-2/Contents/Resources/src
......@@ -234,7 +234,7 @@ Flext can be compiled straightforward as a static or shared library, in release
Some preprocessor symbols must be defined depending on the build mode and the realtime system it is targetted for.
for Max/MSP: FLEXT_SYS = 1
for PD: FLEXT_SYS = 2
for Pd: FLEXT_SYS = 2
for a debug build: FLEXT_DEBUG
......@@ -254,7 +254,7 @@ for a shared library (always multi-threaded): FLEXT_SHARED
Xcode projects often use some Source Trees (definable in the Xcode Preferences).
- Flext - the flext main folder
- PD - the PD installation
- PD - the Pd installation
- Max SDK - the Max SDK (path ending with "c74support")
- Max Common - Max common files (normally /Library/Application\ Support/Cycling\ \'74 )
......
......@@ -35,7 +35,7 @@ Version history:
- fixed dangerous spot (also memory leak) with message queuing
- fixed buggy freeing of memory for AtomListStatic
- optimizations around method registration
- preprocessor symbol FLEXT_COMPATIBLE - if defined don't implement specialities of either PD or Max/MSP
- preprocessor symbol FLEXT_COMPATIBLE - if defined don't implement specialities of either Pd or Max/MSP
- Max: fixed reported bug (#67), where list elements are distributed over inlets
- added thisParent type, which refers to the class from which the current flext class is derived (as given in FLEXT_HEADER)
- bang method can also by added with FLEXT_(C)ADDMETHOD (FLEXT_(C)ADDBANG is still an alias)
......@@ -46,7 +46,7 @@ Version history:
- more ToOut/Sys* methods
- fixed help name definition at class setup
- added gcc branch hinting
- PD: possibility to create DSP classes without main DSP inlet (use e.g. FLEXT_DSP0_NEW)
- Pd: possibility to create DSP classes without main DSP inlet (use e.g. FLEXT_DSP0_NEW)
- fixed atom sorting (symbols were sorted by pointer, not by content)
- updated build system to handle UB on OSX (including architecture-specific compiler flags)
- new idle callback/method functionality
......@@ -69,11 +69,11 @@ Version history:
- reconsidered flext::buffer::Update
- enhanced buffer handling
- support for buffer locking (flext::buffer::Lock() and Unlock()) - it's a must for Max/MSP at least
- use new PD idle callback for queues messages (currently in devel_0_38)
- use new Pd idle callback for queues messages (currently in devel_0_38)
- fixed bug with unregistering for bound symbols
- removed virtual m_assist function (which was only useful for Max)... stick to static assist strings
- removed virtual flext_dsp::m_enable function (which wasn't present for Max/MSP)
- added m_click method which gets called on alt-click (PD) resp. double clicks (Max) onto the object box
- added m_click method which gets called on alt-click (Pd) resp. double clicks (Max) onto the object box
- in ToOut check if we are inside dsp (and use ToQueue then...)
- some restructuring and use symbols (rather than char *) natively for AddMethod* and AddAttrib* functions
- added some more SIMD functionality
......@@ -99,7 +99,7 @@ Version history:
- fixes for Max 4.5 headers
- removed Mach-O/CFM glue stuff again and added makefiles for Max/MachO
- in flext::StopThread don't wait for thread to have stopped!
- support PD tooltips (only in devel branch at the moment)
- support Pd tooltips (only in devel branch at the moment)
- attribute editor: added individual apply buttons
- attribute editor: added escaping for , and ;
- attribute editor: zoomed editor accepts , as newline separator
......@@ -120,14 +120,14 @@ Version history:
- fixed small problem with buffer->Valid() on startup
- fixed buffer overrun problems with flext::post, flext::error... (but still to improve)
- improved handling of patcher arguments
- also initialize flext::sym_int as MakeSymbol("int") for PD (since the variable is there anyhow)
- also initialize flext::sym_int as MakeSymbol("int") for Pd (since the variable is there anyhow)
- fixed bug with attribute dumping
- default arguments for object construction (types float0,int0,t_symtype0 for FLEXT_NEW*)
- added flext::sym__ for empty symbol ""
0.4.5:
- added some more SIMD functions
- PD attributes: added a TCL/TK editor dialog ("properties") and save attributes to patcher
- Pd attributes: added a TCL/TK editor dialog ("properties") and save attributes to patcher
- fixed wrong returned result of flext::buffer::set function
- fix for linux static exported function name-clash (individual linker namings for exported flext base classes)
- made message queue stuff global (static) for all flext objects
......@@ -136,7 +136,7 @@ Version history:
- "getattributes" or "getmethods" output lists are now alphabethically sorted
- flext::StopThread function to terminate running threads (started with LaunchThread)
- added flext::CmpAtom and AtomList::operator < methods ... useful for using lists as keys for STL
- make use of new PD thread locking (PD functions sys_lock() and sys_unlock()), queue messages only if necessary
- make use of new Pd thread locking (Pd functions sys_lock() and sys_unlock()), queue messages only if necessary
- better FLEXT_OSAPI resolution
- ListAttributes (or the getattributes message) now lists attributes in the order they were created (first class, then object scope)
- enforcing usage of STL
......@@ -155,7 +155,7 @@ Version history:
- added flext_base::ToSelf* methods for queued (deferred) self messaging
- deleted flext::buffer console outputs for undefined arrays/buffer~s: should be done by externals
- a few changes for the flext shared library
- tiny update for PD 0.37 header file usage
- tiny update for Pd 0.37 header file usage
- fixed a bug associated to attribute argument lists
- added functions for version number and string (flext::Version and flext::VerStr, mainly for usage of a shared flext library)
- flext_base::UnbindMethod returns user data
......@@ -170,7 +170,7 @@ Version history:
- added flext::Forward function to send messages to bound symbols
- added "zero" flag to flext::buffer resize operation
- fixed bug for Max/MSP buffer resize with preservation of contents
- fixed bug with thread initialization (caused PD@OSX to crash on startup)
- fixed bug with thread initialization (caused Pd@OSX to crash on startup)
- flext::setup is only run once now
- fixed creation bug with objects that have attributes but no outlets
- added FLEXT_BINDMETHOD,FLEXT_UNBINDMETHOD to bind a method to a symbol
......@@ -185,7 +185,7 @@ Version history:
- MaxMSP: added assist string for attribute outlets
- added new POSIX for ThrCond::TimedWait (but still have to find out when to enable it....)
- added CopySamples and ZeroSamples
- fixed bug for DSP object with zero signal inlets in PD
- fixed bug for DSP object with zero signal inlets in Pd
- added validity check for sample buffers
0.4.1:
......@@ -202,7 +202,7 @@ Version history:
(this is possibly only a problem for the signal2 tutorial example)
- added flext::GetType(t_atom &), flext::ZeroMem
- put the clock_delay for the message queue inside the thread-locked area
Ok for the actual object, but PD has to be thread-safe here as well
Ok for the actual object, but Pd has to be thread-safe here as well
- BACKWARDS-INCOMPATIBLE CHANGE: flext_base::m_methodmain and flext_base::m_method_ have got
const modifiers.... these virtual methods are used rarely (except for example in py/pyext)
- now MUCH cleaner platform identification... FLEXT_SYS,FLEXT_OS,FLEXT_CPU definitions
......@@ -229,7 +229,7 @@ Version history:
- introduced Max/Jitter-like attribute functionality ("@value" command line, "getvalue" get and "value" set functions)
- introduced a flext static class for general flext functions (to clean up the flext_base class)
- creation argument handling is now done by flext
no more weird PD re-ordering of arguments
no more weird Pd re-ordering of arguments
- no more support for the Apple MPW compiler - MacOS9 is dying anyway...
- calling SetupInOut() has become obsolete
- flext creates all inlets/outlets by itself after the constructor has finished
......@@ -237,7 +237,7 @@ Version history:
- there is a virtual bool Init() function that may be used for such initialization
- completely redesigned FLEXT_NEW macros, usage of dynamic classes (in fllib.cpp)
- added ToQueue* functions - like ToOut* but messages or not directly sent (well suited for deadlock situations)
- introduced additional per-class methods and attributes (just like it ever was in Max and PD)
- introduced additional per-class methods and attributes (just like it ever was in Max and Pd)
- fixed potentially dangerous typo in flext.cpp - (was: FLEXT_THREAD instead of FLEXT_THREADS)
- added OSX/darwin support (originally done by Adam T. Lindsay)
- SndObj interface now also available for cygwin and BCC
......@@ -249,7 +249,7 @@ Version history:
- fixed anything outlets for Max/MSP... for some strange reason this severe bug has not had severe consequences....
0.3.3:
- PD: fixed bug for DSP objects having no signal inlets
- Pd: fixed bug for DSP objects having no signal inlets
this also enables floats into a non-signal leftmost inlet
- revisited priority stuff for detached threads
- Bind/unbind functions for flext classes (in MaxMSP only one object can be bound)
......@@ -290,10 +290,10 @@ Version history:
- Alias object names (simply specify with FLEXT_NEW*, separated by whitespace)
- float messages - int method is called if there is no float method
- MaxMSP: int messages - float method is called if there is no int method
- fixed type warning for class constructors with int arguments in PD
- fixed type warning for class constructors with int arguments in Pd
- fixed severe bug concerning symbol methods
- MaxMSP: use critical sections for message output (for more safety in overdrive mode)
- PD: default/manual definition of help file by flext_base::DefineHelp
- Pd: default/manual definition of help file by flext_base::DefineHelp
- added GetThing/SetThing to access t_symbol's s_thing data member
- introduced FLEXT_NEW_DSP* and FLEXT_LIB_DSP* for FLEXT_NEW_TILDE* and FLEXT_LIB_TILDE* (the latter become deprecated)
......@@ -333,9 +333,9 @@ Version history:
- distribute list (into inlet 0) elements over inlets (right to left)
- added outlets for anythings
- defines for callback-to-method functions and method setup (FLEXT_CALLBACK*, FLEXT_ADD*)
- uses PD's or Max's memory allocation functions (for safety in Max's overdrive)
- uses Pd's or Max's memory allocation functions (for safety in Max's overdrive)
- no support for default arguments (A_DEFFLOAT and A_DEFSYMBOL).. use GIMME instead!
- better graphics update behavior for PD
- better graphics update behavior for Pd
- improved behavior for invalid/undefined buffers/arrays
- use MaxMSP internal z_disabled flag with flext_dsp for pausing/resuming dsp processing
- included CHECK_TILDE, a test whether a tilde object (defined as FLEXT_TILDE_*) has a trailing ~. (debug mode only)
......@@ -352,7 +352,7 @@ Version history:
- makefile for BCC
- manual call of extern_setup or main unnecessary for single objects - only in pd libraries
- delayed buffer init (only name is set beforehand)
- loadbang also in PD
- loadbang also in Pd
- introduced "compatibility mode" which denies platform-specific features
- fixed severe dsp bug (symptom: "float method overwritten" warning in pd)
- fixed bug: wrong return code from buffer::Set
......
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
......@@ -2,15 +2,15 @@ flext - C++ layer for Max/MSP and pd (pure data) externals
Copyright (c) 2001-2012 Thomas Grill (gr@grrrr.org)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
WARRANTIES, see the file, "license.txt," in this distribution.
----------------------------------------------------------------------------
VARIOUS NOTES:
Platform specific:
- PD does not allow signal and message to go into the same inlet (except leftmost inlet)
- PD: with DSP objects all float messages to the leftmost inlet are converted to signal
- Pd does not allow signal and message to go into the same inlet (except leftmost inlet)
- Pd: with DSP objects all float messages to the leftmost inlet are converted to signal
Restrictions in compatibility mode:
- Max allows only 9 float/int inlets
......@@ -28,7 +28,7 @@ KNOWN BUGS:
In these cases one can switch back to the C library memory operators by defining the FLEXT_NOGLOBALNEW macro before
inclusion of the flext.h header file (e.g. as a -D compiler option)
- PD: floats into the leftmost inlet of DSP objects can't be used as messages
- Pd: floats into the leftmost inlet of DSP objects can't be used as messages
even if there's no signal inlet at all
----------------------------------------------------------------------------
......@@ -42,7 +42,7 @@ TODO LIST:
- update documentation
- add log messages for debugging version
- use PD's t_float and t_int types (or comparable for 32-bit safety)
- use Pd's t_float and t_int types (or comparable for 32-bit safety)
- add double handlers
- add signal in/out connection query function
......@@ -57,13 +57,13 @@ TODO LIST:
TESTS TO DO:
- PD: problems with timed buffer redrawing (takes a lot of cpu time)
- Pd: problems with timed buffer redrawing (takes a lot of cpu time)
- hard thread termination upon object destruction doesn't seem to work properly -> crash
- Max rounding bug ... buffer resize could be one sample less!
- PD: figure out what "pointer" messages do and whether they are correctly implemented in flext
- Pd: figure out what "pointer" messages do and whether they are correctly implemented in flext
- Max buffer~ resize: flext_base::buffer::Frames(): must we use buffer or system sample rate?
- check whether m_dsp gets called upon deletion of a used buffer (PD and MaxMSP may behave differently).
-> PD does call m_dsp, Max/MSP does not
- check whether m_dsp gets called upon deletion of a used buffer (Pd and MaxMSP may behave differently).
-> Pd does call m_dsp, Max/MSP does not
......@@ -2,7 +2,7 @@ flext - C++ layer for Max/MSP and Pd (Pure Data) externals
Copyright (c) 2001-2015 Thomas Grill (gr@grrrr.org)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
WARRANTIES, see the file, "license.txt," in this distribution.
This package seeks to encourage the development of open source software
for the pd and Max/MSP platforms.
......@@ -15,15 +15,15 @@ https://www.paypal.com/xclick/business=gr%40grrrr.org&item_name=flext&no_note=1&
Abstract:
flext seeks to represent a uniform programming interface for extending the most common
modular real-time audio systems Max/MSP and Pure Data (PD) with external modules, or
short externals. These modules provide a way to tailor such a system for oneís
special needs and supply additional functionality.
modular real-time audio systems Max/MSP and Pure Data (Pd) with external modules, or
short externals. These modules provide a way to tailor such a system for oneís
special needs and supply additional functionality.
Source code based on flext is able to exploit most common features of the
Source code based on flext is able to exploit most common features of the
respective real-time framework while staying completely independent of the
actual host system and platform (hardware and operating system).
actual host system and platform (hardware and operating system).
flext currently supports development for PD under Linux, Windows and OSX as well as
flext currently supports development for Pd under Linux, Windows and OSX as well as
Max/MSP under OS9, OSX and Windows with various programming environments.
----------------------------------------------------------------------------
......@@ -40,24 +40,24 @@ pros:
- more than 3 typed creation arguments possible for Max/MSP
cons:
- introduces a small overhead to speed of message and signal handling
- introduces a small overhead to speed of message and signal handling
- larger memory footprint
----------------------------------------------------------------------------
Prerequisites:
--- PD ---
--- Pd ---
You need the pd source code which is most likely part of the distribution.
Otherwise download from: http://www-crca.ucsd.edu/~msp/software.html
--- Max/MSP ---
You will need the latest Max/MSP SDK
You will need the latest Max/MSP SDK
for Windows (http://synthesisters.com/pluggo3/downloadMaxWinSDK.php)
for OSX (http://www.synthesisters.com/sdk/max.php)
or for OS9 (ask Cycling'74 where to find that)
For OS9 threading support you'll also need the Multiprocessing library
For OS9 threading support you'll also need the Multiprocessing library
(download at http://developer.apple.com/sdk/)
--- SndObj ---
......@@ -65,7 +65,7 @@ Prerequisites:
download from: http://www.may.ie/academic/music/musictec/SndObj/main.html
--- STK ---
If you choose to compile with STK support you will need the respective package
If you choose to compile with STK support you will need the respective package
and build a library.
download from: http://ccrma-www.stanford.edu/software/stk/
For linking it may preferable to use a library of all the STK objects.
......@@ -91,7 +91,7 @@ Building and installing of flext and flext-based externals:
Various notes / limitations / bug list:
Read the notes.txt document
----------------------------------------------------------------------------
History of changes:
......
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment