1807 Commits

Author SHA1 Message Date
Alex Harker 40a6a52aa5 Formatting 2020-06-16 14:25:34 +01:00
Alex Harker 8e8190407c Prefer std::min and std::max where possible 2020-06-09 18:25:36 +01:00
Alex Harker 5d72984257 Formatting 2020-06-09 17:58:35 +01:00
Alex Harker 8db77ecc7c Code layout 2020-06-09 15:03:41 +01:00
Alex Harker 7f5262ccd3 Reorder parameter enum 2020-06-09 14:55:58 +01:00
Alex Harker fe43a67b00 Improved parameter ordering 2020-06-09 13:33:01 +01:00
Alex Harker 1e0262f397 Coding layout 2020-06-09 13:23:55 +01:00
Alex Harker 7c04ea9b9c Add parameter input to the sample rate conversion object (for consistency with conversion object) 2020-06-09 12:22:40 +01:00
Alex Harker 9fff3e194f Code formatting/style 2020-06-09 12:22:16 +01:00
Alex Harker d6554c5576 Fix message handlers to be specific to a context (including realtime state) 2020-06-08 23:07:12 +01:00
Alex Harker 1516b37fdc Merge branch 'master' into object-review (and add change to context for paths)
# Conflicts:
#	FrameLib_Max_Objects/Common/FrameLib_MaxClass.h
2020-06-08 17:10:02 +01:00
Alex Harker 1877ffd224 Update include paths 2020-06-08 17:02:57 +01:00
Alex Harker 1083293642 Fix build issues for newer versions of XCode 2020-06-08 17:01:29 +01:00
Alex Harker b0d4950049 Removed Sallen and Key as it duplicates SVF and extra modes are not clearly beneficial 2020-06-08 16:34:13 +01:00
Alex Harker 561417e213 Update demos for changes in filter object names 2020-05-25 19:36:11 +01:00
Alex Harker 0aba5a6324 Note error reporting issues 2020-05-25 19:29:32 +01:00
Alex Harker 7b56e41983 Fix parameter names for the dispatch object 2020-05-25 19:29:15 +01:00
Alex Harker f90d9a21cd Don't use hyphen in multistream 2020-05-25 12:20:31 +01:00
Alex Harker 77e8658c11 Rework filter template such that multi mode output is optional 2020-05-22 15:53:11 +01:00
Alex Harker fc8a44ed5a Update the filter template to allow tagged output for coefficient calculators 2020-05-20 16:15:48 +01:00
Alex Harker 44ebd05120 Remove resonant filter (due to the fact resonance is highly variable with freq) 2020-05-20 14:00:38 +01:00
Alex Harker 18a70ed379 Rename the single max object build 2020-05-20 13:50:15 +01:00
Alex Harker 114148016f Added biquad and biquad coefficients calculator objects 2020-05-20 13:14:11 +01:00
Alex Harker e92d58fd39 Correct filter template for template arguments in both cases 2020-05-20 13:07:58 +01:00
Alex Harker dd840acf43 Refactor the main wrapper filter class back into a single class with implementation switching as nested classes 2020-05-17 01:24:45 +01:00
Alex Harker 80d5a13bc0 Refactor filter/coefficient calculator into base and two inheriting classes 2020-05-15 17:40:55 +01:00
Alex Harker 5d8684ab66 Add branching for mode types for filter coefficient calculators 2020-05-15 13:23:36 +01:00
Alex Harker 60c9b25938 Updates for coefficient info 2020-05-15 12:36:34 +01:00
Alex Harker 5d15dd3296 Correct calculation of length for coefficient calculators 2020-05-15 12:01:47 +01:00
Alex Harker 131df640ec Formatting 2020-05-15 02:12:13 +01:00
Alex Harker d6cd34fadf Fix caching of coefficients in coefficient calculators 2020-05-15 02:11:44 +01:00
Alex Harker 6f8bbbbad3 Remove unneccessary tests/template parameters 2020-05-15 00:11:51 +01:00
Alex Harker 80480398b1 Reduce need for empty filter implementations 2020-05-15 00:04:58 +01:00
Alex Harker ded13f20e2 Updates for coefficient calculators 2020-05-14 23:58:15 +01:00
Alex Harker f30e58613d Formatting 2020-05-14 20:02:48 +01:00
Alex Harker f814caa38c Initial work on adapting the filter templates to be suitable for coefficient calculators 2020-05-14 20:02:09 +01:00
Alex Harker 5596a2404f Implement filter object descriptions 2020-05-14 16:15:33 +01:00
Alex Harker c2876ed3fb Improved filter parameter info 2020-05-14 15:41:28 +01:00
Alex Harker 764ced6972 Filter object name 0dfsvf -> svf 2020-05-14 15:30:30 +01:00
Alex Harker 1cbbdf1769 Improvements to parameter ordering and info 2020-05-14 15:25:31 +01:00
Alex Harker 9a16057dfa Add basic mechanisms for filter specific info 2020-05-14 15:16:32 +01:00
Alex Harker 790317cd26 Higher resolution constant 2020-05-12 14:48:15 +01:00
Alex Harker 1eaf0672c2 Rename SVF filter files 2020-05-07 21:18:02 +01:00
Alex Harker 9d8fff10e0 Fix sallen and key filter (rename and correct main method) 2020-05-07 16:39:23 +01:00
Alex Harker df03fb790f Correct filter cutoff frequency 2020-05-07 16:05:06 +01:00
Alex Harker 9b97a8577b Make sure filters recalculate when the sampling rate changes 2020-05-07 16:04:49 +01:00
Alex Harker e304f8e9b0 \Filter clean-up 2020-05-07 16:04:01 +01:00
Alex Harker 839ef198fd Update onepole to a better filter 2020-05-07 14:20:56 +01:00
Alex Harker f8d5965128 Stop clang complaining about 'missing' braces 2020-04-27 21:43:32 +01:00
Alex Harker 76604b0a03 Clearer naming, comments and namespacing 2020-04-27 18:42:58 +01:00
Alex Harker 1e66974780 Style / layout / formatting 2020-04-27 16:43:40 +01:00
Alex Harker eb87e6317d Constrain parameters when dynamic 2020-04-27 16:43:21 +01:00
Alex Harker 290fe86acf Merge branch 'object-review' into filter-templates 2020-04-26 20:09:30 +01:00
Alex Harker 26741fff05 Formatting 2020-04-26 20:09:04 +01:00
Alex Harker 673411042d Refactor for constexpr filter information 2020-04-26 20:08:44 +01:00
Alex Harker 74ee1e905f More code minimisation 2020-04-26 18:10:53 +01:00
Alex Harker 4e330bcecb Small refactor to minimise code 2020-04-26 18:08:04 +01:00
Alex Harker 0095eb2c6b Reduce code 2020-04-26 12:45:04 +01:00
Alex Harker 8f214753be Add multi-mode output to filters 2020-04-26 11:58:09 +01:00
Alex Harker 814c771b08 Use operator() rather than process() and deal with filters with one mode 2020-04-26 04:28:19 +01:00
Alex Harker 2dc026c76e Store coefficients with the filter object 2020-04-26 01:08:59 +01:00
Alex Harker 6c2f20435b Merge branch 'object-review' into filter-templates 2020-04-26 00:37:44 +01:00
Alex Harker 00e7e20d62 Type error 2020-04-26 00:37:21 +01:00
Alex Harker 611c7777cf Formatting 2020-04-26 00:35:14 +01:00
Alex Harker c219db02f9 All filter objects are now templates, with dynamic input and optional reset features. 2020-04-26 00:13:07 +01:00
Alex Harker ebdb1b39a7 Refactor to FrameLib_ToHost and the max handling of messages (fl.tomax~ and the global class) 2020-04-22 14:50:22 +01:00
Alex Harker 28a4df1fcb Add getContext() to max objects 2020-04-22 14:38:06 +01:00
Alex Harker 07de023fc5 Formatting 2020-04-22 14:35:06 +01:00
Alex Harker 915596733d Allow serial objects to be moved 2020-04-16 16:39:23 +01:00
Alex Harker b96e7de910 Remove deleted target from scheme 2020-04-16 16:33:26 +01:00
Alex Harker 2b6ac0ec1b Add the ability to retrieve block start and end times from the processing queue and DSP objects 2020-04-14 12:19:12 +01:00
Alex Harker 4a76fd75cd Add const dereferencing of managed pointers 2020-04-14 12:16:57 +01:00
Alex Harker 39176246cf Correct numeric testing target (remove extra source files) 2020-04-14 12:13:17 +01:00
Alex Harker 2787cc5f39 Merge branch 'object-review' of https://github.com/AlexHarker/FrameLib into object-review
# Conflicts:
#	FrameLib_Dependencies/SpectralProcessor.hpp
2020-04-13 13:29:28 +01:00
Alex Harker 00f93317e6 Refactor the pattern object (taking features from ticks) 2020-04-08 12:45:25 +01:00
Alex Harker ca63ee280e Rework reset default and add idle parameter to control output when idle 2020-04-08 12:44:38 +01:00
Alex Harker 1a35f55c61 Consistency of enum names 2020-04-08 12:37:10 +01:00
Alex Harker d5adf697e3 Consistency with Modes/Mode enums (use Modes) 2020-04-07 12:35:43 +01:00
Alex Harker 06dd82216f Add mirror mode to the convolution and correlation objects 2020-04-07 10:58:02 +01:00
Alex Harker 29bd478445 Fix folding issues in the spectral processor and add a repeating fold (to go to HISSTools_Library) 2020-04-06 19:25:14 +01:00
Alex Harker e6cadd79de Changes for complex folding operations (to go to HISSTools_Library) 2020-04-03 15:05:36 +01:00
Alex Harker 24f99006f3 More info string consistency 2020-02-13 15:51:23 +00:00
Alex Harker 590799809e Info strings revised for all generator objects 2020-02-13 15:48:19 +00:00
Alex Harker 88fef00b7d Add edges parameter to allow different kinds of normalised behaviours 2020-02-13 15:32:24 +00:00
Alex Harker b6984c06b1 Rename stddev parameter to deviation 2020-02-13 15:31:30 +00:00
Alex Harker d44d9b5f0a Refactor gaussian generator for speed and rework the parameters to make it more flexible 2020-02-13 12:36:56 +00:00
Alex Harker 9ddb751aff Rewrite info strings for the prioritise object 2020-02-13 11:39:23 +00:00
Alex Harker 25c07c5131 Info string consistency 2020-02-13 11:16:59 +00:00
Alex Harker afe8acb8d9 Timing objects review (ticks rewritten/refactored) 2020-02-13 11:16:15 +00:00
Alex Harker 9b7c3eeb1b Correct FFT normalisation 2020-02-10 15:14:29 +00:00
Alex Harker f2c2faeda7 Naming consistency for pack/unpack parameters 2020-02-02 17:26:08 +00:00
Alex Harker 1af65fd674 Move comment 2020-02-02 16:23:58 +00:00
Alex Harker 60dbc030af Rename methods to use term streams and update pack and unpack to check for changes 2020-02-01 14:52:48 +00:00
Alex Harker 0a469c9dbe Fix issue with wiping changes if inputCheck() is called twice before inputUpdate() 2020-02-01 14:52:19 +00:00
Alex Harker 15e5dcdc20 Small refactor 2020-02-01 11:49:47 +00:00
Alex Harker 2ec09ed2aa Refactor to allow reduced connection updates 2020-02-01 11:40:27 +00:00
Alex Harker 926150b037 Formatting 2020-02-01 00:14:20 +00:00
Alex Harker 298a746c8e Safely deal with objects that don't own their own streams without direct recursion 2020-01-31 01:05:04 +00:00
Alex Harker fe3dc12e0c Add single-queued stack 2020-01-31 01:02:53 +00:00
Alex Harker 264b4ba94f Formatting 2020-01-30 14:59:25 +00:00
Alex Harker c78b61a4ed Fix issue with testing connections 2020-01-30 11:45:08 +00:00
Alex Harker 278158244d Unneeded config line 2020-01-30 11:44:12 +00:00
Alex Harker 87b546c797 Use relative paths to other headers for ease of inclusion in a variety of contexts 2020-01-30 11:43:46 +00:00
Alex Harker 8ea4c7c1f8 Fix issue with testing connections 2020-01-30 11:34:02 +00:00
Alex Harker 5f313aeb14 Use angled brackets for export include path 2020-01-30 11:04:30 +00:00
Alex Harker a47495f38a Fix std::__1:: namespaces on mac on export by find and replacing 2020-01-30 11:01:23 +00:00
Alex Harker 2339742eb1 Windows casts 2020-01-30 11:00:49 +00:00
Alex Harker 0663b64ed4 Remove FrameLib_Future and rename FrameLib_AccumPoint on windows 2020-01-30 11:00:36 +00:00
Alex Harker 1ee842e552 Add auto ordering connections to the export 2020-01-12 21:15:16 +00:00
Alex Harker e67a41fa38 Avoid reallocation in the vector set if the memory size is not changing 2020-01-12 13:29:06 +00:00
Alex Harker 63c50401a8 Update TimeBuffer template to allow quicker resets 2020-01-11 23:35:30 +00:00
Alex Harker 51babee327 Allow priority to be either high or low numbered inputs 2020-01-11 19:56:30 +00:00
Alex Harker 9c3583cbd0 Add explicit denormal handling to framelib 2020-01-11 19:54:55 +00:00
Alex Harker 478377c930 Add prioritise object 2020-01-08 11:36:02 +00:00
Alex Harker 49978a572c Add facility to produce two independent gaussian random numbers at the same time 2020-01-07 18:03:44 +00:00
Alex Harker f23c8cb430 Whitespace 2020-01-07 01:07:56 +00:00
Alex Harker e2d96b3e2d Correct code export 2020-01-06 12:29:06 +00:00
Alex Harker bd097d3195 Use "ordering" rather than "synchronisation" 2019-12-14 11:13:18 +00:00
Alex Harker b203a22672 Revise info strings 2019-12-14 11:08:19 +00:00
Alex Harker 22a1c1e6cc Implement wrap and pad modes for the lookup object 2019-12-14 10:29:55 +00:00
Alex Harker 2292350582 Correct parentheses from merge conflict 2019-12-12 07:05:32 +00:00
Alex Harker 8c6622a86e Merge branch 'master' into dynamic-contexts
# Conflicts:
#	FrameLib_Max_Objects/Common/FrameLib_MaxClass.h
2019-12-12 07:03:21 +00:00
Alex Harker b7d60b0074 Use case insensitive comparison for patch names 2019-12-12 06:59:22 +00:00
Alex Harker 630a7230f4 Correct test ordering for connections to make sure inlets are valid 2019-12-12 06:56:40 +00:00
Alex Harker 676c81c051 Do patch comparison as lowercase 2019-12-11 14:59:00 +00:00
Alex Harker 3d1bc3cb70 Use constexpr class members, rather than static methods for type related info 2019-12-09 00:59:32 +00:00
Alex Harker d99c79ea03 Use final keyword to prevent unneeded overrides 2019-12-08 23:20:19 +00:00
Alex Harker 29b28ef6ac More efficient context servicing 2019-12-08 12:37:06 +00:00
Alex Harker f18950fa15 Set default realtime status according to object type 2019-12-08 12:36:49 +00:00
Alex Harker b3e9714793 Consistent and shorter info strings 2019-12-07 23:04:55 +00:00
Alex Harker b40da8d57f Formatting and info strings 2019-12-07 17:07:51 +00:00
Alex Harker c0db65b725 Formatting and info strings 2019-12-07 16:55:37 +00:00
Alex Harker 6238384aee Shorter info strings 2019-12-07 16:23:01 +00:00
Alex Harker 0f5579f047 Remove OPT comments 2019-12-07 16:16:48 +00:00
Alex Harker d71a8f552e Reduce FIX comments 2019-12-07 16:15:59 +00:00
Alex Harker 2faa537018 Correct the length to use the buffer sampling rate for conversion 2019-12-07 16:05:31 +00:00
Alex Harker 805bb34ae4 Formatting and info strings 2019-12-07 13:28:55 +00:00
Alex Harker cca7f1a636 Formatting 2019-12-07 13:12:16 +00:00
Alex Harker 7bab420c9c Formatting 2019-12-07 13:11:40 +00:00
Alex Harker ff62ea1319 Redo median filter info strings for object review 2019-12-06 19:52:24 +00:00
Alex Harker f400636638 Error reporting 2019-12-06 19:52:04 +00:00
Alex Harker 92b9d943b6 Remove function by rolling into template 2019-12-06 19:47:59 +00:00
Alex Harker 1c0d02bcc1 Refactor median filter and apply fix for even number widths 2019-12-06 19:27:52 +00:00
Alex Harker 2a04579713 Correctly correct argument numbers 2019-12-06 16:05:07 +00:00
Alex Harker 0a966529fa Fix argument number 2019-12-06 16:04:40 +00:00
Alex Harker de7d1f0e66 Remove comment 2019-12-06 15:51:14 +00:00
Alex Harker 0a7d995414 Updates of FRIPhase for object review 2019-12-06 14:38:32 +00:00
Alex Harker ba19986124 Update with HISSTools_Library changes for FIR processing with padding 2019-12-06 14:36:56 +00:00
Alex Harker 352f3a2223 Updates projects and object code 2019-12-06 14:36:32 +00:00
Alex Harker 250f04e6ee Remove the fl future object from the single object max compile 2019-12-06 13:53:20 +00:00
Alex Harker dd3dc1cda0 Formatting 2019-12-06 13:27:47 +00:00
Alex Harker f4bfa2c777 Remove fl.future~ 2019-12-06 13:27:33 +00:00
Alex Harker ed73141007 Fix unwrapping of connections and therefore connection acceptance 2019-12-06 13:04:10 +00:00
Alex Harker 410be29a45 Fix nodes to be safe when parsing functions, and hence achieve correct constant folding 2019-12-05 20:55:32 +00:00
Alex Harker 975fc912fc Correct testing for valid tags in the expression parser 2019-12-05 20:31:29 +00:00
Alex Harker 209b7d7e77 Rework expression parsing on max object to get the exact contents of the max object box in order to get better error reporting 2019-12-05 20:01:54 +00:00
Alex Harker 60ca459c80 Pass object pointers through to max object constructors in case they are needed 2019-12-05 20:01:14 +00:00
Alex Harker 2e43133150 Fix SC build 2019-12-05 19:06:13 +00:00
Alex Harker 1532ced082 Ignore non-cpp files for documentation 2019-12-05 18:40:52 +00:00
Alex Harker 0ad3ba8a52 Safely clone and cast proxies 2019-12-05 18:35:44 +00:00
Alex Harker 1ced48ecfb Fix C++ build issues for documentation 2019-12-05 17:56:53 +00:00
AlexHarker ea96f770fa Merge pull request #48 from AlexHarker/master
Merging SC changes into dynamic contexts
2019-12-05 17:38:30 +00:00
Alex Harker 02f7a52dcc Correct the SC global object to work across compilation units 2019-12-05 17:01:01 +00:00
Alex Harker 129950e576 Update issues file 2019-12-05 16:33:10 +00:00
Alex Harker 4ac729638d Move to new FLParam model for passing parameters 2019-12-05 16:24:55 +00:00
Alex Harker 225cd5bb59 Allow calculations in the string sizes are known, without needing the actual strings 2019-12-05 16:24:17 +00:00
Alex Harker a14063fd8a Reduced code in sclang with help from Sam Pluta with SC syntax 2019-11-28 15:56:58 +00:00
Alex Harker 68d185099f Remove debug posts 2019-11-27 14:00:59 +00:00
Alex Harker f058efa01b Fix object type 2019-11-27 13:59:35 +00:00
Alex Harker 63702ca2c8 Compress SC strings and store global in the FLParam UGen 2019-11-27 11:20:55 +00:00
Alex Harker 018f50f013 Fix parameter loading for three main possible inputs 2019-11-27 07:29:07 +00:00
Alex Harker d83338155b Fix FLParam class 2019-11-27 00:44:40 +00:00
Alex Harker dc8359deb6 Proof of concept for FLParam in SC 2019-11-26 21:42:43 +00:00
Alex Harker 033e4e912e Update SC Issues 2019-11-26 10:23:50 +00:00
Alex Harker 09984274b2 Update supercollider issues list 2019-11-24 23:20:20 +00:00
Alex Harker 66ec0c0116 Update calc function to use a forwarding function so that the test for framelib objects is always quick 2019-11-24 23:20:06 +00:00
Alex Harker 6dd0c4a64f Rework error reporting to allow either immediate or amalgamated error reporting 2019-11-24 23:09:17 +00:00
Alex Harker 678e987a40 Add ability to retrieve errors to fixed size buffers 2019-11-24 22:19:26 +00:00
Alex Harker 09f02fbdb5 Add error functionality to allow remove errors from the list for immediate reporting 2019-11-24 17:40:56 +00:00
Alex Harker 18f5a7d1b9 Correct array size 2019-11-24 17:29:10 +00:00
Alex Harker e5b1b9fcc4 Remove unneeded public keyword. 2019-11-24 17:23:15 +00:00
Alex Harker f9ff92d0b9 Use calculation functions to identify FrameLib units in SC 2019-11-24 12:32:34 +00:00
Alex Harker b1b948924e Improved expression error reporting 2019-11-24 11:59:23 +00:00
Alex Harker b736b94b99 Respect parameter ordering 2019-11-21 18:13:50 +00:00
Alex Harker 1150acea0d Add a normalised mode to FrameLib_Read 2019-11-20 15:15:16 +00:00
Alex Harker 572788e506 Add object reset to FrameLib_Future 2019-11-20 11:44:52 +00:00
Alex Harker 66baea67af Enchanced expression error checking 2019-11-19 00:19:27 +00:00
Alex Harker 0ff405fa70 Report errors if the maximum number of expression inputs is exceeded. 2019-11-18 10:48:12 +00:00
Alex Harker 11101ba6be Allow error reporting with ints to avoid ambiguity 2019-11-18 10:47:47 +00:00
Alex Harker 6b9b37fedc Constant outputs for expressions now always have length one 2019-11-18 10:42:39 +00:00
Alex Harker ff2d52439d Use common tag parsing code (make public) 2019-11-18 10:13:47 +00:00
Alex Harker 495e6786e5 Do error reporting as parsing occurs 2019-11-17 23:35:35 +00:00
Alex Harker ea2fa92578 Reordering in XCode project 2019-11-17 17:02:26 +00:00
Alex Harker 2ed845b7e5 Remove double semicolon 2019-11-17 16:50:23 +00:00
Alex Harker faa2c785bd Unify expression parsing for max objects 2019-11-17 16:42:56 +00:00
Alex Harker 025a01a1e8 Error reporting for expression parsing 2019-11-17 16:29:38 +00:00
Alex Harker 869e0f182a Set arguments on buffer objects 2019-11-15 21:34:21 +00:00
Alex Harker 040de27447 Improved buffer object info strings 2019-11-15 21:31:40 +00:00
Alex Harker fc40367f70 Mode for from host object is instantiation only 2019-11-15 20:47:57 +00:00
Alex Harker 14272b0327 Improved FrameLib_FromHost info strings 2019-11-15 20:46:51 +00:00
Alex Harker c14922a0c9 Info string consistency 2019-11-15 20:46:26 +00:00
Alex Harker 8459932154 Info string improvements for generators 2019-11-15 20:38:44 +00:00
Alex Harker a516765a89 Improved info strings for convolution and correlation objects 2019-11-15 19:10:59 +00:00
Alex Harker b84e4a72e8 Correct iFFT info string 2019-11-15 19:09:17 +00:00
Alex Harker 3984de849e Add error reporting when convolution or correlation objects cannot process 2019-11-15 18:38:56 +00:00
Alex Harker f3565d974f Correct FFT/iFFT error reporting 2019-11-15 18:36:22 +00:00
Alex Harker 9bddaa60bd Fix correlation/convolution object argument order/numbers 2019-11-15 18:36:02 +00:00
Alex Harker 1e0b30dde0 reportError -> void operator() of FrameLib_ErrorReproter - allow objects to retrieve the reporter directly by reference 2019-11-15 18:20:02 +00:00
Alex Harker 2d0d9ce285 Improved info strings for audio trigger object 2019-11-09 15:51:12 +00:00
Alex Harker 4d2e0b9074 Set parameters even if there are none in order to throw errors 2019-11-09 15:50:12 +00:00
Alex Harker ed77a6ab29 Correct input info strings to account for parameter input 2019-11-09 14:43:04 +00:00
Alex Harker 7fed347b25 Refactor and improve info strings 2019-11-09 14:06:14 +00:00
Alex Harker 8a5ee996be Correct size of temp and make safe 2019-11-09 13:40:16 +00:00
Alex Harker d47304f7ee IFx FrameLib_DSP to allow memory to be released through local allocators 2019-11-09 12:40:43 +00:00
Alex Harker c4e4a2bc50 Avoid using temporary memory by looping twiceTidy up comments and info strings 2019-11-09 10:42:28 +00:00
Alex Harker 01ec0dbcfe Correct statPDFPercentile 2019-11-08 19:51:55 +00:00
Alex Harker 30698a6720 Scheme name 2019-11-08 19:51:42 +00:00
Alex Harker a3b8476122 Refactor vector template and convert FrameLib_Percentile and FrameLib_AccumPos (previously AccumPosition) to use it 2019-11-08 18:54:14 +00:00
Alex Harker 8e3ea27f88 Better info strings for schedulers and recall/store 2019-11-08 15:57:11 +00:00
Alex Harker 2641d3e64d Improvements to FFT-related info strings 2019-11-08 14:56:36 +00:00
Alex Harker d872526930 Add error for cases where the FFT setup is not large enough 2019-11-08 13:53:40 +00:00
Alex Harker a41f763eee Better info strings for FrameLib_Shift 2019-11-08 13:05:28 +00:00
Alex Harker 2eab2e185b Clean up info string 2019-11-08 13:05:04 +00:00
Alex Harker 81ced79ccd Normalise FFTs by default 2019-11-08 12:17:23 +00:00
Alex Harker 30f838de44 Better consistency for output info 2019-11-08 11:50:44 +00:00
Alex Harker 17a997876c Info string consistency 2019-11-08 10:23:28 +00:00
Alex Harker cf3d480ac8 Simplify info strings for FrameLib_Split 2019-11-07 16:01:31 +00:00
Alex Harker a0b578c26d Correct argument number for units 2019-11-07 15:53:01 +00:00
Alex Harker 09165c790d Simplify info text on FrameLib_Chop 2019-11-07 15:52:45 +00:00
Alex Harker 0b51787179 Finish correctly reordering constants 2019-11-07 15:32:57 +00:00
Alex Harker e6780daa74 Reorder constants for better extensibility 2019-11-07 15:26:10 +00:00
Alex Harker a0d98e9b34 Simplify info text 2019-11-07 15:24:41 +00:00
Alex Harker 91ad5530c5 Object review on fl.join~ 2019-10-27 20:20:46 +00:00
Alex Harker 279038bed6 Object reviews 2019-10-27 17:51:49 +00:00
Alex Harker ac4c6e8526 Formatting 2019-10-27 17:50:44 +00:00
Alex Harker bfc9f6a292 Merge branch 'dynamic-contexts' of https://github.com/AlexHarker/FrameLib into dynamic-contexts 2019-10-27 15:21:55 +00:00
Alex Harker 18bf7b2b16 Cast type for windows 2019-10-27 15:21:37 +00:00
Alex Harker 2b7dba73cd Casts for windows (from HISSTools_Library) 2019-10-27 15:21:10 +00:00
Alex Harker 265c39ca30 More type changes from HISSTools_Library 2019-10-27 15:12:51 +00:00
Alex Harker a2aba83239 Type consistency changes from HISSTools_Library 2019-10-27 15:06:21 +00:00
Alex Harker 8247e4a239 Updates to add new objects to windows 2019-10-27 14:49:56 +00:00
Alex Harker b2bd3a4f7e Add additional project files for windows 2019-10-27 14:18:57 +00:00
Alex Harker 50067c14c1 Update object names on windows 2019-10-27 13:58:38 +00:00
Alex Harker 4ca06febcc Reorder items in project file 2019-10-27 11:53:43 +00:00
Alex Harker a9af45fcbd Overhaul vector template to allow different responses to empty input frames 2019-10-27 11:38:02 +00:00
Alex Harker 444bef2de4 Fix error reproting for parameters (unary and other objects) 2019-10-27 11:19:31 +00:00
Alex Harker e799a3d5fd Whitespace 2019-10-26 23:18:57 +01:00
Alex Harker cfa3fb92e7 [BREAKING] Rename various single output vector objects - fl.vmin~ / fl.max~ / fl.argmin~ / fl.argmax~ / fl.geometricmean~ / fl.standarddeviation~ become fl.framemin~ / fl.framemax~ / fl.minpos~ / fl.maxpos~ / fl.geomean~ / fl.stddev~ 2019-10-26 19:47:06 +01:00
Alex Harker bbf7d0211b Template formatting 2019-10-26 16:22:48 +01:00
Alex Harker 2e2c121ee1 Fix padding on complex binary objects 2019-10-26 14:50:01 +01:00
Alex Harker 6b894aed85 Better info text 2019-10-26 14:49:47 +01:00
Alex Harker d50c55e446 Rename arithmetic operators classes 2019-10-26 12:12:51 +01:00
Alex Harker 0f35314574 Fix PD issue 2019-10-26 12:11:18 +01:00
Alex Harker b62d8b90a8 Fix fl.complex.expr~ target name. 2019-10-25 18:17:23 +01:00
Alex Harker 4912958852 More consistent info strings 2019-10-25 17:56:25 +01:00
Alex Harker 3ed07dfe72 Add namespace to avoid spillage into the global namespace 2019-10-25 17:44:45 +01:00
Alex Harker 947ed2f7d9 Update info strings for complex unary objects 2019-10-25 17:43:38 +01:00
Alex Harker a7ae9fb122 Formatting 2019-10-25 17:32:05 +01:00
Alex Harker f99d854c2a Fix object naming 2019-10-25 17:31:53 +01:00
Alex Harker 25f04f3321 Rename all complex objects and alias the basic complex maths operators 2019-10-25 17:05:52 +01:00
Alex Harker 38ada87311 Update aliases for complex objects (except basic types) 2019-10-25 16:18:29 +01:00
Alex Harker da673b5dce Remove extra full stops 2019-10-25 15:23:28 +01:00
Alex Harker 5f74571f8f Update info strings for the ternary objects 2019-10-25 15:21:29 +01:00
Alex Harker b00d673103 Change context tags to look more pleasant {id} and {rt} 2019-10-25 14:58:22 +01:00
Alex Harker b04dfaede0 Whitespace 2019-10-24 15:13:25 +01:00
Alex Harker 95364e547f Update ternary input modes for non-main input 2019-10-24 15:13:11 +01:00
Alex Harker 19935119be Ensure output dependency counts are always correct 2019-10-18 17:42:21 +01:00
Alex Harker f2c7a2cd24 Updates to doc building (there are also issues with proxies that require resolution) 2019-10-18 14:38:51 +01:00
Alex Harker 60bd19d072 Merge commit '4cf8cf27a5bf7807292fbaa30ed41e37ca6e7a81' into dynamic-contexts 2019-10-14 14:33:47 +01:00
James Bradbury 4cf8cf27a5 remove arg from 8th stage 2019-10-14 12:02:42 +01:00
James Bradbury 1afac50c7f move import to specific class 2019-10-14 12:02:15 +01:00
James Bradbury 314803434c put imports into classes 2019-10-14 12:02:08 +01:00
James Bradbury fb7e404b34 clean out docs before running the scripts 2019-10-14 12:01:54 +01:00
Alex Harker 8ff9f996b2 Fix output completion test in FrameLib_DSP 2019-10-12 15:35:47 +01:00
Alex Harker ca0adc7668 Merge commit '641762afb03c0f3996b5c34b17e2ae193d357284' into dynamic-contexts 2019-10-12 10:56:49 +01:00
James Bradbury 641762afb0 cleanup 2019-10-12 10:52:22 +01:00
Alex Harker 815319d101 Remove post to max window on graph update 2019-10-12 09:09:34 +01:00
Alex Harker 389079aa6a Merge branch 'docs' into dynamic-contexts 2019-10-12 09:01:24 +01:00
Alex Harker 089ae89ac3 Merge branch 'master' into dynamic-contexts 2019-10-12 08:55:08 +01:00
Alex Harker bb4562b1fa Update .gitignore for documenation 2019-10-12 08:54:33 +01:00
James Bradbury 139811ed70 refactor and uniform formatting 2019-10-12 02:17:20 +01:00
James Bradbury a4d2196cee Merge remote-tracking branch 'upstream/docs' 2019-10-12 01:17:37 +01:00
Alex Harker a44ba7cf23 Merge commit '8235c55ef9566f69fc138e47c686ea3d1854375c' into docs
# Conflicts:
#	.gitignore
2019-10-12 01:15:19 +01:00
James Bradbury 8235c55ef9 make PyYAML a dependency of FrameLibDocs 2019-10-12 01:13:46 +01:00
Alex Harker 450927969e Update .gitignore for docs items 2019-10-12 01:05:11 +01:00
James Bradbury 82751f154e Merge remote-tracking branch 'upstream/docs-james-master' 2019-10-12 00:50:22 +01:00
James Bradbury cf691dca5b make project wide variables 2019-10-12 00:49:59 +01:00
Alex Harker b7224f9f25 Add objects to exclude from docs 2019-10-12 00:49:22 +01:00
Alex Harker dfb757d746 Merge commit 'cab22ca3649adace0dd51a8641319c40d4a48eec' into docs-james-master 2019-10-12 00:49:06 +01:00
Alex Harker ed87131b46 Merge commit 'd774412ae98db5270d1d51de7c0b7ea7d11e8471' into docs-james-master 2019-10-12 00:48:30 +01:00
James Bradbury cab22ca364 append .cpp to arg 2019-10-12 00:47:44 +01:00
James Bradbury d774412ae9 add option to ignore files by passing arguments 2019-10-12 00:44:48 +01:00
Alex Harker bf0cd56905 .gitignore updates for docs 2019-10-12 00:31:37 +01:00
James Bradbury ec5c2dd91b no need to duplicate variable 2019-10-12 00:14:05 +01:00
Alex Harker 3231e612ee Correct path fo MaxObjectList.h and turn build script back on 2019-10-12 00:13:15 +01:00
James Bradbury b7174f80e5 Merge branch 'integration' 2019-10-12 00:04:58 +01:00
James Bradbury 0020e6a205 Merge remote-tracking branch 'upstream/docs-james-master' into integration 2019-10-12 00:04:50 +01:00
Alex Harker d04f8b2e31 Uncomment clean-up 2019-10-12 00:02:39 +01:00
Alex Harker f8245a4833 Ensure python scripts are called correctly at runtime, with the correct build variable settings 2019-10-11 23:57:12 +01:00
Alex Harker 97ee603a7b More path and build fixes 2019-10-11 23:52:06 +01:00
Alex Harker c45eaf1550 Updates for path issues with building documentation and running prior to 10.14 2019-10-11 22:31:55 +01:00
Alex Harker 930540a3db Ignore windows log files 2019-10-11 17:21:41 +01:00
Alex Harker 6bac2cc6be Enable parallel building of core windows projects 2019-10-11 17:07:09 +01:00
Alex Harker 4e582e2b30 Cast to silence compiler warnings 2019-10-11 17:04:56 +01:00
Alex Harker e8a683281f Silence type-warnings on windows in core max files 2019-10-11 16:15:54 +01:00
Alex Harker cbb9453b2a Complete prevision commit with missing type clarification 2019-10-11 16:05:55 +01:00
Alex Harker 2930622f71 Update for HISSTools_Library to reduce compiler warnings 2019-10-11 15:59:18 +01:00
Alex Harker 00dd6e5f3a Fix compilation errors for windows (64bit only fully completed) 2019-10-11 15:27:50 +01:00
Alex Harker 163c185a9b Merge branch 'master' into dynamic-contexts 2019-10-11 14:27:12 +01:00
Alex Harker 6d87a2dae4 Updates from HISSTools_Library 2019-10-11 14:26:56 +01:00
James Bradbury 787c29a2cb simplify readme 2019-10-11 13:12:37 +01:00
James Bradbury 4d6c186960 Merge branch 'integration' 2019-10-11 12:50:21 +01:00
James Bradbury af7bffc7be Merge branch 'master' of github.com:AlexHarker/FrameLib into integration 2019-10-11 12:49:53 +01:00
James Bradbury 315ef9d307 prototype new design 2019-10-11 12:47:05 +01:00
James Bradbury 981806b444 consolidate text descriptions 2019-10-11 12:35:35 +01:00
James Bradbury f3fe508f55 new tutorial placeholder 2019-10-11 12:35:19 +01:00
James Bradbury 2e56135c96 change FL_ prefix 2019-10-11 12:35:14 +01:00
James Bradbury b8177e96c7 prepend FL_ 2019-10-11 12:35:06 +01:00
James Bradbury 7ddc1e01f7 update index 2019-10-11 12:35:00 +01:00
James Bradbury 9ec397f799 js for tutorial navigation 2019-10-11 12:33:42 +01:00
Alex Harker f810d7214a Correct error reporting printing of symbol 2019-10-11 12:23:24 +01:00
Alex Harker 22ad2e55fb Improve error reporting for input / parameter parsing 2019-10-11 12:19:13 +01:00
Alex Harker 0482229b00 Add test for out of bounds input numbers 2019-10-11 12:00:16 +01:00
Alex Harker 7c0e7a7ccc Typo 2019-10-10 19:19:31 +01:00
Alex Harker 8e04d9888b Simplify parameter parsing again 2019-10-10 19:08:24 +01:00
Alex Harker 09876f533f Roll test into loop condition 2019-10-10 18:25:36 +01:00
Alex Harker 880b9f113a Fix parsing of contexts 2019-10-10 17:48:12 +01:00
Alex Harker a39671196f Simplify parseNumericalList 2019-10-10 17:42:21 +01:00
Alex Harker a538f0fdff Fix logical operator precedence issue 2019-10-10 17:03:08 +01:00
Alex Harker b94dfa4565 Refactor parameter parsing to reduce code 2019-10-10 16:58:18 +01:00
Alex Harker 1413dda9ba Initial support for named contexts 2019-10-10 16:36:10 +01:00
Alex Harker 3c2a011e97 Add return for clarity of code 2019-10-10 15:55:26 +01:00
Alex Harker 0b484f6a50 Refactor input parsing to be more compact and easier to read 2019-10-10 15:54:36 +01:00
Alex Harker 0550158c61 Simplify input/parameter parsing 2019-10-10 15:36:27 +01:00
Alex Harker 998514b49c Missing space 2019-10-10 11:10:40 +01:00
Alex Harker 767aa338dc Format 2019-10-10 11:09:35 +01:00
Alex Harker d14a74cd44 Merge branch 'master' into dynamic-contexts 2019-10-07 23:36:24 +01:00
Alex Harker 9e5a16f84b Updated FFT from HISSTools_Library 2019-10-07 23:36:05 +01:00
James Bradbury 3ddba3a39d tutorial_names.txt update 2019-10-04 10:24:00 +01:00
James Bradbury d7aa90e3a0 update refs with new tutorials 2019-10-04 10:23:50 +01:00
James Bradbury d5a510a380 Merge branch 'integration' 2019-10-01 16:29:48 +01:00
James Bradbury 24cc0ec908 Merge branch 'master' of github.com:AlexHarker/FrameLib into integration 2019-10-01 16:28:11 +01:00
James Bradbury 34876205b3 template for objects that have mismatch and trigger ins params 2019-10-01 16:27:39 +01:00
James Bradbury cd2377e2c7 move from folder to vignettes 2019-10-01 16:26:56 +01:00
James Bradbury 7ed682f41b ideas for vignettes 2019-10-01 16:26:30 +01:00
James Bradbury ffbd008222 fix empty bpatchers 2019-10-01 16:21:37 +01:00
James Bradbury 9cf29db791 change order of tutorials 2019-10-01 16:01:18 +01:00
James Bradbury ca2c01c24c prefix tutorials 2019-10-01 16:01:10 +01:00
James Bradbury 7dc404d6c9 prefix stuff 2019-10-01 16:00:54 +01:00
James Bradbury f90fafda04 prefix everything so the patchers are less likely to conflict 2019-10-01 16:00:44 +01:00
James Bradbury 0f4295a511 start work on multi-res-fft 2019-10-01 15:04:17 +01:00
James Bradbury 8e2b54217f skeleton for tutorial xml 2019-10-01 15:03:47 +01:00
James Bradbury c418bfe192 more help files 2019-10-01 15:03:39 +01:00
James Bradbury 74428385f9 finished multi-stream tutorial 2019-10-01 15:02:49 +01:00
James Bradbury ff6baec29b update sizing to be mirrored and use proper loadbang scheme 2019-09-27 15:05:57 +01:00
James Bradbury be2d5196f2 update indexing and black out if no params 2019-09-27 15:05:34 +01:00
James Bradbury 3ab15e8bba help file work 2019-09-27 15:05:17 +01:00
James Bradbury 8a20175f7a update with new tutorial names 2019-09-27 14:46:43 +01:00
James Bradbury 0af47e0446 updated work on help files 2019-09-27 14:46:27 +01:00
James Bradbury 201adb4aae updated work on internal tabs 2019-09-27 14:46:17 +01:00
James Bradbury 1ad2aff0db add yaml to utilities recipes 2019-09-27 14:45:57 +01:00
James Bradbury eda5b58b77 remove old py 2019-09-27 14:45:37 +01:00
James Bradbury c4208827ce keep copy of internal_tab template for posterity 2019-09-27 14:45:28 +01:00
James Bradbury 21db810b7e use natural sorting instead of lexicographical 2019-09-27 14:45:15 +01:00
James Bradbury 3f66bc1e8a suppress annoying error (this will need to be fixed another way) 2019-09-27 14:44:54 +01:00
James Bradbury 2f12a6fd24 cd the right level of parent folders up 2019-09-27 14:44:39 +01:00
James Bradbury aa0c8eb4b1 remove completed help files 2019-09-27 14:44:26 +01:00
James Bradbury f825443e13 re-do some javascript helpers 2019-09-27 14:44:09 +01:00
James Bradbury 9183b0ded6 remove old patch 2019-09-27 14:38:05 +01:00
James Bradbury b82df495ff give unique name to abstraction 2019-09-27 14:37:54 +01:00
James Bradbury 72a26432d6 ir and spectral tutorials 2019-09-25 15:17:14 +01:00
James Bradbury 7094947c20 update helper patchers 2019-09-25 15:16:00 +01:00
James Bradbury f0e9a41969 templates for last 2 tutorials 2019-09-25 15:15:44 +01:00
James Bradbury d61376ce4a rejig arrangement 2019-09-25 15:15:33 +01:00
James Bradbury 89ce9d9997 remove unnecessary js 2019-09-25 15:08:20 +01:00
James Bradbury 38f85346a3 update docs readame.md 2019-09-25 15:08:06 +01:00
James Bradbury 11c5e5241c early work on new help files 2019-09-25 15:07:56 +01:00
Alex Harker ae21daae76 Bring in fix to window functions from HISSTools_Library 2019-09-23 19:34:41 +01:00
Alex Harker 308f55d212 Make methods static if they don't use class members 2019-09-18 11:17:38 +01:00
Alex Harker 7f636a815f No longer any need to copy the serial parameters when switching contexts 2019-09-18 08:59:54 +01:00
Alex Harker 5441aa86bd Objects are now constructed with const FrameLib_Parameters::Serial * (const-correctness) 2019-09-18 08:58:28 +01:00
Alex Harker 47448eb795 Make sure stream specifiers and attributes are passed through to the base 2019-09-18 01:11:19 +01:00
Alex Harker 0a1eb854b8 Comment typo 2019-09-18 01:05:27 +01:00
Alex Harker 028d993c44 Simplify code to do with DSP recompiles and add userconnect handling to the wrapper class 2019-09-18 00:40:14 +01:00
Alex Harker dcbd1ece6c Updates for correct behaviour of spectral functions 2019-09-17 01:25:15 +02:00
Alex Harker 6aecd2c677 Add assert for output memory count 2019-09-16 23:30:10 +02:00
Alex Harker a228336a07 Correct connection tests to update realtime network patching when audio is on 2019-09-16 22:45:01 +02:00
Alex Harker b6235d5e43 Merge branch 'master' into dynamic-contexts 2019-09-16 21:56:24 +02:00
Alex Harker 7ec4d88b1d Fix loop condition for inputs of size 1 or less 2019-09-16 21:56:00 +02:00
Alex Harker ad92ba7e78 Fix comment brackets 2019-09-16 21:42:26 +02:00
Alex Harker 976f9d11a0 Allow copying from the first stream owner in FrameLib_FromHost::Proxy for context switching in max 2019-09-16 20:44:12 +02:00
Alex Harker f1290dd459 Better timing on clever granular demo 2019-09-16 20:42:16 +02:00
Alex Harker e4a308a2ad Basic work on NRT thread safety 2019-09-16 10:17:16 +02:00
Alex Harker cf787bd1e2 Formatting 2019-09-16 10:16:39 +02:00
Alex Harker c6258fb99b Unify audio only init (and add code export to this to reduce compiled sizes) 2019-09-16 10:04:06 +02:00
Alex Harker 5177674e62 Rework config and project setup for LTO 2019-09-16 00:06:14 +02:00
Alex Harker 4930d2be6e Add code to generate context references for named contexts 2019-09-15 22:30:06 +02:00
Alex Harker d8ab8a525d Add the infrastructure to support context storage in FrameLib_MaxGlobals 2019-09-15 13:33:32 +02:00
Alex Harker 9c8d166008 Fix context object to detect realtime/nrt correctly 2019-09-15 11:14:31 +02:00
Alex Harker b32d3504e2 No need to test context, as only schedulers trigger context resolution and these have immutable contexts 2019-09-15 09:03:23 +02:00
Alex Harker c137480184 Remove unnecessary brackets 2019-09-15 09:02:31 +02:00
Alex Harker c770d9a292 Safe graph resolution and switching of NRT operations 2019-09-15 08:43:05 +02:00
Alex Harker ea13e64497 Complete last commit (fix test) 2019-09-15 01:26:54 +02:00
Alex Harker e0730a48c9 Correct test for forced realtime graph resolution 2019-09-15 01:17:47 +02:00
Alex Harker 10e7a21ffd Force realtime graph resolution when called via sync() 2019-09-15 01:04:52 +02:00
Alex Harker c27aab0559 Add options to resolveGraph to leave in the correct resolved/unresolved state 2019-09-15 01:01:03 +02:00
Alex Harker 056226e8c5 Use realtime as flag (not non-realtime) and derive state from context when matching 2019-09-15 00:49:01 +02:00
Alex Harker 4ff458d475 Typos 2019-09-15 00:48:24 +02:00
Alex Harker c7696778b6 Use direct context matching when traversing patches 2019-09-15 00:32:53 +02:00
Alex Harker f09054c6f2 Rework to reduce external calls and overall code 2019-09-15 00:25:36 +02:00
Alex Harker a654a5fbae Rework graph resolution such that a null object is never tested, and patchline connections trigger graph resolution rather than directly chhanging contexts, so that context changes are minimised. 2019-09-14 23:35:53 +02:00
Alex Harker d7c6cd789c Remove test code 2019-09-14 22:59:29 +02:00
Alex Harker fbd4cb514e Resolve graphs as early as possible to keep networks up to date 2019-09-14 18:53:16 +02:00
Alex Harker 9cc842d826 Move related code together 2019-09-14 09:35:16 +02:00
Alex Harker cf35488bdc Minor cleanups 2019-09-14 09:22:11 +02:00
Alex Harker 8f59ab8cb2 Fix the test for resolving the graph when exporting code 2019-09-14 07:25:20 +02:00
Alex Harker 65dcac80a8 Remove comment 2019-09-14 07:14:13 +02:00
Alex Harker 5b08824023 Use composite method 2019-09-14 07:12:57 +02:00
Alex Harker 0fcd6bce14 Rework objects to be less reliant on full DSP initilisation/setup and to break the dsp chain when needed 2019-09-14 00:22:46 +02:00
Alex Harker c4b9d38f8c Tidy up/simplify external methods 2019-09-14 00:21:58 +02:00
Alex Harker 926b0a3f7c Const correctness 2019-09-14 00:17:27 +02:00
Alex Harker 3b9c2187c0 Allow context errors to be switched on and off 2019-09-14 00:17:00 +02:00
Alex Harker 2a917a8b3a Update global queue to use deque directly, so as to allow clearing before patch traversal 2019-09-14 00:15:45 +02:00
Alex Harker 609ffb93d1 use "to" rather than "get" for conversion method names 2019-09-14 00:14:06 +02:00
Alex Harker 3c0ff6bf3b Also use correct call for updating args in relation to realtime/non-realtime 2019-09-14 00:12:15 +02:00
Alex Harker 673c3014f9 Finish previous commit 2019-09-14 00:10:50 +02:00
Alex Harker 9385b436ef Use realtime rather than non-realtime as the stored value 2019-09-14 00:09:43 +02:00
Alex Harker 04f7dbbc23 Require t_object * to set dsp chain broken 2019-09-14 00:06:36 +02:00
Alex Harker 2b12748951 Test for realtime externally when traversing patches 2019-09-13 12:06:12 +02:00
Alex Harker da6dcd4e9a Formatting 2019-09-13 12:05:28 +02:00
Alex Harker 4020201a35 Allow setting DSP broken on external objects 2019-09-13 11:47:37 +02:00
Alex Harker 85b82dc526 Only caryy out patchline connect actions on valid inputs 2019-09-13 10:52:02 +02:00
Alex Harker bcb74fe532 Fix reference counting on globals 2019-09-13 10:49:39 +02:00
Alex Harker ee49c6a443 Preliminary wo9rk on allowing processor objects to change context 2019-09-13 09:30:53 +02:00
Alex Harker 33de763489 Add getters to FrameLib_Context 2019-09-12 08:45:33 +02:00
Alex Harker 42eeb25c4c Reinstate mResolve as a flag that applies to both realtime and non-realtime states 2019-09-12 00:47:13 +02:00
Alex Harker ab331830ba Default multithreading off for realtime (also allow hosts to set this) 2019-09-08 10:51:34 +01:00
Alex Harker 58bf5c5e91 Make code clearer where possible 2019-09-08 03:39:34 +01:00
Alex Harker 78a53bc361 Fix call to member function from static method 2019-09-08 03:05:31 +01:00
Alex Harker 4b804b0f0f Don't respond to double-clicks in realtime mode 2019-09-08 03:00:17 +01:00
Alex Harker 314f6ca2ac Fix unwanted implicit bool conversion due to missing arguments 2019-09-08 02:58:52 +01:00
Alex Harker 5bcb5af856 Fixes for object creation 2019-09-08 02:56:05 +01:00
Alex Harker 40adad2b9d Add a mechanism for non-realtime switching 2019-09-08 02:42:06 +01:00
Alex Harker 1a9e80cdc9 Simplify the process method 2019-09-08 02:34:37 +01:00
Alex Harker 5f76ac564b Shorter lines where possible and further tidying 2019-09-08 02:20:32 +01:00
Alex Harker e811207040 Code clarity 2019-09-08 01:46:33 +01:00
Alex Harker fccabf865d Manage t_objects using unique_ptr and reduce code of Max classes 2019-09-07 22:01:37 +01:00
Alex Harker 77d0aca1f8 Substantial layout changes/renaming/neatening 2019-09-07 19:30:25 +01:00
Alex Harker 213fb182c2 Reduce and clarify code for reset() 2019-09-07 18:23:56 +01:00
Alex Harker fbac6e0bb2 Layoutt 2019-09-07 18:14:01 +01:00
Alex Harker 22b66e217f Always use objectMethod, and use it to cast return types 2019-09-07 17:24:11 +01:00
Alex Harker 0f91627be1 Reduce code and neaten 2019-09-07 17:06:55 +01:00
Alex Harker 1ff59d40b1 More concise/accurate naming 2019-09-07 17:06:18 +01:00
Alex Harker f874837ef1 Further refactor connection code to simplify and reduce code 2019-09-07 16:02:40 +01:00
Alex Harker 77e8265f51 Add dblclick functionality 2019-09-07 16:00:40 +01:00
Alex Harker e71c6f39d9 Rework connection code to localise confirmation and reduce code 2019-09-07 15:17:05 +01:00
Alex Harker 5ff397b9fa Remove mPatch which is never reused 2019-09-07 14:32:04 +01:00
Alex Harker a1281eb5ab Access buffer attributes from the wrappe 2019-09-07 13:04:34 +01:00
Alex Harker 87cc7e9e8d Refactor buffer reading and writing into generic header 2019-09-07 11:23:03 +01:00
Alex Harker f2b0cb5b11 Merge branch 'multithreading-speed' into non-realtime
# Conflicts:
#	FrameLib_Max_Objects/Common/FrameLib_MaxClass.h
2019-09-07 00:50:41 +01:00
Alex Harker ecd1dd0724 Merge branch 'master' into multithreading-speed 2019-09-07 00:49:04 +01:00
Alex Harker 4816f2a474 Correct patch traversal 2019-09-07 00:48:41 +01:00
Alex Harker 3cb0208935 Implement buffer attribute 2019-09-07 00:40:53 +01:00
Alex Harker cc9134989b Delete comments 2019-09-07 00:40:35 +01:00
Alex Harker 67ab537f0f Reuse code more effectively and fix traversal bug 2019-09-07 00:33:34 +01:00
Alex Harker 62bc33cb27 Add support for declaring DEFFLOAT and DEFLONG methohds 2019-09-06 10:24:20 +01:00
Alex Harker d40f65e8c5 Formatting 2019-09-06 10:23:48 +01:00
Alex Harker dc5691e44f Missing semicolon 2019-09-06 09:24:40 +01:00
Alex Harker ffb1235091 Add facility to specify the sample rate 2019-09-06 09:24:10 +01:00
Alex Harker c275f8553a Move NRT code from wrapper class to the main class 2019-09-06 01:49:11 +01:00
Alex Harker cd563b2b88 type cast 2019-09-06 01:43:39 +01:00
Alex Harker 6c3413a3c1 Fix the buffer edge constraints 2019-09-06 01:39:51 +01:00
Alex Harker bb63227648 Add the ability to retrieve the block time so as to allow progressive NRT processing 2019-09-06 01:26:36 +01:00
Alex Harker 25d86dd351 Neaten formatting 2019-09-06 01:26:07 +01:00
Alex Harker 240b4460c0 use local method 2019-09-06 00:23:55 +01:00
Alex Harker 20d82c582b Add call to set buffer dirty and ability to change render length (just in samples for now) 2019-09-06 00:23:44 +01:00
Alex Harker 7eddde9ef1 Fixed various conditions about NRT processing that were incorrect 2019-09-06 00:23:12 +01:00
Alex Harker 6d6b72fcd2 Fix set dirty call 2019-09-05 23:51:50 +01:00
Alex Harker e6f240eb05 Add code for reading and writing to buffers when non-realtime processing 2019-09-05 23:32:38 +01:00
Alex Harker 08b4543eae Correct return type 2019-09-05 23:29:32 +01:00
Alex Harker e59f39759b Add header for accessing max buffers with RAII 2019-09-05 23:28:13 +01:00
Alex Harker 602e628f3f Rationalise constants and variables for NRT processing 2019-09-05 21:45:28 +01:00
Alex Harker 74d1891de5 Rework to facilitate adding buffer outputs to non-realtime processing 2019-09-05 21:27:14 +01:00
Alex Harker bcaeed8058 Correct test for the block size of offline processing 2019-09-05 20:35:12 +01:00
Alex Harker 593c79743a Fix stack corruption by making an explicit void* parameter. 2019-09-05 20:34:08 +01:00
Alex Harker a803bd8b90 Refactor to make sensible process and reset calls 2019-09-05 19:56:30 +01:00
Alex Harker 6c19e51121 Rework to add basic offline processing test to the wrapper class 2019-09-05 19:45:15 +01:00
Alex Harker 4d85612d2d Detect changes in the graph that are from making new connections and ensure they are detected once only 2019-09-05 18:30:33 +01:00
Alex Harker 9b1139f971 Clean up 2019-09-05 17:49:57 +01:00
Alex Harker 1d7c2314c1 Rework object method call to allow a safely implemented variadic template 2019-09-05 17:41:53 +01:00
Alex Harker 086cd33552 Refactor graph resolution to better fit the three current use cases and add reset code for testing the non-realtime graph code 2019-09-05 16:52:41 +01:00
Alex Harker 35678d7d5e Simplify confirmation and update tests 2019-09-05 16:13:22 +01:00
Alex Harker 8aa9a275db Formatting 2019-09-05 15:09:55 +01:00
Alex Harker 393ca4620f Improved the detection of graph changes 2019-09-05 15:09:40 +01:00
Alex Harker e1e8443fde Separate graph resolution for realtime and non-realtime objects and allow detection for updates 2019-09-05 14:38:39 +01:00
Alex Harker 45bb3e245d Better comment 2019-09-05 14:37:51 +01:00
Alex Harker c59eb7abf4 Avoid using a parameter name that is also a type 2019-09-05 14:17:55 +01:00
Alex Harker c069315040 Remove duplicate test 2019-09-05 14:14:28 +01:00
Alex Harker 7fad28ed46 Add an offline processing call to the basic max class 2019-09-05 14:02:54 +01:00
Alex Harker d99d33f150 Correctly unwrap connections 2019-09-05 13:56:51 +01:00
Alex Harker 9463b11427 Method cannot be static 2019-09-05 13:12:51 +01:00
Alex Harker 5d9dfdd67e Fix wrapper loop numbers 2019-09-05 13:11:58 +01:00
Alex Harker 10a015df45 Fix local audio IO counts and setup in the max wrapper 2019-09-05 13:10:46 +01:00
Alex Harker f81e119905 Remove unused code 2019-09-05 12:51:01 +01:00
Alex Harker 6dffe447c5 Fix missing method from cherry-picked commit 2019-09-05 12:50:16 +01:00
Alex Harker 07cfe702e3 Update Wrapper constructor loop conditions to be easier to understand and safer 2019-09-05 12:46:24 +01:00
Alex Harker 2154498eb2 Adapt the context max object to cope with non-realtime mode 2019-09-05 12:39:53 +01:00
Alex Harker cc638b14ae Adapt the Wrapper to behave differently in non-realtime mode 2019-09-05 12:39:28 +01:00
Alex Harker a617cad1ad Update Wrapper constructor loop conditions to be easier to understand and safer 2019-09-05 12:38:59 +01:00
Alex Harker 9d53ef7fed Change the behaviour of the max objects if they are non-realtime 2019-09-05 12:37:20 +01:00
Alex Harker be12750227 Make load time method static 2019-09-05 12:36:03 +01:00
Alex Harker 06b4d0e1b7 Distinguish between realtime and non-realtime contexts in max 2019-09-05 12:35:27 +01:00
Alex Harker 757c4a6071 Remove unused code 2019-09-05 12:33:20 +01:00
James Bradbury 49e2cf4dda ignore editable package info 2019-09-04 12:31:50 +01:00
James Bradbury 9fe53833d0 cleanup 2019-09-04 12:31:45 +01:00
James Bradbury 3db27ee1bb script to generate internal tabs for all help 2019-09-04 12:31:39 +01:00
James Bradbury 00b0359b6b moved to old dir 2019-09-04 12:31:25 +01:00
James Bradbury a2a0e583df looks for maxhelp in internal tabs 2019-09-04 12:31:17 +01:00
James Bradbury dc2aff44a8 cleanup templates 2019-09-04 12:31:03 +01:00
James Bradbury 255fc9bcba js for creating internal patcher headers 2019-09-04 12:30:34 +01:00
James Bradbury 527f81dbbf internal tabs templates 2019-09-04 12:30:16 +01:00
James Bradbury 746e137aee organise 2019-09-04 12:30:04 +01:00
James Bradbury ef5eca761c move to editable python package 2019-09-04 12:29:47 +01:00
Alex Harker a0ede9540f Merge branch 'master' into multithreading-speed
# Conflicts:
#	FrameLib_Max_Objects/Common/framelib_max.cpp
2019-09-03 13:18:23 +01:00
Alex Harker 01c3928987 Register requires kAllInputs in max 2019-09-03 13:17:48 +01:00
Alex Harker 3ca13fe335 Fix compilation of special objects in single object build 2019-09-03 13:14:23 +01:00
Alex Harker 58788958be Correct object type 2019-09-03 13:10:28 +01:00
Alex Harker 92a3c205da Compile special case objects correctly in one object version 2019-09-03 13:05:43 +01:00
James Bradbury 4d98b0722e make basic tempaltes for help files 2019-09-01 22:23:56 +01:00
Alex Harker 930dc77af9 Merge branch 'master' into multithreading-speed 2019-09-01 15:25:06 +01:00
Alex Harker f96bcd54ed Add runtime to single object scheme 2019-09-01 15:24:53 +01:00
Alex Harker 1be5348b26 Vectorise FrameLib_Window when interpolating the window coefficients 2019-09-01 15:24:32 +01:00
Alex Harker 37c632d75f Merge branch 'master' into multithreading-speed 2019-09-01 13:28:25 +01:00
Alex Harker 0ee8e5d234 Ignore single object build 2019-09-01 13:28:11 +01:00
Alex Harker 7cc061deb0 Correct naming of object 2019-09-01 13:23:22 +01:00
Alex Harker 171f7e6a00 Update for the context object 2019-09-01 13:18:48 +01:00
Alex Harker b350594ec3 Merge branch 'master' into multithreading-speed 2019-09-01 13:14:04 +01:00
Alex Harker 22f070112f Rework XCode project and config settings, including single object max build for speedy testing 2019-09-01 13:09:16 +01:00
Alex Harker edb7aa346c Added header guard 2019-09-01 12:52:56 +01:00
Alex Harker 4e1e532221 Automatically set the namespace to CLASS_BOX for max objects 2019-09-01 12:17:47 +01:00
Alex Harker c01176f198 Finish previous commit 2019-09-01 11:51:36 +01:00
Alex Harker bcbf00783e Rename dequeue()/enqueue() to pop()/push() 2019-09-01 11:50:32 +01:00
Alex Harker 29e9f3a260 Fix time out testing when multithreading 2019-08-31 22:42:19 +01:00
James Bradbury 31edbd7a83 adjust template 2019-08-31 21:16:04 +01:00
James Bradbury 60bfd11950 edit some js when copying to avoid extra patching in each file 2019-08-31 21:15:11 +01:00
James Bradbury d9a718ac5e minor changes 2019-08-31 21:14:20 +01:00
James Bradbury 938f914251 js for getting patcher name 2019-08-31 21:13:55 +01:00
James Bradbury f6ca56df51 remove old help files 2019-08-31 21:13:43 +01:00
AlexHarker 7cedadaaa2 Merge pull request #34 from AlexHarker/master
Silence audio outputs wen objects have timed out
2019-08-31 21:01:20 +01:00
Alex Harker a69480c66e Silence audio outputs wen objects have timed out 2019-08-31 21:00:54 +01:00
Alex Harker 82bcb79c95 Merge branch 'master' into multithreading-speed 2019-08-31 19:41:25 +01:00
Alex Harker 2f6da499aa Add on/off switching to FrameLib_Interval 2019-08-31 19:21:14 +01:00
Alex Harker 8bb427add0 Set config on pd / framework / framework with objects 2019-08-31 17:20:47 +01:00
James Bradbury 8046eea5f8 first internal guts patch 2019-08-31 16:25:42 +01:00
James Bradbury 3e05003ed9 remove old template 2019-08-31 16:25:20 +01:00
James Bradbury 808b80120c merge 'companion' files with templates 2019-08-31 16:25:01 +01:00
James Bradbury b6b05e40f7 keep a record of the old template 2019-08-31 16:24:29 +01:00
James Bradbury 6abfdbf73c update to template 2019-08-31 16:24:06 +01:00
Alex Harker 61d612acd7 Fix issues with inheritance of FrameLib_Node 2019-08-31 16:18:14 +01:00
James Bradbury 1904d028c6 count params from 1 2019-08-31 14:07:33 +01:00
James Bradbury bd62caaeb0 dont cleanup for now 2019-08-31 14:07:26 +01:00
James Bradbury cda29ecee0 cleanup 2019-08-31 14:07:16 +01:00
James Bradbury a6f4f20171 count from 1 for params 2019-08-31 14:07:04 +01:00
James Bradbury 7ccf325943 geometry 2019-08-31 14:06:31 +01:00
James Bradbury d94ad6e3bb function for reading YAML 2019-08-31 14:04:13 +01:00
James Bradbury c97a9bd8b9 geometry 2019-08-31 14:04:06 +01:00
James Bradbury 5e2a99f9af variation of helpdetails.js 2019-08-31 14:03:18 +01:00
James Bradbury fdeebcd338 use a custom js over default 2019-08-31 14:03:08 +01:00
Alex Harker 58d94c6f50 Minor formatting and typos 2019-08-31 12:19:28 +01:00
Alex Harker 60ec8006fc Formatting 2019-08-31 11:43:29 +01:00
Alex Harker 7eaf801336 Names: FrameLib_FreeBlocks / FrameLib_FreeBlocksSet -> FrameLib_LocalAllocator / FrameLib_LocalAllocatorSet 2019-08-31 10:52:40 +01:00
Alex Harker f8507fd1a6 Finish previous commit 2019-08-31 10:41:35 +01:00
Alex Harker d2862a6168 Renamed FrameLib_LocalAllocator to FrameLib_ContextAllocator 2019-08-31 10:25:12 +01:00
Alex Harker dd7e480f8c Reduce memory pruning 2019-08-31 08:22:44 +01:00
Alex Harker ffdce38854 Safely check if dsp is on 2019-08-30 17:24:49 +01:00
Alex Harker d617b2aded Safely check if dsp is on 2019-08-30 17:24:30 +01:00
Alex Harker bf0be0c417 Add the facility to tweak threading priorities from the host 2019-08-30 16:19:28 +01:00
James Bradbury 4a9e98d136 tidy templating script 2019-08-30 14:21:13 +01:00
James Bradbury 22e29894e4 ignore auto gen interfaces 2019-08-30 14:20:55 +01:00
James Bradbury 7c19b9ce95 ignore help file templates 2019-08-30 14:17:29 +01:00
James Bradbury 572ecc1996 move down to own folder 2019-08-30 14:17:18 +01:00
Alex Harker 998620199c Combine nodes internally to FrameLib_ProcessingQueue 2019-08-30 13:42:37 +01:00
Alex Harker 4e4cde1e79 Formatting 2019-08-30 13:38:23 +01:00
Alex Harker 03c2b79004 Updates to comments and error message 2019-08-30 13:37:45 +01:00
Alex Harker 2083f1b6a1 Restructure as on the simplify branch 2019-08-30 13:34:36 +01:00
Alex Harker dcdbd4232b Remove mainThread() 2019-08-30 13:32:16 +01:00
Alex Harker 45ea5af602 Prefer using to typedef 2019-08-30 13:29:38 +01:00
Alex Harker 122ab9a408 Merge branch 'master' into multithreading-speed 2019-08-30 12:10:19 +01:00
Alex Harker 9ee3c9e261 Use FrameLib_DSP::Allocator and not a context allocator for composed functioanility 2019-08-30 12:09:31 +01:00
Alex Harker b24b282f45 Proxies must not store thread local data - fix FrameLib_ToHost by passing the allocator when needed 2019-08-30 11:57:43 +01:00
Alex Harker 2a16ff6f06 Proxies must not store thread local data - fix FrameLib_ToHost by passing the allocator when needed 2019-08-30 11:50:23 +01:00
Alex Harker 429d79f7d0 Merge branch 'master' into multithreading-speed 2019-08-30 09:34:16 +01:00
Alex Harker 307d8e6a67 Add missing source file 2019-08-30 09:33:53 +01:00
Alex Harker 016d73d066 Change the locking period for error reporting 2019-08-29 11:06:51 +01:00
Alex Harker 699a9128f1 Update the spin lock so it will be as fast, but eventually yield the thread with a short sleep in case there is priority inversion 2019-08-29 11:06:23 +01:00
Alex Harker adc3f784f4 Only decrement dependency count when it is the right time to do so 2019-08-28 21:18:35 +01:00
Alex Harker 35212d131b Fix threadsafety of error reporting 2019-08-28 20:59:46 +01:00
Alex Harker 684ef80ca2 Mark WorkerThreads as final 2019-08-28 17:57:01 +01:00
James Bradbury 66e9a1b514 Merge branch 'integration' 2019-08-28 15:37:26 +01:00
James Bradbury 3acaaf8b90 Merge branch 'master' of github.com:AlexHarker/FrameLib into integration 2019-08-28 15:36:55 +01:00
Alex Harker 3102d3bfa2 Merge commit 'd12b329df62b0ece92b9a3361a3f5177c4ef93b5' into multithreading-speed
# Conflicts:
#	FrameLib_Framework/FrameLib_ProcessingQueue.cpp
2019-08-28 14:10:24 +01:00
AlexHarker d12b329df6 Merge pull request #32 from AlexHarker/docs
Docs
2019-08-28 14:08:30 +01:00
AlexHarker d297efc7d8 Merge pull request #31 from AlexHarker/master
Update docs from master
2019-08-28 14:08:05 +01:00
AlexHarker e6a6cafc04 Merge pull request #30 from AlexHarker/ir-manipulation
Ir manipulation
2019-08-28 14:01:26 +01:00
Alex Harker 111d9b6d13 Remove new objects from main scheme 2019-08-28 13:58:42 +01:00
Alex Harker 12d52d7599 Merge branch 'master' into ir-manipulation 2019-08-28 13:56:38 +01:00
Alex Harker a0cb663657 Merge branch 'master' into multithreading-speed
# Conflicts:
#	FrameLib_Objects/Buffer/FrameLib_Info.cpp
2019-08-28 13:55:57 +01:00
Alex Harker 8be2de7656 Chnages to data layout may apple queue broken (which was for testing purposes only in any case) 2019-08-28 12:35:48 +01:00
Alex Harker 352ab2b2a9 Fix constructor 2019-08-28 11:34:57 +01:00
Alex Harker 2fefec6a33 Formatting 2019-08-28 10:46:08 +01:00
Alex Harker e2409e0aa9 Always use queues for notification 2019-08-28 10:42:17 +01:00
Alex Harker a41e815223 Rework the way that workers are woken 2019-08-28 00:02:14 +01:00
Alex Harker e843c6c25b Reinstate DSP time out 2019-08-27 12:55:38 +01:00
Alex Harker 83bf340492 Add .gitattributes (for cases where we do want to merge projects with less hassle) 2019-08-24 11:42:17 +01:00
Alex Harker 81455412a2 The Documentation folder in the XCode project should not have a path 2019-08-24 11:39:41 +01:00
James Bradbury 5808774ba2 Merge branch 'docs-update' 2019-08-24 11:03:07 +01:00
Alex Harker df61474de8 Merge branch 'master' into ir-manipulation 2019-08-24 10:17:15 +01:00
AlexHarker 26b3f1a3bd Merge pull request #29 from AlexHarker/docs
Docs
2019-08-24 10:16:26 +01:00
AlexHarker 6103325087 Merge pull request #28 from jamesb93/docs-update
Docs update
2019-08-24 10:14:09 +01:00
James Bradbury 33fd1adce7 Merge branch 'docs-update' 2019-08-24 09:59:20 +01:00
James Bradbury 0542070f7b dont ignore interfaces 2019-08-24 09:59:12 +01:00
James Bradbury 75b5ae052a some template lookups 2019-08-24 09:59:05 +01:00
James Bradbury 287d964b4b change to sh 2019-08-24 09:50:41 +01:00
James Bradbury c692f37b12 unify import structure 2019-08-24 09:49:14 +01:00
James Bradbury 59b91e241e Merge branch 'cleanup' 2019-08-24 01:23:09 +01:00
James Bradbury 5d706d3a91 fix scheme 2019-08-24 01:22:40 +01:00
James Bradbury 17e70f5d8a update pre-actions 2019-08-23 19:27:12 +01:00
James Bradbury f54b528f0a add object list header to the project 2019-08-23 19:16:42 +01:00
James Bradbury 6bac3de675 fix '__tmp__' and add other files 2019-08-23 19:14:37 +01:00
James Bradbury a73ef3dc79 separate target from scheme by name 2019-08-23 19:14:05 +01:00
James Bradbury d5d10e4e90 simplify string 2019-08-23 19:12:06 +01:00
James Bradbury f9b8d6f01c correct cleanup script call 2019-08-23 18:45:43 +01:00
James Bradbury 217c67f3d3 commas 2019-08-23 18:45:34 +01:00
James Bradbury 62f94d2f9c pass root from top level script to main function 2019-08-23 18:45:21 +01:00
James Bradbury db129a2fef adjust for temporary path 2019-08-23 18:39:53 +01:00
James Bradbury 4844bdbad4 make cleanup script 2019-08-23 18:39:39 +01:00
James Bradbury 3e5f10df17 cleanup 2019-08-23 18:39:33 +01:00
James Bradbury 8e19c369a2 a folder for creating the temporary directories 2019-08-23 18:39:19 +01:00
James Bradbury 6b0a07bc04 add cleanup to build process 2019-08-23 18:39:05 +01:00
James Bradbury ab106c66bb function that checks if folder exists, if no, make 2019-08-23 18:38:57 +01:00
James Bradbury 1124e243a8 do a cleanup step 2019-08-23 18:09:19 +01:00
James Bradbury a7f337964d respect new temporary directory 2019-08-23 18:09:08 +01:00
James Bradbury 9d5e58bd5f sub foldered tmp 2019-08-23 18:08:58 +01:00
James Bradbury 045835e88e new tmp directory 2019-08-23 18:06:50 +01:00
James Bradbury 96ac4a810d help file templating 2019-08-23 18:06:42 +01:00
James Bradbury 874545dbd6 rename 2019-08-23 18:04:39 +01:00
James Bradbury ec1da8790a rename 2019-08-23 18:04:33 +01:00
James Bradbury 4813d2936a move help file scripts to own file 2019-08-23 18:04:12 +01:00
James Bradbury 31f1f5b366 untrack auto-genned header 2019-08-23 18:03:53 +01:00
James Bradbury 56d9ffd98c add info about seealso and keywords 2019-08-23 18:00:51 +01:00
James Bradbury b21115737e cleanup .gitignores 2019-08-23 18:00:41 +01:00
James Bradbury f58fe8a80c rename as prior stage for manual processing 2019-08-23 18:00:25 +01:00
Alex Harker 3de671f7c4 Stop tracking Max_Object_List.h 2019-08-23 17:50:16 +01:00
James Bradbury 41ac2184ac Merge remote-tracking branch 'upstream/docs' into cleanup 2019-08-23 17:46:32 +01:00
James Bradbury 227d3bee8d Merge branch 'update' into cleanup 2019-08-23 17:45:53 +01:00
James Bradbury 42477fbea6 Merge branch 'exe' into update 2019-08-23 17:45:32 +01:00
James Bradbury af3d0b2bbd make windows friendly 2019-08-23 17:43:05 +01:00
Alex Harker 2feb651162 Fix FrameLib_Info (untested) and make code names more expressive 2019-08-23 17:42:12 +01:00
Alex Harker 246105723b Consistent header guards 2019-08-23 17:35:45 +01:00
Alex Harker 49f63da7fd Remove documentation schemes from main framelib XCode project 2019-08-23 17:32:48 +01:00
Alex Harker 2d63e04f06 Revert "retarget"
This reverts commit e25150ad6d.
2019-08-23 17:29:21 +01:00
Alex Harker 364385e8c8 Updates to make documentation build 2019-08-23 16:53:15 +01:00
Alex Harker f8d13f75fa Type corrections for FrameLib_Typelist etc. 2019-08-23 16:40:21 +01:00
James Bradbury 3e18dae07b typo 2019-08-23 15:15:39 +01:00
James Bradbury 55e8374160 ignore the Max_Object_List.h
this should be generated automatically
2019-08-23 15:14:08 +01:00
James Bradbury b105e19189 remove gitattributes 2019-08-23 15:13:51 +01:00
James Bradbury df01fd96cb dont parallel build - maintain pre and post order 2019-08-23 15:13:00 +01:00
James Bradbury 2c2d19d229 more info on cmd-line building 2019-08-23 15:05:18 +01:00
James Bradbury c7b9e650c5 formatting and more explanation 2019-08-23 15:04:08 +01:00
James Bradbury 988eda8c7a cleanup script to remove tmp and intermediate 2019-08-23 15:03:58 +01:00
James Bradbury c75d31578f A read me explaining how to use docs 2019-08-23 14:53:55 +01:00
James Bradbury 60a53aa51e scheme cleanup 2019-08-23 14:20:07 +01:00
James Bradbury 5643ca8971 remove duplicate FrameLib_Info 2019-08-23 14:12:15 +01:00
James Bradbury 06660bc42d revert to Alex's project 2019-08-23 13:54:47 +01:00
James Bradbury f7ae773990 Merge branch 'threading-integration' 2019-08-22 19:04:02 +01:00
James Bradbury d8a4aa33e8 Merge branch 'master' of https://github.com/AlexHarker/FrameLib into threading-integration
# Conflicts:
#	FrameLib_Exports/FrameLib_TypeList.h
2019-08-22 18:42:30 +01:00
Alex Harker 9337162c4d Merge branch 'master' into queue-refactor 2019-08-22 16:12:45 +01:00
Alex Harker d37f87c639 Use another FrameLib_Node base for thread local DSP queuing 2019-08-22 14:35:56 +01:00
Alex Harker a4287083d9 Typo 2019-08-22 14:30:38 +01:00
Alex Harker 03d69a4fa6 Tidying and renaming for more consistent use of queue (not list/notifier) and moving threading items to the correct place 2019-08-22 14:11:16 +01:00
Alex Harker 4caa782744 Make code more expressive and fix basic queue issues 2019-08-22 03:10:08 +01:00
Alex Harker bd79e09801 Refactor and rename all queues for concision and code reuse 2019-08-22 02:00:14 +01:00
Alex Harker 288c46c644 Header ordering 2019-08-22 01:58:58 +01:00
Alex Harker 83c973c299 Formatting 2019-08-22 01:41:53 +01:00
Alex Harker 0a4d1bd44d Must actually have a main function 2019-08-21 22:12:08 +01:00
Alex Harker d04e3c18a5 Make a specific object for switching multithreading on and off (fl.context~) and remove common code 2019-08-21 19:27:51 +01:00
Alex Harker bd12f97da2 Add the facility to switch multithreading on and off (review) 2019-08-21 13:58:42 +01:00
Alex Harker cbbf8d8350 Whitepace 2019-08-21 13:43:00 +01:00
Alex Harker 741d252c3b Updated HISSTools_FFT to line up with the HISSTools_Library 2019-08-21 13:11:30 +01:00
Alex Harker ef2c8e5699 Merge branch 'master' into ir-manipulation 2019-08-21 09:36:17 +01:00
Alex Harker 0dbab74dd7 Use nodelists for the audio updates, but otherwise add individually 2019-08-21 01:44:23 +01:00
Alex Harker e92978c3a8 Use object life-cycle to complete notifications 2019-08-21 01:33:10 +01:00
Alex Harker 94cddb4c24 Separate starting and adding to queue 2019-08-21 00:06:20 +01:00
Alex Harker 7ad1da921e Rework framework and objects to allow deferral of adding to the processing queue for audio calls (see FrameLib_Expand) 2019-08-20 23:00:35 +01:00
Alex Harker 33ac7e44b1 Move field for initialisation order 2019-08-20 22:45:46 +01:00
Alex Harker 88858e9803 Updated .gitignore 2019-08-20 17:31:30 +01:00
Alex Harker 1c3c3ffe54 Updated .gitignore 2019-08-20 17:31:07 +01:00
Alex Harker 9878814123 Updated gitignore 2019-08-20 17:30:24 +01:00
Alex Harker 245e83f1de Try a the threading system that enqueues multiple items at a time 2019-08-20 17:26:28 +01:00
Alex Harker 9aa6b0a286 Remember to set mNext to nullptr when removing 2019-08-20 17:13:38 +01:00
Alex Harker 81f00ca45b Updae the NodeList for correctness 2019-08-20 17:04:29 +01:00
Alex Harker 68d44e48bd added NodeList 2019-08-20 16:40:50 +01:00
Alex Harker f216738f34 Add the facility to switch multithreading on and off 2019-08-20 14:18:45 +01:00
Alex Harker dcc368f4b3 Tidy up 2019-08-20 14:15:06 +01:00
Alex Harker 4512c83f87 Separate out the process of waking workers to enable different approaches 2019-08-20 11:36:28 +01:00
Alex Harker c48be719fd Merge branch 'threading-custom-queue' into threading
# Conflicts:
#	FrameLib_Framework/FrameLib_ProcessingQueue.cpp
2019-08-20 11:18:58 +01:00
Alex Harker 5bf593a76f Keep thread local queue in FrameLib_DSP and move to separate processing queue and lock free queue/stack code 2019-08-20 11:17:20 +01:00
Alex Harker d5895db66d Complete lock free options so far 2019-08-20 11:14:57 +01:00
Alex Harker fd7588cda1 Clone buffer proxies for thread safety 2019-08-20 11:00:49 +01:00
Alex Harker a47a2900e3 Add Apple queue to lock free code for testing 2019-08-20 10:53:47 +01:00
Alex Harker 8be1db9da7 Add a lock free stack (which is simple and meets requirements for the queue/stack) 2019-08-20 10:48:15 +01:00
Alex Harker b70ab4b088 Comment out call to get thread priority 2019-08-19 23:31:05 +01:00
Alex Harker 6244dcef4f Tweaks (queue is slow and suffers an issue when an item re-adds itself) 2019-08-19 15:40:38 +01:00
James Bradbury 9ee7105671 work on tutorial 0 2019-08-19 14:47:44 +01:00
James Bradbury 6d0bc80eb0 patch for explaining overlap add 2019-08-19 14:46:18 +01:00
James Bradbury 9bc02f8cd3 polish 2019-08-19 14:46:10 +01:00
James Bradbury 5f22ce3dae final touchups 2019-08-19 14:46:03 +01:00
Alex Harker 41a56120bb Attempt to implement custom queue code 2019-08-19 13:19:06 +01:00
Alex Harker 96c328f725 Use <cstdint> not <stdint.h> 2019-08-19 12:28:05 +01:00
Alex Harker e2dfa46396 Prefer while (true) to while (1) 2019-08-19 11:12:06 +01:00
Alex Harker 56b27cc639 Rework queue to make queue/enqueue private methods ready for custom impelementation 2019-08-19 09:43:02 +01:00
Alex Harker 6a794bdbbe Threading priority work (and retrieval) 2019-08-18 23:42:50 +01:00
Alex Harker 6adc8ca626 Rework details of ThreadSet class and move sleeping functionality into FrameLib_Threading for potential future platform optimisation 2019-08-18 21:35:47 +01:00
Alex Harker fd1eac9ba4 Use cross-platform std::this_thread::sleep_for() and try some other tweaks for performance 2019-08-18 21:19:18 +01:00
Alex Harker f8a668499d Fix code to compile in the expression parser 2019-08-18 15:53:41 +01:00
Alex Harker 60af25c574 Make the reverse iterations more standards compliant by not decrementing past begin() 2019-08-18 15:01:24 +01:00
Alex Harker 8bd753e941 Try clear/prune only in main audio thread (review later) 2019-08-18 12:25:45 +01:00
Alex Harker 57621001d9 Remember to default mFreeBlocks to nullptr 2019-08-18 10:58:34 +01:00
Alex Harker decf492a2f Rework threads so that they use a consistent set of free blocks 2019-08-18 09:05:53 +01:00
Alex Harker 3e3caf05b2 Free blocks should be set on the object (thread local) and not the local allocator (which is not) 2019-08-18 09:05:27 +01:00
Alex Harker 3033472669 Remember to start worker threads! / Set free blocks in a safer manner 2019-08-18 06:38:39 +01:00
Alex Harker d4fc3e3cd1 Shorten method name and comments / more debug asserts before the code can re-enter 2019-08-18 06:37:31 +01:00
Alex Harker 85ac5f667a Add thread-local free blocks to the processing queue 2019-08-18 00:27:19 +01:00
Alex Harker 0a0539ee96 Allow memory free blocks to be set on FrameLib_Object<> with protected methods 2019-08-18 00:26:55 +01:00
Alex Harker 3fbe326846 Clarify friend classes 2019-08-18 00:26:11 +01:00
Alex Harker 67a8c84342 Whitespace 2019-08-18 00:25:20 +01:00
Alex Harker 060d192cc9 Separate the local allocator and free blocks in FrameLib_Memory.h/.cpp to allow use with multithreaded processing queue 2019-08-17 23:57:58 +01:00
Alex Harker 8ab798185a Fix bugs with multithreading and achieve basic proof of concept with new scheduling code 2019-08-17 22:52:12 +01:00
Alex Harker 2e203e53ad Refactor to simplify the processing queue and do all the work inside the queue, rather than in DSP 2019-08-16 12:13:13 +01:00
Alex Harker a70d8e98eb Change types again 2019-08-16 12:11:11 +01:00
Alex Harker 72a4b26820 NULL -> nullptr 2019-08-16 11:38:11 +01:00
Alex Harker 034f33bf6a Types 2019-08-16 11:37:55 +01:00
Alex Harker 3d9231209d Type change to silence compiler warning 2019-08-16 10:55:10 +01:00
Alex Harker 81743dacc3 Formatting 2019-08-16 08:36:07 +01:00
Alex Harker 9ba60c7898 Formatting 2019-08-16 08:35:28 +01:00
Alex Harker f9201dc3a9 Delete old file 2019-08-16 08:34:18 +01:00
Alex Harker cce9c11488 Merge branch 'master' into threading
# Conflicts:
#	FrameLib_Framework/FrameLib_DSP.cpp
#	FrameLib_Framework/FrameLib_DSP.h
#	FrameLib_Framework/FrameLib_DSPQueue.cpp
#	FrameLib_Framework/FrameLib_DSPQueue.h
#	FrameLib_Framework/FrameLib_Memory.cpp
#	FrameLib_Framework/FrameLib_Threading.h
2019-08-16 08:30:43 +01:00
Alex Harker b09bcc7929 Fixed normalisation of real FFTs 2019-08-15 15:13:42 +01:00
Alex Harker 5380c1a8aa Typo 2019-08-15 15:13:23 +01:00
James Bradbury 3072425536 deeper explanation of audio conversion process 2019-08-15 14:12:38 +01:00
James Bradbury 5f5204579e slight adjustments to positioning 2019-08-15 14:12:19 +01:00
James Bradbury 6bf2a9a3bf bpatcher to explain overlap-add 2019-08-15 14:12:06 +01:00
James Bradbury 6010672826 duplicate fl.template.maxhelp script 2019-08-14 20:50:39 +01:00
James Bradbury 13044eeb3a use bpatcher for the header rather than hard coded 2019-08-14 20:49:39 +01:00
James Bradbury 05ef6d0135 black formatting 2019-08-14 20:48:30 +01:00
James Bradbury 9d0bdbf140 black formatting 2019-08-14 20:46:18 +01:00
James Bradbury 098200cdb7 black formatting 2019-08-14 20:45:57 +01:00
James Bradbury 8fa666319c black formatting 2019-08-14 20:45:48 +01:00
James Bradbury f966462484 Use a bpatcher for the header 2019-08-14 20:45:24 +01:00
Alex Harker 5b8014d7c4 Bug fixes for kernel smoother code 2019-08-14 18:35:43 +01:00
Alex Harker ec8c87f0f4 Project changes for new objects 2019-08-14 16:08:59 +01:00
Alex Harker 4d457345fd Merge branch 'master' into ir-manipulation 2019-08-14 16:08:31 +01:00
Alex Harker 4e095b4b14 Fix error with scientific notation in object boxes 2019-08-14 16:07:08 +01:00
Alex Harker 817458b827 Formatting 2019-08-14 16:06:08 +01:00
Alex Harker d09b61940c Change name of fl.irphase~ to fl.firphase~ (and similar chnages) and add this plus the kernal smoohter to the max object scheme 2019-08-14 15:59:47 +01:00
Alex Harker 2996f9ae10 Update kernel smoother 2019-08-14 15:32:24 +01:00
Alex Harker a71f846020 Fix enable ifs in HISSTools_Library code 2019-08-14 15:24:08 +01:00
Alex Harker 31c5f4cf08 Attempt to deduce type traits for HISSTools_Library class constructors 2019-08-14 15:09:16 +01:00
Alex Harker 1f84220a10 Updates from HISSTools_Library 2019-08-14 13:57:21 +01:00
Alex Harker 50474b2985 Updates to spectral code from HISSTools_Library 2019-08-14 00:24:19 +01:00
Alex Harker 0b3d5d7c4b Updates to spectral code from HISSTools_Library 2019-08-13 23:34:37 +01:00
Alex Harker 757ff58d5b Fix output retrieval for complex convolution and correlation 2019-08-13 23:07:31 +01:00
Alex Harker 8ecb5635b2 Update spectral processor from HISSTools_Library 2019-08-13 17:22:53 +01:00
Alex Harker 26d0223a21 Updates from HISSTools_Library 2019-08-13 12:52:32 +01:00
James Bradbury c07f0429bb Merge branch 'pull-branch' 2019-08-13 00:53:14 +01:00
James Bradbury c89c153989 Merge branch 'master' of github.com:AlexHarker/FrameLib into pull-branch 2019-08-13 00:52:44 +01:00
James Bradbury 68abf4955a toolbars and fonts 2019-08-13 00:50:28 +01:00
James Bradbury 28ca411149 additional documentation of internal patches 2019-08-13 00:50:13 +01:00
James Bradbury c5d9cefb58 added toolbars and made font 13 standardised 2019-08-13 00:49:42 +01:00
Alex Harker 9059ea766a Correct detection for patterns being sent 2019-08-13 00:45:52 +01:00
Alex Harker 1bc73b2701 Remove space from info string 2019-08-13 00:33:08 +01:00
Alex Harker 5b237170b0 Use number of audio ins/outs from the internal framelib object for info() calls 2019-08-13 00:32:50 +01:00
Alex Harker abdc57b613 Updates from HISSTools_Library 2019-08-12 23:32:12 +01:00
Alex Harker 8401b51825 Spectral code reordering and renaming 2019-08-12 23:19:27 +01:00
Alex Harker c929640496 Refactor the spectral processor as a dependency compose rather than inherit 2019-08-12 18:24:35 +01:00
Alex Harker 9304383b1a Update IR manipulation in line with HISSTools_Library 2019-08-12 15:53:23 +01:00
Alex Harker 9c41138845 Refactor the spectral processor as a template class 2019-08-12 15:48:20 +01:00
Alex Harker 9521f321db Add general purpose allocator to the framework 2019-08-12 15:47:26 +01:00
Alex Harker dfe6a8361b Whitespace 2019-08-12 12:15:41 +01:00
Alex Harker 78cebec0b9 Retrieve max FFT size from the Spectral_Processor object 2019-08-12 10:52:31 +01:00
Alex Harker 8bd4446fc1 Refactor all spectral objects to use a common processor 2019-08-12 10:29:18 +01:00
Alex Harker aa7ca31841 Update IR Manipulation as in HISSTools_Library 2019-08-11 21:40:50 +01:00
Alex Harker e84fde38c5 Commit KernelSmoother code form HISSTools_Library 2019-08-10 23:35:05 +01:00
Alex Harker 5144e41b62 Don't use the smoothing path if there is no kernel 2019-08-10 23:34:16 +01:00
Alex Harker cb035f4b8b Remove unused header include 2019-08-10 09:47:11 +01:00
Alex Harker 4438a2da4d Correct IO on irphase 2019-08-10 09:46:57 +01:00
Alex Harker 4a0346ed7b Add kernel smoother code 2019-08-10 09:46:38 +01:00
Alex Harker ce8c8f1a20 Initial irphase code commit 2019-08-08 23:52:45 +01:00
James Bradbury b867435919 Make neater with toolbars 2019-08-07 14:28:52 +01:00
James Bradbury 70974b5110 re-add python files to proj 2019-08-07 14:26:59 +01:00
James Bradbury dce332f6ad dont need numeric types 2019-08-07 14:25:34 +01:00
James Bradbury 7b0cbb2dd2 update names of tutorials and make some toolbar adjustments 2019-08-07 14:24:52 +01:00
James Bradbury 409b97c021 go up 1 dir because of package 2019-08-07 12:11:29 +01:00
James Bradbury 2f914862de name change for package 2019-08-07 12:11:18 +01:00
James Bradbury 6f49cf72ed move to a package rather than modules 2019-08-07 12:11:05 +01:00
James Bradbury bc0bc83991 updates to tutorials 2019-08-03 01:34:53 +01:00
Alex Harker 435e3126c2 Update dependencies from HISSTools_Library 2019-08-02 15:54:52 +01:00
James Bradbury b63eb545de yaml file containing seealso and keyword info 2019-07-15 14:10:24 +01:00
James Bradbury 231fa953dc update module names 2019-07-15 14:09:53 +01:00
James Bradbury cc7a45ef0f minor refactor 2019-07-15 14:09:44 +01:00
James Bradbury e0fb6fbd53 add tilde~ to the raw xml files for obj names 2019-07-15 14:09:35 +01:00
James Bradbury 25a04b5780 add a thinning function 2019-07-15 14:09:23 +01:00
James Bradbury 4d16c0d731 conversion from raw writing to dict
also includes safe writing of yaml
2019-07-15 14:09:04 +01:00
James Bradbury aa66c5c1c4 remove old keywords method 2019-07-13 10:56:41 +01:00
James Bradbury 3fa94520b1 ignore temp file 2019-07-13 10:53:49 +01:00
James Bradbury 85b54c53bf do keywords and seealso 2019-07-13 10:51:07 +01:00
James Bradbury cd047375b1 generates a simplistic yaml file with keywords and seealso 2019-07-12 16:11:02 +01:00
James Bradbury 2176881f37 basic yaml file that is auto gen by yaml_template.py 2019-07-12 16:10:37 +01:00
James Bradbury efa5205ea4 extracts keywords and seealso from yaml file and implements this in the automated process 2019-07-12 16:10:19 +01:00
James Bradbury 6ceafc5922 yaml file containing keywords and seealso 2019-07-12 14:51:06 +01:00
James Bradbury 138bc314cc create a template for yaml containing keywords and seealso
possibly remove this later as it will overwrite any custom work
2019-07-12 14:50:48 +01:00
James Bradbury bb0e71efdf superfluous text file 2019-07-12 14:50:18 +01:00
James Bradbury ad31ac2f29 Make categories more human readable 2019-07-12 14:24:21 +01:00
James Bradbury e25150ad6d retarget 2019-07-08 23:34:32 +01:00
James Bradbury 46d48f3ced Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-07-08 23:31:51 +01:00
Alex Harker c344e9c4a3 Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-07-08 23:22:29 +01:00
Alex Harker 6ddb836622 Make the visual studio compiler happy (for now) about types 2019-07-08 23:03:15 +01:00
James Bradbury e7ef3c6fc7 Merge branch 'master' of https://github.com/AlexHarker/FrameLib into Alex-Integration
# Conflicts:
#	Current Test Version/FrameLib/docs/tutorial-patchers/_1_What_is_FrameLib?.maxpat
#	Current Test Version/FrameLib/docs/tutorial-patchers/_1_What_is_FrameLib__.maxpat
#	Current Test Version/FrameLib/docs/tutorial-patchers/_2_What_is_FrameLib.maxpat
2019-07-08 20:23:35 +01:00
Alex Harker feb9d6925f Update SIMDSupport.hpp again 2019-07-04 13:08:21 +01:00
Alex Harker 6d5ddcb231 Update SIMDSupport.hpp 2019-07-04 12:49:54 +01:00
James Bradbury 6901ed2674 more organisation 2019-06-22 11:01:36 +01:00
James Bradbury d6bd1d9d00 avoid Non-portable path errors in xcode 2019-06-20 14:12:12 +01:00
James Bradbury 5399efa414 disclaimer 2019-06-20 14:10:09 +01:00
James Bradbury 4d9cc3b6fd create sh scripts for pre/post actions on build docs 2019-06-20 14:10:03 +01:00
James Bradbury efbde97b9a windows friendly python scripts 2019-06-20 13:50:05 +01:00
James Bradbury 6616d057b4 ignore workspace 2019-06-20 13:05:26 +01:00
James Bradbury ea5170df62 make toolbars great again on extras 2019-06-20 13:00:27 +01:00
Alex Harker 353fa20d4c Require AVX on windows for now and compile for that 2019-06-20 11:29:15 +01:00
Alex Harker 71aa6d6f73 Correct mm256 shuffles so that the code works (needs testing for speed) 2019-06-20 10:18:23 +01:00
Alex Harker 99ff5f476d Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-06-19 16:31:58 +01:00
Alex Harker 5ce0317e72 Correct type in FFT code 2019-06-19 16:31:50 +01:00
Alex Harker bd9cfe329d Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-06-19 13:58:12 +01:00
Alex Harker f3f988007b Adapt FFT to recognise SSE support under MSVS 2019-06-19 13:50:30 +01:00
Alex Harker 0b95c9662f Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-06-19 13:45:58 +01:00
Alex Harker fb32f54346 Move FFT to objects project 2019-06-19 13:45:43 +01:00
Alex Harker 12a972df89 Deal with __SSE__ define on windows with MSVS 2019-06-19 13:44:34 +01:00
Alex Harker 1ac523c910 Typecasting for overly compliant compilers 2019-06-18 16:48:52 +01:00
Alex Harker 2c0745abe4 Formatting 2019-06-18 16:48:28 +01:00
Alex Harker 5db9668f00 Added trunc and round functions to SIMDSupport.hpp 2019-06-18 16:24:59 +01:00
Alex Harker a78dde0eb9 Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-06-18 16:18:00 +01:00
Alex Harker db4fb327c3 Improvements for compiler flags under windows 2019-06-18 16:17:48 +01:00
Alex Harker 043ebe24d3 Better typing for ibuffer access / ibuffer 2019-06-18 16:16:52 +01:00
James Bradbury 2320ff8468 Change to numbered stages from letters 2019-06-18 14:13:10 +01:00
Alex Harker 36d17094c1 Integer casting for max objects with their own code to remove warnings under Win64 2019-06-18 10:46:03 +01:00
Alex Harker c45fccdfd3 Formatting 2019-06-18 10:24:23 +01:00
Alex Harker 5e750fafa1 Add explicit type casting to table reader to allow higher warning level on compiler 2019-06-18 10:01:01 +01:00
Alex Harker 13b3564529 Correct tests for valid input in the max class when checking remotely 2019-06-17 02:25:31 +01:00
Alex Harker ef3263d35a Fix reversal of audio ins and outs in the Max class 2019-06-17 02:05:19 +01:00
Alex Harker eb9c2c42e6 Move additional files out of the main output directory on windows or avoid generating them 2019-06-17 01:31:19 +01:00
Alex Harker bb7701c777 Update to ensure all windows externals build 2019-06-17 01:20:23 +01:00
Alex Harker 5a64d42dd1 Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-06-17 00:58:52 +01:00
Alex Harker a0982ce752 Correct type on template to convince windows to compile 2019-06-17 00:54:46 +01:00
Alex Harker 17ba66a050 Make sure all headers are available when compiling max objects 2019-06-17 00:51:24 +01:00
Alex Harker 2d645267fb Include missing headers on complex unary and binary operators 2019-06-17 00:32:20 +01:00
Alex Harker 6f547228ad Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-06-17 00:28:00 +01:00
Alex Harker 10d2447cb3 Add missing headers 2019-06-17 00:26:55 +01:00
Alex Harker 4caf97f537 Update all projects and solution 2019-06-17 00:23:40 +01:00
Alex Harker 054fb2e141 Removed extra project 2019-06-17 00:22:14 +01:00
Alex Harker 992ed515b8 Add project for each framelib object on windows 2019-06-17 00:00:02 +01:00
Alex Harker b6cb7886da Get project structure ready for full externals set 2019-06-16 22:41:35 +01:00
Alex Harker 95e54d9508 Fix config files for windows x64 debug build 2019-06-16 22:17:17 +01:00
Alex Harker 208c0649f6 Improevements to configs to get win32 compiling in debug mode 2019-06-16 21:51:47 +01:00
Alex Harker 750b9aa741 Project / Solution / Config updates for windows compilation 2019-06-16 21:30:04 +01:00
Alex Harker cadf8574c4 Update projects/solutions/configs 2019-06-16 20:07:01 +01:00
Alex Harker 566189c495 Rework source to use unsigned long for buffer offset 2019-06-16 17:42:50 +01:00
Alex Harker 0ff7ff101a Finalise (hopefully) changes to framework integer types 2019-06-16 17:32:36 +01:00
Alex Harker 831ee2f712 Update DSP / Object / Memory to improve integer types 2019-06-16 17:18:57 +01:00
Alex Harker 3ecb810d5f FrameLib_MaxClass add explicit integer casts 2019-06-16 16:53:18 +01:00
Alex Harker 0ad2745c02 Safer integer typecasting from void* 2019-06-16 16:44:21 +01:00
Alex Harker 336234d3f2 Update integer types in FrameLib_Multistream 2019-06-16 16:18:31 +01:00
Alex Harker c08c093444 FrameLib_MaxClass update integer types 2019-06-16 16:08:55 +01:00
Alex Harker d0239fc757 Type cast size_t to unsigned long / make sure all paths return in function 2019-06-16 15:33:37 +01:00
Alex Harker 0bc3899dea NanFilter - correct cast 2019-06-16 15:15:35 +01:00
Alex Harker 3795065c4c Deleted unneeded line 2019-06-16 15:12:11 +01:00
Alex Harker 37538ff479 From Host integer types 2019-06-16 15:10:03 +01:00
Alex Harker f23a5e169c Missed one cast 2019-06-16 15:05:45 +01:00
Alex Harker 554a55f599 Update HISSTools_FFT for sypes 2019-06-16 15:04:33 +01:00
Alex Harker f1c95a838a Upadte HISSTools_FFT 2019-06-16 15:00:30 +01:00
Alex Harker bb9f71b6a3 Misc integer types and casting 2019-06-16 14:51:41 +01:00
Alex Harker d5407ce095 Expressions - don't use size_t where unsigned long should be used. 2019-06-16 14:44:53 +01:00
Alex Harker 75a3273ef4 Const correctness 2019-06-16 14:37:31 +01:00
Alex Harker ad15c77ce8 Correct last commit by not calling through to non-const methods 2019-06-16 14:36:19 +01:00
Alex Harker 7f18a162d0 IO objects buffer size as unsigned long 2019-06-16 14:33:21 +01:00
Alex Harker 988dc4e0a5 Formatting 2019-06-16 14:33:01 +01:00
Alex Harker 894a3fc79d Even more work on parameters integer types 2019-06-16 14:25:02 +01:00
Alex Harker 3aabdd7cc9 More work on parameter integer types 2019-06-16 14:18:56 +01:00
Alex Harker 50a408e850 work integer types in FrameLib_Parameters 2019-06-16 14:09:54 +01:00
Alex Harker 2f038375d3 Whitespace 2019-06-16 13:51:45 +01:00
Alex Harker 375ea661ea Routing setting active IO using cast 2019-06-16 13:47:36 +01:00
Alex Harker 3f2949feb0 Routing integer types 2019-06-16 13:45:12 +01:00
Alex Harker 62a8924bd6 Type cast 2019-06-16 13:44:40 +01:00
Alex Harker 6689b4b4f7 Correct previous commit for snprintf warnings 2019-06-16 13:41:54 +01:00
Alex Harker 608ff0ca15 sprintf warning 2019-06-16 13:39:24 +01:00
Alex Harker 83d1b1c0d3 Peaks and Percentile integer types 2019-06-16 13:32:37 +01:00
Alex Harker 526f64cb09 Multitaper and spatial integer types 2019-06-16 13:23:37 +01:00
Alex Harker 36b123770a Tags/Parameters integer types 2019-06-16 13:15:15 +01:00
Alex Harker d2013ba707 Expressions integer types 2019-06-16 13:02:05 +01:00
Alex Harker 25b657e062 Median filter integer types 2019-06-16 12:15:00 +01:00
Alex Harker 665483ae8c Typo 2019-06-16 12:02:46 +01:00
Alex Harker 3c326672b2 ParamAlias types 2019-06-16 11:58:44 +01:00
Alex Harker 0def066ecb Integer types 2019-06-16 11:24:13 +01:00
Alex Harker af53737ae2 Simplify code / types / return value 2019-06-16 11:19:07 +01:00
Alex Harker 887d657ce1 Integer type matching 2019-06-16 10:52:16 +01:00
Alex Harker d27d33fc3b FrameLib_MaxClass types 2019-06-16 10:35:50 +01:00
Alex Harker 6d423383ba Explicit type casts when moving from double to int 2019-06-16 09:27:37 +01:00
Alex Harker 5ad3504874 Use auto to ensure type consistency 2019-06-15 23:48:02 +01:00
Alex Harker d010ed6efc More work on size_t vs unsigned long 2019-06-15 23:39:49 +01:00
Alex Harker f453f02cee Whitespace 2019-06-15 23:36:26 +01:00
Alex Harker c11f0a3cf4 Tabs->Spaces 2019-06-15 23:34:05 +01:00
Alex Harker 1a4e616cfd Further work on types to make things compile on windows 2019-06-15 23:18:45 +01:00
Alex Harker 2248d7d843 Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-06-15 22:47:49 +01:00
Alex Harker e8aa7d415b Change parameter types 2019-06-15 22:46:57 +01:00
Alex Harker 24a4eaac26 Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-06-15 22:37:13 +01:00
Alex Harker 17bf1196a7 Correct type 2019-06-15 22:36:47 +01:00
Alex Harker 33c5b95372 Formatting 2019-06-15 22:29:46 +01:00
Alex Harker f8ab683440 Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-06-15 22:28:55 +01:00
Alex Harker 95798bf862 Add serialisation to the framework library 2019-06-15 22:27:54 +01:00
Alex Harker 2295dfd9a6 Use correct type for windows 2019-06-15 22:27:36 +01:00
Alex Harker 55b4994485 Use unsigned long for frame sizes 2019-06-15 22:24:19 +01:00
Alex Harker 34d12fba78 formatting of comment 2019-06-15 22:17:49 +01:00
Alex Harker d2d944e005 Cast to avoid warning again / formatting 2019-06-15 18:06:02 +01:00
Alex Harker 8ce3a120bc Silence warnings with cast / formatting 2019-06-15 17:59:51 +01:00
Alex Harker f2cfdcb2e8 Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-06-15 17:48:38 +01:00
Alex Harker b9e7c7381f Attempt to fix closing of semaphores on windows 2019-06-15 17:48:29 +01:00
Alex Harker 820036591a Test project for compiling framelib max externals on windows 2019-06-15 17:21:53 +01:00
Alex Harker b4d99e9fa0 Use compiler specific name unmangling (requires windows implementation) 2019-06-15 17:21:05 +01:00
Alex Harker 8717c5c0fa Add dependencies to the framelib project 2019-06-15 16:52:00 +01:00
Alex Harker 34a35696fd Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-06-15 14:54:10 +01:00
Alex Harker 06b61f6701 Rework connection data to use a separate class so it can be used safely in wrappers 2019-06-15 14:53:59 +01:00
Alex Harker 8875ec7239 Include project for building objects and update framework project 2019-06-15 13:16:22 +01:00
Alex Harker 0f7a7a84c7 Clarify expected operator ordering 2019-06-15 12:51:33 +01:00
Alex Harker 0c87136401 Don't try to compile code with a vector size that might be 0 2019-06-15 12:44:35 +01:00
Alex Harker 7a9ed92697 Use config file for vector settings 2019-06-15 12:37:43 +01:00
Alex Harker 12eeb0ab1a Correct type 2019-06-15 12:02:37 +01:00
Alex Harker c91efd823d Add previous fix to ramp object 2019-06-15 11:46:27 +01:00
Alex Harker e5c855aac0 retrieve modes with getInt() before casting to enum types to keep the windows compiler happy 2019-06-15 11:45:49 +01:00
Alex Harker 29f13bc3b4 Correct style of path for Statistics.hpp 2019-06-15 11:29:52 +01:00
Alex Harker e40d9621db Correct style of paths 2019-06-15 11:26:47 +01:00
Alex Harker dd169eca44 Always use snprintf 2019-06-15 10:59:59 +01:00
Alex Harker 8afb86b812 Change to portable type 2019-06-15 10:42:01 +01:00
Alex Harker 0b75d1803f Formatting 2019-06-15 10:41:43 +01:00
Alex Harker e5ee012c9e Include <cmath> for constants 2019-06-15 10:32:31 +01:00
Alex Harker 283c7e93ac Basic VS solution and project 2019-06-15 00:44:31 +01:00
Alex Harker dbb876eea4 Use std::copy to copy strings that we have explicitly tested that we have space for. 2019-06-15 00:42:53 +01:00
Alex Harker 58ab2544d2 Make explicit that string copies are safe 2019-06-15 00:28:15 +01:00
Alex Harker 3a38bf04a2 Typo 2019-06-15 00:22:50 +01:00
Alex Harker 3f6cab845f Safer string manipulation 2019-06-15 00:18:29 +01:00
Alex Harker f9ea2abdff Corrected .gitignore syntax 2019-06-14 23:55:00 +01:00
Alex Harker 646cc91783 Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-06-14 23:53:18 +01:00
Alex Harker c6e448abad Updated .gitignore 2019-06-14 23:53:00 +01:00
Alex Harker 46b0936dbc Use binary minus to avoid compiler warnings/errors 2019-06-14 23:49:58 +01:00
Alex Harker e88097e69a Fix class name 2019-06-14 23:46:16 +01:00
James Bradbury 1ff3d23c52 rename so git.clone on windows plays nice 2019-06-14 19:26:59 +01:00
Alex Harker 6f218b00fb Remove punctuation in file name 2019-06-14 19:21:58 +01:00
James Bradbury 16a28151d9 Terse documentation of each stage 2019-06-14 17:02:15 +01:00
James Bradbury 14b61cf920 remove excess messages 2019-06-14 17:02:06 +01:00
James Bradbury 66c479c3a4 change location of RawXML to tmp 2019-06-13 18:39:26 +01:00
James Bradbury 9f471e781a make python run as part of the build of Documentation 2019-06-13 18:39:12 +01:00
James Bradbury 6747b8c8d6 make tilde great again 2019-06-13 18:38:57 +01:00
James Bradbury 3aa19d9b00 Merge branch 'docs' of https://github.com/AlexHarker/FrameLib
# Conflicts:
#	Documentation/Max Documentation/Build_Max_Docs.cpp
2019-06-13 18:09:11 +01:00
Alex Harker 787f5a3019 Fix folder name 2019-06-13 18:07:11 +01:00
Alex Harker b3dad2c90c Fixed linking of documentation 2019-06-13 18:00:46 +01:00
James Bradbury c811868849 fixed pathing 2019-06-13 17:59:06 +01:00
Alex Harker 4e01f1ea0f Fixed linking of documentation 2019-06-13 17:54:16 +01:00
James Bradbury 413f1d6ce3 Updated object_list script and file 2019-06-13 17:10:19 +01:00
James Bradbury d5898a4902 fixed template issue 2019-06-13 17:01:26 +01:00
James Bradbury 20c24c0bda update object_list generator 2019-06-13 16:59:01 +01:00
James Bradbury b03363ba75 Max_Object_List.h 2019-06-13 16:52:00 +01:00
James Bradbury a59beab12e Fixed .DS_Store issue 2019-06-13 16:50:57 +01:00
James Bradbury 97fecf4a3e remove custom targets 2019-06-13 16:47:06 +01:00
James Bradbury 723de75604 : -> ; 2019-06-13 16:46:07 +01:00
James Bradbury 78bca63471 Remove custom objects from this branch 2019-06-13 16:45:46 +01:00
James Bradbury ba2e7f7be9 Get rid of busted helpers 2019-06-13 16:41:26 +01:00
James Bradbury 72ec3a0793 Generate Max_Object_List.h 2019-06-13 16:39:32 +01:00
James Bradbury d7eb79c1a5 whitespace 2019-06-13 16:39:18 +01:00
James Bradbury f7fbf76ba7 creates first part of file, no commas 2019-06-13 15:46:10 +01:00
James Bradbury 8fd21d4dbd Merge branch 'docs' of https://github.com/AlexHarker/FrameLib 2019-06-13 14:12:46 +01:00
James Bradbury 27aabdf50e walk dirs for files 2019-06-13 14:12:23 +01:00
James Bradbury 81c9f66e6b Generate Max_Object_List.h 2019-06-13 14:08:16 +01:00
Alex Harker 065df86faf Add infrastructure for auto generating max object lists and hence documentation 2019-06-13 13:47:31 +01:00
James Bradbury 21cabdfbdf make toolbars great again 2019-06-13 11:50:01 +01:00
James Bradbury 49584e0677 XML Generator for FrameLib Objects 2019-06-13 10:05:38 +01:00
James Bradbury ac3441b6e4 suppress issue compile issues (for now) 2019-06-13 10:05:16 +01:00
James Bradbury 6edb0d30bc Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2019-05-30 13:37:54 +01:00
James Bradbury 2b542abbe5 Refactorising python code, and subsequent ammendments to output docs 2019-05-30 13:37:04 +01:00
James Bradbury ddb4d9e0dd Checking of the raw xml exists - otherwise continue 2019-05-30 13:09:58 +01:00
Alex Harker aca0c8b251 Add support for adding size_t items to error reports 2019-05-30 08:25:33 +01:00
Alex Harker fb735055c5 Updates to the threading model to avoid priority inversion in the memory system 2019-05-30 08:14:39 +01:00
Alex Harker e2aa1b57e8 Don't dynamic cast on a nullptr 2019-05-30 08:07:12 +01:00
Alex Harker 0e36245172 Added to TODO 2019-05-27 22:59:05 +01:00
Alex Harker 34b596773d Formatting 2019-05-27 22:58:53 +01:00
James Bradbury 322b35ecf2 error checking for xml 2019-05-25 18:34:03 +01:00
James Bradbury 1577f17c42 move seed generation to object from process() 2019-05-25 18:09:58 +01:00
James Bradbury a9a125d2aa cosmetic update 2019-05-25 18:09:42 +01:00
James Bradbury 29552de930 dont build fl.scramble~ with whole set 2019-05-25 18:09:32 +01:00
James Bradbury f4f21f29e1 make if more clear 2019-05-25 18:08:18 +01:00
James Bradbury d85b388e16 try: statement to check if xml actually exists 2019-05-25 18:07:54 +01:00
James Bradbury 36b984412e updated tutorials to reflect a new preliminary tutorial 1 2019-05-25 18:07:17 +01:00
James Bradbury 388135477c Merge branch 'master' of https://github.com/AlexHarker/FrameLib
* 'master' of https://github.com/AlexHarker/FrameLib:
  Documentation fo alpha 2.6
  Fixed build of fl.info~
  TypeList updates
  Project and build updates to align all targets
  User Read Updates
  Updated info strings
  Set parameters correctly/safely on object constructors for time smoothing objects.
  Initial TypeList work
  Sorted bugs with making sure that the number of frames is correct under all conditions
  Update project and scheme for pattern object
  Updated SC to include auto ordering connections
  Added code for pattern object
  Info strings correction
  Don't try to process when the input is empty
2019-05-25 12:26:15 +01:00
James Bradbury 39ad136441 handle merging of pbxproj 2019-05-25 12:25:34 +01:00
James Bradbury 101861072f try: to avoid situations where there is no folders to cull 2019-05-25 11:58:23 +01:00
James Bradbury 5ea770984d change location of python exec 2019-05-25 11:54:31 +01:00
James Bradbury 7a87996681 Move random seed generation out of process 2019-05-25 01:42:19 +01:00
James Bradbury 51c51f46df Merge branch 'fl.scramble'
* fl.scramble:
  use std::shuffle not std::random_shuffle
2019-05-25 01:34:20 +01:00
James Bradbury 8156b5966f Update FrameLib.maxpat
small updates to extras file
2019-05-24 21:42:56 +01:00
James Bradbury 99a9755de1 Update .gitignore
ignore help file_templates
2019-05-24 21:42:41 +01:00
James Bradbury a522e2e506 Create help_file_templating.py
generate help files from template
2019-05-24 21:42:29 +01:00
James Bradbury 587fc62d20 Delete f_create_tutorial_coll.py
change name of file
2019-05-24 21:41:00 +01:00
James Bradbury 22a0f45e91 Update f_parse_to_jlookup.py
create dictionary containing parameters
2019-05-24 21:40:51 +01:00
James Bradbury b856f915d0 Create fl.template.maxhelp
help file template
2019-05-24 21:40:32 +01:00
James Bradbury 2c0f9d8b92 Update _Build_All_Files.py
update build_all_files.py to include new scripts
2019-05-24 21:40:07 +01:00
James Bradbury 3867d08704 Delete params.js
remove params.js
2019-05-24 21:39:42 +01:00
James Bradbury e262f6e9da Create fldocs.getparams.maxpat
bpatcher to display parameters
2019-05-24 21:39:31 +01:00
James Bradbury f32d11d324 Delete fl_helpdetails.js
remove fl_helpdetails.js
2019-05-24 21:39:23 +01:00
James Bradbury 6ddcaf477f Create fl.getname.js
js script to get the file name of the patcher
2019-05-24 21:38:27 +01:00
James Bradbury 724ba33615 use std::shuffle not std::random_shuffle 2019-05-09 10:31:09 +01:00
James Bradbury 0d63bd8841 rename stage 2019-05-09 10:30:23 +01:00
James Bradbury e2642e5329 jsui to grab parameters 2019-05-09 10:30:06 +01:00
James Bradbury b33906442d make a dict containing all the params/digest/description 2019-05-09 10:29:47 +01:00
James Bradbury 6ea6d3adc4 js file for help files to print information to a text box 2019-05-01 21:21:05 +01:00
James Bradbury 7ea1d45b76 cleanup 2019-05-01 21:20:42 +01:00
James Bradbury 4cf1f27f40 cleanup 2019-05-01 21:20:24 +01:00
James Bradbury 4766730f98 Merge branch 'fl.closest' 2019-04-01 20:41:05 +01:00
James Bradbury 5f69df86f8 added FrameLib_Scramble.cpp source 2019-04-01 20:40:02 +01:00
James Bradbury 9e1e7d3433 added target for fl.scramble and added fl.scramble to max objects scheme 2019-04-01 20:39:44 +01:00
James Bradbury c9f4d40ed4 closest matches are now scrambled 2019-04-01 20:39:20 +01:00
James Bradbury c079a652a1 Addended definition name 2019-04-01 20:16:20 +01:00
James Bradbury 00bd3e37e3 add files to proj 2019-04-01 20:15:37 +01:00
James Bradbury 0882b2398e add files for fl.scramble 2019-04-01 20:15:26 +01:00
James Bradbury dbd9b2c92e much more finessed concatenative synthesis using fl.closest~ 2019-04-01 20:12:25 +01:00
James Bradbury 692f1e5723 added target for fl.closest~ 2019-04-01 20:12:06 +01:00
James Bradbury da54ff78b1 object which finds the closest value in a frame and returns the index 2019-04-01 20:11:46 +01:00
James Bradbury 1c5a4f5f4b adjusted target for fl.find~ 2019-03-31 21:29:07 +01:00
James Bradbury 3f2fffb68e crude concatenation in vignette 2019-03-31 21:28:50 +01:00
James Bradbury 4cb7b0b6ff adjusted inputs and parameter input to properly construct 2019-03-31 21:28:30 +01:00
James Bradbury e07bf25a5b std::nan when no match is found 2019-03-31 19:54:24 +01:00
James Bradbury bf9825efde fl.find~ now searches within given /range parameter for a value that satisfies criteria. 2019-03-31 15:03:58 +01:00
James Bradbury f86fc9f0bc integrating fl.find~ into descriptor vignette 2019-03-31 10:27:11 +01:00
James Bradbury da1433b712 fl.find~ objects 2019-03-31 10:26:42 +01:00
James Bradbury 2af60ac5a5 stores sound file descriptors in real time 2019-03-30 19:06:24 +00:00
James Bradbury 8802bf6bfe A musical usage of descriptors 2019-03-30 18:45:29 +00:00
James Bradbury 368d087265 Merge branch 'PyRefactor' 2019-03-30 18:01:01 +00:00
James Bradbury be83aa5bf2 project updates 2019-03-30 17:59:14 +00:00
James Bradbury 45af634f09 js file to assist in drawing help maxpat text 2019-03-30 17:58:43 +00:00
James Bradbury 59a9ae4a7a a descriptors vignette 2019-03-30 17:58:16 +00:00
James Bradbury 29271ff586 ignore vscode 2019-03-30 17:58:00 +00:00
James Bradbury f1700dced1 updated tutorials 2019-03-30 17:56:50 +00:00
James Bradbury 8a9363b425 work on generating all xml in crude brute force manner 2019-03-19 17:15:07 +00:00
James Bradbury cec93b0f6c adjusted the landing page to work with new categories of framelib objects 2019-03-19 17:14:16 +00:00
Alex Harker 04911b6809 Documentation fo alpha 2.6 2019-03-14 13:13:55 +00:00
Alex Harker 8063c1622d Fixed build of fl.info~ 2019-03-14 12:51:13 +00:00
Alex Harker 5212f49386 TypeList updates 2019-03-14 12:45:20 +00:00
Alex Harker 16da2496fa Project and build updates to align all targets 2019-03-14 12:03:19 +00:00
Alex Harker 715bccc4b2 Merge branch 'master' of https://github.com/jamesb93/FrameLib
# Conflicts:
#	framelib~.xcodeproj/project.pbxproj
#	framelib~.xcodeproj/xcshareddata/xcschemes/framelib~ Max Objects.xcscheme
2019-03-14 11:43:41 +00:00
Alex Harker db5d07e5e8 User Read Updates 2019-03-14 11:34:24 +00:00
Alex Harker 8b6c6ca4b2 Updated info strings 2019-03-14 11:34:08 +00:00
Alex Harker 7834415a03 Set parameters correctly/safely on object constructors for time smoothing objects. 2019-03-13 14:59:20 +00:00
James Bradbury 7c28a8b06f Add FrameLib_Info.h to the max objects header. 2019-03-12 14:03:02 +00:00
Alex Harker 5ccf8b346c Initial TypeList work 2019-03-10 16:44:09 +00:00
James Bradbury acb2094d9a ignore the q/t/dlookup.json 2019-03-10 15:38:41 +00:00
James Bradbury c821304921 minor cleanup 2019-03-10 15:38:14 +00:00
James Bradbury 393cf49d9b remove obj-lookups from git and source control 2019-03-10 15:37:53 +00:00
James Bradbury 6100cd4a93 Doc strings 2019-03-10 15:36:11 +00:00
James Bradbury 2ff7fbd62b Missing a ">" from the formatting 2019-03-10 15:35:57 +00:00
James Bradbury 5d1dad7bcb Ignore all further .maxref.xml files 2019-03-10 15:35:38 +00:00
James Bradbury 20a6b90d9a Remove .maxref files from git 2019-03-10 15:35:13 +00:00
James Bradbury fca744f9dc Removed Build_XML.maxpat and added a new cpp terminal app to replicate 2019-03-10 14:55:52 +00:00
James Bradbury 5b6a995b75 Removed junk files 2019-03-10 14:55:30 +00:00
James Bradbury c577f218aa made prefixes for file to make ordering more visible 2019-03-10 14:36:49 +00:00
James Bradbury c9312a13e1 adjusted description to match function 2019-03-10 14:25:14 +00:00
James Bradbury f88372a739 Added docstrings to all the functions. 2019-03-10 13:47:21 +00:00
James Bradbury cdb046b89a Flag so that __pycache__ isn't created. 2019-03-10 13:16:48 +00:00
James Bradbury 8a46b4c9f9 Prefix the class of ParseAndBuild() to make them unique 2019-03-10 13:12:13 +00:00
James Bradbury 7af197d936 Add jb e-mail 2019-03-10 13:10:22 +00:00
James Bradbury 20b6997db2 clean up language 2019-03-09 18:28:08 +00:00
James Bradbury b183005a5f main() functions are now passed an argument containing the root. This simplifies code if I need to change the location of the folder. 2019-03-09 18:26:55 +00:00
James Bradbury 7f1f706246 File of helper functions for directory vars 2019-03-09 18:25:53 +00:00
James Bradbury 76759b407a Easier to read printing 2019-03-09 18:25:32 +00:00
James Bradbury a76d4ac236 Added some helper functions to reduce code duplication 2019-03-09 17:36:23 +00:00
Alex Harker b698127bfd Sorted bugs with making sure that the number of frames is correct under all conditions 2019-03-09 09:44:06 +00:00
Alex Harker e2822fdb85 Update project and scheme for pattern object 2019-03-09 09:26:03 +00:00
Alex Harker 85aeb0e3d3 Updated SC to include auto ordering connections 2019-03-09 09:23:55 +00:00
Alex Harker b1c4c39ef4 Added code for pattern object 2019-03-09 09:22:15 +00:00
Alex Harker 9af4b81910 Info strings correction 2019-03-09 08:49:00 +00:00
Alex Harker ab82158b14 Don't try to process when the input is empty 2019-03-08 19:18:51 +00:00
James Bradbury 9341587954 Ignore an easily generated file. 2019-03-08 16:31:22 +00:00
James Bradbury 3549758777 Xcode can build python target separately, or as a post-script for the c++ terminal app 2019-03-08 16:25:45 +00:00
James Bradbury 82e4b0d2eb Added new target to build python files in xcode 2019-03-08 15:48:28 +00:00
James Bradbury 4a9e051f0b Start incorporating python work 2019-03-08 15:21:26 +00:00
James Bradbury fcb8e42a0d Remove unnecessary header 2019-03-08 15:20:33 +00:00
James Bradbury 1a9571c3c8 Update Build_Max_Docs.cpp
Removed header. Can now create an xml for FrameLib_Interval
2019-03-07 15:45:18 +00:00
James Bradbury 5bc498c18c Keep maxclass.h consistent across branches 2019-03-07 14:58:47 +00:00
James Bradbury 64d5ef0778 Update FrameLib_MaxClass.h
Remove unnecessary #includes
2019-03-07 14:48:37 +00:00
James Bradbury 44c87bb7d5 Script for generating docs
Script for generating docs
2019-03-07 14:37:36 +00:00
James Bradbury f26c588a28 Update FrameLib_MaxClass.h
Remove write_info from master.
2019-03-07 14:36:37 +00:00
James Bradbury aec2b0cf0f Update project.pbxproj
Remove extra fl.chain~ plist
2019-03-07 14:36:25 +00:00
James Bradbury 6af70ce202 Update project.pbxproj
New command-line target for Documentation
2019-03-07 14:33:43 +00:00
James Bradbury b40df1f848 Update FrameLib_MaxClass.h
Remove write_info method. This is no longer necessary
2019-03-06 15:44:36 +00:00
James Bradbury 23d738c76a Update project.pbxproj
Added ibuffer_access.cpp as a compile source to stop linking errors when building.
2019-03-01 14:24:05 +00:00
James Bradbury 46576513d2 Added fl.chain~ to objectlist 2019-03-01 11:56:05 +00:00
James Bradbury a62e268e5d updated build_xml.maxpat 2019-03-01 11:51:17 +00:00
James Bradbury a77d21f9be Project updated to match upstream/master 2019-03-01 11:24:43 +00:00
James Bradbury 2fc0166511 Removed fl.info~ testing scheme 2019-03-01 11:24:22 +00:00
James Bradbury 56614a6680 Ammended build path 2019-03-01 11:23:57 +00:00
James Bradbury 1773d3ea7c Removed unnecessary file 2019-03-01 11:17:04 +00:00
James Bradbury 6a932badce Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	framelib~.xcodeproj/project.pbxproj
#	framelib~.xcodeproj/xcshareddata/xcschemes/framelib~ Max Objects.xcscheme
2019-03-01 01:31:43 +00:00
James Bradbury 65f42636b1 Re-ordered targets for fl.info~ 2019-02-23 01:14:16 +00:00
James Bradbury 1da47a7c40 Merge branch 'master' of https://github.com/jamesb93/FrameLib
# Conflicts:
#	.gitignore
2019-02-23 00:59:58 +00:00
James Bradbury 596acd08c4 Clean up ignored files 2019-02-23 00:49:52 +00:00
James Bradbury e6a230c87b Updated gitignore 2019-02-23 00:45:20 +00:00
James Bradbury 92e5a3c5b7 Updated XML build patch 2019-02-23 00:41:48 +00:00
James Bradbury de2c32da6e Updated category database 2019-02-23 00:39:04 +00:00
James Bradbury 78882a9921 Removed dummy file 2019-02-23 00:38:48 +00:00
James Bradbury cb9c1a3127 Fixed typos 2019-02-23 00:38:27 +00:00
James Bradbury e66b48c1d4 Tutorial 0 added 2019-02-23 00:35:38 +00:00
Alex Harker a33d07f79a Clean-up and small bug fix if output memory is not allocated 2019-01-31 23:45:45 +00:00
Alex Harker f848aaef80 Formatting and clean-up 2019-01-31 23:45:12 +00:00
Alex Harker a659a78d50 Fix input parsing to avoid infinite loops when no values are present, and removing extra errors caused by inputs 2019-01-31 22:25:27 +00:00
Alex Harker 2c376aa4f0 Added the chain scheduler 2019-01-31 15:29:35 +00:00
AlexHarker 2e1f44ed1b Merge pull request #23 from AlexHarker/next
Next
2019-01-29 14:25:27 +00:00
Alex Harker 0bb227a75c Merge branch 'master' into next 2019-01-29 14:19:48 +00:00
James Bradbury f4b47455a5 ignores XML externals 2018-12-07 17:22:25 +00:00
James Bradbury c928c2e722 Ignore XML enabled externals 2018-12-05 15:14:14 +00:00
James Bradbury 1d8ea6a69d Automated patch that produces XML files from all current framelib objects 2018-12-05 15:13:03 +00:00
James Bradbury d3db9c128d Removed boost from string concatenation 2018-12-05 15:12:36 +00:00
James Bradbury 15a476b746 Build XML enabled max objects into the documentation folder 2018-12-05 15:11:38 +00:00
James Bradbury e7cfa9d2cf Added fl.dispatch~ to objectlist 2018-12-05 15:11:10 +00:00
James Bradbury 5a86a12e34 Merge branch 'master' of https://github.com/jamesb93/FrameLib into XML-Documentation
# Conflicts:
#	Current Test Version/FrameLib/docs/refpages/Binary/fl.greaterthaneq~.maxref.xml
2018-12-04 17:50:13 +00:00
James Bradbury 7f5957ac30 minor updates to landing page 2018-12-04 17:44:32 +00:00
James Bradbury 24a8e39a7e Object List for auto-building the XML max patch 2018-12-04 17:43:57 +00:00
James Bradbury b36a826457 Fixed typos (Issue #89) 2018-12-04 16:39:54 +00:00
James Bradbury 0265d85be9 Info for each outputs in fl.info~ 2018-12-02 14:36:28 +00:00
James Bradbury 9dce5e8989 minor update to fl.trace~.maxhelp 2018-11-30 17:17:14 +00:00
James Bradbury 78bb81db82 Removed tildes from info strings 2018-11-30 17:16:12 +00:00
James Bradbury 637b080fef Corrected parameter strings. Moved setIO higher in the constructor. Unit parameter, output of size defaults to ms 2018-11-29 01:52:26 +00:00
James Bradbury 00d834af89 Update Max Documentation with fl.info~ 2018-11-29 01:51:17 +00:00
James Bradbury fbdad41c0c Small typo in Alex's notes 2018-11-26 14:40:26 +00:00
James Bradbury a7ea4258d8 cleanup 2018-11-26 00:19:23 +00:00
James Bradbury d7792781cc fl.info~ now uses the generic info.plist 2018-11-25 19:28:42 +00:00
James Bradbury 05e75c70e5 fl.info~ now acquires and outputs the number of channels. 2018-11-25 19:28:19 +00:00
James Bradbury 93cd331415 Modified the acquire function to return channels 2018-11-25 19:27:17 +00:00
James Bradbury 1e5a9795e1 Updated build targets for fl.info~ Also removed some extraneous copying from fl.read~ config. 2018-11-25 19:12:04 +00:00
James Bradbury 3480d0a6c7 fl.info~ initial work - outputs size and sr of a buffer 2018-11-25 19:11:16 +00:00
James Bradbury 3aab7a1b58 Merge branch 'next' of github.com:AlexHarker/FrameLib
# Conflicts:
#	framelib~.xcodeproj/project.pbxproj
2018-11-25 17:50:56 +00:00
James Bradbury 60204ac6fe Minor updates to documentation help files. 2018-11-24 13:42:41 +00:00
Alex Harker a975f86630 Replace all tabs with spaces in code which is not a dependency 2018-11-03 11:14:06 +00:00
Alex Harker 28a6d5011c Updated naming of fl.dispatch~ target 2018-10-28 22:05:06 +00:00
Alex Harker e49f93abda Fix error reporting with join object 2018-10-21 10:02:31 +01:00
James Bradbury 09d736d180 minor position adjustment 2018-10-19 23:47:52 +01:00
James Bradbury c6893b9037 modified some small elements of landing page 2018-10-19 23:47:18 +01:00
James Bradbury 274a7a03f8 added some qol changes to the latter patches 2018-10-19 23:47:01 +01:00
James Bradbury a137eed040 made noise bipolar from unipolar 2018-10-19 23:46:38 +01:00
James Bradbury 1cfe33b7ca fixed fl.timemedian~ objects parameters 2018-10-19 23:39:31 +01:00
James Bradbury 34f2f05eeb Fixed trigger frames not attached 2018-10-19 23:34:33 +01:00
Alex Harker e97d5e5d04 Safely copy data when the vector is empty on the from host object 2018-10-17 17:13:14 +01:00
Alex Harker 6a0d409804 Update issues 2018-10-17 16:50:55 +01:00
Alex Harker dc1888ea34 SC Reduce flags, set source to run as audio rate and update issues file 2018-10-17 00:09:28 +01:00
Alex Harker 9e73b207ee Make optimisation levels global to the project 2018-10-17 00:08:25 +01:00
Alex Harker 26c0be5047 Support for fixed inputs 2018-10-16 16:59:10 +01:00
James Bradbury 59ad31d33b Fixed minor tutorial bugs and adjusted landing page with new credits 2018-10-16 12:40:21 +01:00
James Bradbury 7a1f811772 Remove dead files 2018-10-16 12:32:17 +01:00
James Bradbury ba065746af Timing category conflicts with existing Max category. Now it is 'FL_Timing'. 2018-10-16 12:32:01 +01:00
Alex Harker 1b063ebf32 Const-correctness 2018-10-16 12:06:58 +01:00
Alex Harker 06960473ea Rework namespaces to prevent conflicts and fix diff() function within expression object 2018-10-16 09:21:37 +01:00
Alex Harker aae13fc385 More SC Objects and build into place 2018-10-16 08:54:13 +01:00
Alex Harker e1920f0753 Simplifications to the SC codebase 2018-10-16 00:25:49 +01:00
Alex Harker 26862361f0 Updated names and schemes for SuperCollider 2018-10-15 21:15:10 +01:00
Alex Harker 535a7d410a Fix comment 2018-10-15 18:02:43 +01:00
Alex Harker f62d245c4e SuperCollider initialisation parameters and buffer reading 2018-10-15 18:02:08 +01:00
James Bradbury fc3d9c8f1b Updated fl.sink~ help file 2018-10-15 16:54:00 +01:00
James Bradbury 2b699288e5 Minor changes to landing page, tutorials. Addition of fl.sink~ max help file. 2018-10-15 16:41:43 +01:00
James Bradbury 930cfb659d Removed bad help files, made existing ones Max 8 style compliant
Minor changes and bug fixes (/trigger_ins boths)
2018-10-15 15:41:06 +01:00
Alex Harker 9165073833 SuperCollider restructure + Issues 2018-10-14 23:36:42 +01:00
James Bradbury 4041c265b1 First iteration of auto-reference output 2018-10-14 22:26:56 +01:00
James Bradbury 17a451ee57 remove main() function from inside the file 2018-10-14 22:25:38 +01:00
James Bradbury 2afa294b0d edits raw xml and replaces text for categories 2018-10-14 22:25:11 +01:00
James Bradbury e7c55c046b white space removal 2018-10-14 22:24:36 +01:00
James Bradbury 041cf8c97a Object category database updated to reflect changes in naming of source files 2018-10-14 22:23:43 +01:00
James Bradbury b4a625aa29 Updated to include new tasks 2018-10-14 22:23:03 +01:00
Alex Harker b57b45907a Merge branch 'master' of https://github.com/AlexHarker/FrameLib into next 2018-10-14 22:03:21 +01:00
Alex Harker 6ae662963e Updated name of fl.combinetags~ 2018-10-14 22:02:44 +01:00
Alex Harker 397be6a6f7 Merge branch 'master' of https://github.com/AlexHarker/FrameLib into next 2018-10-14 21:59:29 +01:00
Alex Harker 404899d5f7 Removed superfluous dot from source file name 2018-10-14 21:58:29 +01:00
Alex Harker 2b5cd547fc Fix bug with a nullptr serial used to construct a multistream object 2018-10-14 21:57:54 +01:00
James Bradbury fd52e5540b Match source name to mxo target 2018-10-14 21:57:50 +01:00
Alex Harker 86e0279e43 Corrected max object source file naming 2018-10-14 21:57:22 +01:00
James Bradbury d17ef06426 Matched source file with mxo output 2018-10-14 21:55:48 +01:00
Alex Harker 4c7314f0df SuperCollider Initial Work 2018-10-14 21:54:31 +01:00
James Bradbury 1ab9ea47bd fixed period in fl.fold~.cpp 2018-10-14 21:36:55 +01:00
James Bradbury 704fa8483b minor error 2018-10-14 21:29:14 +01:00
James Bradbury f3ad3518e3 more fstring conversion 2018-10-14 21:28:37 +01:00
James Bradbury eb0eed990e added tilde to fl.coordinatesystem.cpp file 2018-10-14 21:23:51 +01:00
James Bradbury 0530c50d7f Revert "Extra schemes for testing builds on smaller set of objects"
This reverts commit 623169fa2b.
2018-10-14 16:51:02 +01:00
James Bradbury 623169fa2b Extra schemes for testing builds on smaller set of objects 2018-10-14 16:49:31 +01:00
James Bradbury 5c45487ce9 Minor changes to Build XML maxpat 2018-10-14 09:53:33 +01:00
Alex Harker 2b187cd165 Allow fl.tomax~ to separate streams if required 2018-10-13 18:15:40 +01:00
Alex Harker 2dc1778446 Build directly into the package location 2018-10-13 18:13:43 +01:00
James Bradbury 8c3a31d3cd Remove junk xml 2018-10-13 12:47:14 +01:00
James Bradbury ebab9812d6 Corrected spelling mistake and adjusted category wildcard to not contain escaped characters
Commented object_post to reduce overhead on producing XML documentation
Fixed error where it was posting the number of parameters to XML output
2018-10-13 11:06:41 +01:00
James Bradbury 99339425c5 Merge branch 'master' of github.com:jamesb93/FrameLib into XML-Documentation 2018-10-13 10:53:29 +01:00
James Bradbury 5eca1ee983 Move old XML references 2018-10-13 10:53:03 +01:00
James Bradbury c223a6d8cf Merge branch 'master' of github.com:jamesb93/FrameLib into XML-Documentation 2018-10-13 10:52:06 +01:00
James Bradbury fe8323bf86 edit_raw_xml to add in categories from json 2018-10-13 10:50:46 +01:00
James Bradbury 7be81025bf Converted string concatenation to fstring 2018-10-13 10:47:58 +01:00
James Bradbury b001aed4da renamed category creator python script to match other similar scripts in batch 2018-10-12 21:04:20 +01:00
James Bradbury 55bef4a3c7 Updated master python script to include category building 2018-10-12 21:03:55 +01:00
James Bradbury d6fd72e3e1 Now ignores the RawXML folder inside Max Documentation 2018-10-12 20:56:14 +01:00
James Bradbury 332d8aaca7 py file to create an object category database 2018-10-12 20:54:23 +01:00
James Bradbury 09387ab35d Object Category Database 2018-10-12 20:53:34 +01:00
James Bradbury ea669a0b3f Updated stripping tool for any number of splits 2018-10-12 20:53:04 +01:00
James Bradbury 247b08bfdf python file to create a category database 2018-10-12 19:53:41 +01:00
James Bradbury 97ef1d8144 register write_info method and output xml not txt 2018-10-12 19:39:05 +01:00
James Bradbury f8fdebe89e File containing all framelib objects to produce xml files. 2018-10-12 18:24:53 +01:00
James Bradbury bd012ddc01 Added includes for boost related functions 2018-10-12 17:24:51 +01:00
James Bradbury c82f692cab Properly added method for write_info 2018-10-12 17:10:05 +01:00
James Bradbury b83e2433df Merge branch 'master' of github.com:jamesb93/FrameLib into XML-Documentation 2018-10-12 16:57:35 +01:00
James Bradbury d7b01ac43a Update tutorials 2018-10-12 16:55:39 +01:00
James Bradbury a13ddc47b5 Changed how directories are formed 2018-10-12 16:55:20 +01:00
James Bradbury a71aefad30 Changed how directories are formed in python files 2018-10-12 16:54:54 +01:00
James Bradbury f6b0dee4e4 Removed junk files from package 2018-10-12 16:53:19 +01:00
James Bradbury deaa7ffc81 tutorial xml index updated with proper digest
basic terminology changed to beginner
2018-10-12 16:52:59 +01:00
James Bradbury ac7df7e313 Updated t-lookup now pulls proper digest about tutorial 1 2018-10-12 16:51:13 +01:00
James Bradbury c94a961905 Updated help files 2018-10-12 16:50:43 +01:00
James Bradbury 39fe3ae24e Landing page updated 2018-10-12 16:49:59 +01:00
James Bradbury 46820055fd Moved reference xml files 2018-10-12 16:13:07 +01:00
James Bradbury 75a5eb824d Difficult file 2018-10-12 15:31:17 +01:00
James Bradbury ca69cd95b1 git ignore updated to ignore notes 2018-10-12 15:20:21 +01:00
James Bradbury bebfadd733 Python files moved to Max Documentation folder 2018-10-12 15:18:08 +01:00
James Bradbury 93406613c6 Move keywords python file 2018-10-12 15:14:16 +01:00
James Bradbury 35c82c4c67 Deleted python from old location 2018-10-12 15:10:58 +01:00
James Bradbury 74eff81528 Moved python to new Max Documentation folder 2018-10-12 15:06:52 +01:00
James Bradbury 509b6bee83 write_info function added to Max Class 2018-10-12 15:06:04 +01:00
James Bradbury c9fccbc54b Stop tracking python caches 2018-10-12 14:50:54 +01:00
James Bradbury 9fb2a52b28 Updated .gitignore to ignore python caches 2018-10-12 14:47:23 +01:00
James Bradbury a28fb0b9ef Merge branch 'master' of github.com:AlexHarker/FrameLib into documentation 2018-10-12 14:37:27 +01:00
Alex Harker 96c7e42917 Documentation for Alpha 2.5 2018-10-11 23:50:37 +01:00
Alex Harker 9867dce661 Optionally copy data from first stream when expanding to allow messages before expansion to work 2018-10-11 23:49:40 +01:00
Alex Harker 8280c7e723 More appropriate error reporting 2018-10-11 15:03:35 +01:00
Alex Harker 623002e172 More reliable (but not 100% foolproof) bpatcher traversal 2018-10-11 15:02:45 +01:00
James Bradbury 4baafca6f8 python, tutorials, extras landing page and object lookups 2018-10-11 14:26:11 +01:00
James Bradbury e6443c724d tutorial xml reference for in max docs 2018-10-11 14:24:05 +01:00
James Bradbury 37297e786f old tutorials removed 2018-10-11 14:23:28 +01:00
James Bradbury aecf3ea8fb new tutorials and cleanup 2018-10-11 14:23:07 +01:00
James Bradbury 75c21952da python files for auto-doc generation 2018-10-11 14:22:28 +01:00
James Bradbury 3b92c4f770 Merge branch 'master' of github.com:AlexHarker/FrameLib into documentation 2018-10-11 14:20:11 +01:00
Alex Harker af1f4f0b51 Demo parameter correction 2018-10-10 20:23:10 +01:00
Alex Harker 2b56397e25 FrameLib_Read "mode" parameter is now "interp" 2018-10-10 20:09:37 +01:00
Alex Harker fb32e8f3ca FrameLib_Tag now has a parameter "empty_mode" to set the behaviour with empty frames. 2018-10-10 19:51:59 +01:00
Alex Harker 7ecae5f7fb Serial parameters are now ordered such that the final entry is the one that is used. 2018-10-10 19:51:08 +01:00
Alex Harker 836b7f0df7 Formatting 2018-10-10 19:50:23 +01:00
Alex Harker 59cee27023 Make NaNs compare to greater than inf in order to avoid memory corruption 2018-10-10 17:57:29 +01:00
Alex Harker f9e5617112 Make sure patch traversal for poly~s etc. exits with the correct context patch 2018-10-10 11:43:44 +01:00
James Bradbury 90ff5e94cf Merge branch 'master' of github.com:AlexHarker/FrameLib into documentation 2018-10-05 11:38:10 +01:00
Alex Harker 36e77a40ff Correct parameter types 2018-10-05 00:17:16 +01:00
James Bradbury b7c848d7ea Merge branch 'master' of github.com:AlexHarker/FrameLib into documentation 2018-10-05 00:16:32 +01:00
Alex Harker a51f3c54d9 Fix pd build 2018-10-05 00:15:24 +01:00
Alex Harker 1f12a03f8c Fix linker errors to do with template specialisation of methods (now declared inline) 2018-10-05 00:04:44 +01:00
Alex Harker a17bb32308 Formatting and clean-up 2018-10-04 15:01:29 +01:00
James Bradbury 34108d6cbc Merge branch 'master' of github.com:AlexHarker/FrameLib into documentation 2018-10-04 13:38:22 +01:00
Alex Harker d57ebeaa44 Formatting 2018-10-04 13:21:21 +01:00
AlexHarker 21b29481b7 Merge pull request #22 from weefuzzy/Fix-fl-diff
FrameLib_Binary_Objects: Fix FrameLib_Diff
2018-10-04 13:07:37 +01:00
Owen Green 089fde3695 FrameLib_Binary_Objects: Fix FrameLib_Diff by using absolute difference instead of fdim 2018-10-04 12:39:27 +01:00
Alex Harker b101be0882 Check for no table input with fl.lookup~ 2018-10-04 12:16:23 +01:00
Alex Harker 3048b830fc By default expression inputs should trigger outputs 2018-10-03 23:06:59 +01:00
Alex Harker db2994189d Correct buffer channels in fl.read~ 2018-10-03 22:17:12 +01:00
Alex Harker b36fa634cd Info string empty frames similarly described (issue #77) 2018-10-03 22:01:26 +01:00
Alex Harker 360f9fb40a Info string edits (Issue #78) 2018-10-03 21:39:38 +01:00
James Bradbury c414168a7d abstractions for tutorials 2018-09-10 14:29:33 +01:00
James Bradbury 22113fade6 new tutorials and organisation 2018-09-10 14:29:10 +01:00
James Bradbury 8dea7fcd6d builds object lookup files for tutorials, docs and landing page system 2018-09-10 14:28:51 +01:00
James Bradbury 92f8c350af tutorial cleanup 2018-09-10 14:28:06 +01:00
James Bradbury 169d486ed1 delete junk files 2018-09-10 14:27:24 +01:00
James Bradbury fb5d13be4c updated tutorials 2018-09-10 14:26:36 +01:00
James Bradbury f2225a3556 Modify package-info file 2018-08-18 23:05:29 +01:00
James Bradbury 33b612b0e3 Python file to auto-generate the object lookup.json 2018-08-18 23:05:03 +01:00
James Bradbury b25d4c81ef Removed old dr.max source files 2018-08-18 23:04:34 +01:00
James Bradbury 19e4aa910d Vector objects ref 2018-08-16 16:29:26 +01:00
James Bradbury 1c3365e3e2 Bracket typo 2018-08-13 14:38:25 +01:00
James Bradbury 1af1d21d20 Uniform styling (sallenkey) and storage refs 2018-08-13 13:51:56 +01:00
James Bradbury 2975add7fb Fixed multi-taper typo 2018-08-03 13:56:43 +01:00
James Bradbury c8e55534dd fl.times~ wasn't loading its reference properly. Remade the file. 2018-08-02 10:42:00 +01:00
James Bradbury 66bdec7c96 Extras file
Made all XML's to date part of the FrameLib 'module'
2018-07-29 15:07:20 +01:00
James Bradbury 726d6dbed6 Fixed fl.max~ typo
Added Schedulers XML files.
2018-07-29 14:31:50 +01:00
James Bradbury 7a11820006 Host Communication XML files 2018-07-29 14:09:59 +01:00
James Bradbury 12cbfcbf77 Generators XML files 2018-07-29 13:48:03 +01:00
James Bradbury 155cd47e59 Added XML Filter files 2018-07-29 13:19:33 +01:00
James Bradbury 5d8cb27e19 XML Filter references complete 2018-07-29 13:19:12 +01:00
James Bradbury 591d0028fb took python file out of project 2018-07-28 23:14:29 +01:00
James Bradbury ba6749e5d6 Binary Ops xml references 2018-07-28 23:08:01 +01:00
James Bradbury 513f397f25 major edits of CSS and XLS files to get custom reference formats.
Adopted some Jamoma style formatting for the references to get categories
2018-07-28 19:46:21 +01:00
James Bradbury 57e277a188 Python script now correctly copies files to new location and removes old ones. 2018-07-27 15:13:12 +01:00
James Bradbury d71ec94c94 Multi-stream tutorial draft 2018-07-27 15:02:07 +01:00
James Bradbury b5f501c1c5 Correct streamID typo 2018-07-27 14:16:32 +01:00
James Bradbury 6053c76b8f FFT Tutorial first draft 2018-07-27 13:37:13 +01:00
James Bradbury 8f5cfbba61 Merge branch 'master' of github.com:AlexHarker/FrameLib 2018-07-27 12:16:41 +01:00
Alex Harker 3a17fe9c2c Fixed bug with host proxies keeping track of registered objects incorrectly 2018-07-27 12:00:03 +01:00
James Bradbury 9de3c08f0f Modified tutorial 5
Added an FFT tutorial
Multi-stream FFT tutorial added (possibly will be removed)
2018-07-26 17:33:27 +01:00
James Bradbury d5b2530b44 modification of tutorial sub-patchers (freeze, granulator) and multi-stream tutorial 2018-07-20 13:26:48 +02:00
James Bradbury 42ac63f2ee Cleanup and modified tutorials 2018-07-20 13:25:38 +02:00
James Bradbury 994b629f44 Successfully produced source file that is parsed by doctor max. Python file for updating Package 2018-06-21 16:23:51 +02:00
James Bradbury b54cc63163 added python file for duplicating source files 2018-06-20 12:18:54 +02:00
Alex Harker 68ebf4786e Additional header required 2018-06-19 17:01:39 +01:00
Alex Harker 6007cf478a Formatting 2018-06-19 16:37:45 +01:00
Alex Harker 36b17bae23 Doxygen update / change to @ tags 2018-06-19 11:23:35 +01:00
Alex Harker ed9fc98d97 Simplified serialisation code 2018-06-19 11:23:07 +01:00
Alex Harker 6360ad65d1 Simplified global and context code / prefer references to pointers 2018-06-19 11:22:30 +01:00
Alex Harker 7835542af3 Added brief descriptions for private structures 2018-06-18 22:15:42 +01:00
Alex Harker 3f32ea04aa Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2018-06-18 18:04:29 +01:00
Alex Harker e5aa841909 Source code comments for doxygen 2018-06-18 18:04:20 +01:00
AlexHarker ce967750f8 Merge pull request #20 from jamesb93/master
Added .c source files for auto-generation of package xml data
2018-06-18 18:03:14 +01:00
Alex Harker 41507d719d Doxygen initial descriptions 2018-06-18 16:20:11 +01:00
Alex Harker 6a4d444eee make error handling method private 2018-06-18 16:19:46 +01:00
Alex Harker a665e33583 Delete old function prototype 2018-06-18 16:10:53 +01:00
Alex Harker f56a79021c Asserts now all report threads as needing "joining" not "closing" 2018-06-18 15:57:55 +01:00
Alex Harker 82716c75c0 Use "Non-copyable" rather than "Deleted" for deleted constructor/assignment and place with constructors 2018-06-18 15:56:52 +01:00
Alex Harker 9dba56d995 Replace typedefs with "using" 2018-06-18 15:49:41 +01:00
Alex Harker 6129919729 Update FrameLib_TimeFormat code layout 2018-06-18 15:45:32 +01:00
James Bradbury 48bf71f797 Merge branch 'master' of github.com:AlexHarker/FrameLib 2018-06-18 12:56:23 +02:00
James Bradbury 1997a29cbb Added source files for doctor max referencing. 2018-06-18 12:56:10 +02:00
Alex Harker 237355d70c More accurate time conversions 2018-06-18 11:02:22 +01:00
Alex Harker 485f45283d Typo 2018-06-18 10:35:29 +01:00
Alex Harker 1b31e319a0 Object naming consistency 2018-06-18 10:34:17 +01:00
Alex Harker 5af48600c7 Placed iterator inside the ErrorList rather than the ErrorReport 2018-06-18 10:11:37 +01:00
Alex Harker ae48b49b73 Const-correctness 2018-06-18 09:40:21 +01:00
Alex Harker 6ae90526b2 Update to objects source for unpack/pack and added expression objects 2018-06-18 00:25:35 +01:00
Alex Harker bcf1661e96 Restrucutre error classes for more appropriate nesting 2018-06-18 00:24:30 +01:00
Alex Harker e808bd64d5 Updated memory code using std::atomic approach 2018-06-18 00:21:24 +01:00
Alex Harker d36b0eb05e Reduced framelib-specific code by making using of std::atomic with minimal added template functions, rather than using custom classes 2018-06-17 14:27:33 +01:00
Alex Harker 9312789857 Moved pack and unpack into objects which is more appropriate 2018-06-17 14:26:24 +01:00
Alex Harker ed697aa474 Remove duplicate reference counting in the MaxGlobals class 2018-06-17 12:32:35 +01:00
Alex Harker c3b4b382be Formatting 2018-06-17 12:31:30 +01:00
Alex Harker 77ca8fc75d Layout/comments 2018-06-17 12:30:53 +01:00
Alex Harker 0a0bd99104 Reduce direct calls to T::handlesAudio() in host classes 2018-06-17 12:29:50 +01:00
Alex Harker 559229e635 Style/layout 2018-06-17 12:27:44 +01:00
Alex Harker 2174045983 Code simplification 2018-06-17 12:27:05 +01:00
Alex Harker 9782c7e0a0 Move static strings into a more suitable scope 2018-06-17 12:26:23 +01:00
Alex Harker 7112b70467 Formatting 2018-06-16 22:54:02 +01:00
Alex Harker a43de2f021 Updated root directory docs 2018-06-16 22:48:08 +01:00
Alex Harker 10ff6de1d5 Removed old wrkring docs (now no longer relevant) from the repo (archived in history if necessary) 2018-06-16 22:40:48 +01:00
Alex Harker a0002b2e72 C++11 style-memory management added where appropriate. 2018-06-16 22:06:17 +01:00
Alex Harker 0805f4f1d5 Fixed PD compilation 2018-06-16 16:32:23 +01:00
Alex Harker 52d1b430d2 Remove space before/between '>' characters in (nested) templates and simply Max/PD class creation (including removing inheritance simply for expansion objects) 2018-06-16 16:26:11 +01:00
Alex Harker 3367841ebc Include expression objects in build 2018-06-16 15:13:49 +01:00
Alex Harker 60a92cb344 Consistent use of 'override' and 'final' in object headers, as well as 'using' for template style types to avoid unneeded inheritance 2018-06-16 15:13:30 +01:00
Alex Harker e85464177c Merge branch 'C++11-clean' 2018-06-15 16:15:53 +01:00
Alex Harker b45c04a964 Count arguments from 1 for error reporting 2018-06-15 16:15:33 +01:00
Alex Harker f8393f4783 Silence unwanted errors and remove double-setting of parameters 2018-06-15 16:15:14 +01:00
Alex Harker 7a600ff086 Multichannel is now (more appropriately) multistream 2018-06-15 15:53:00 +01:00
Alex Harker 9c70012900 Use override and final to ensure clarity/avoid override at unwanted levels 2018-06-15 14:20:27 +01:00
AlexHarker c0f83a9f1c Merge pull request #19 from jamesb93/master
Fix some file structure errors and add first 5 tutorials in more complete draft
2018-06-14 22:47:46 +01:00
Alex Harker e45459ec03 Fixed post-increment operators 2018-06-14 21:23:47 +01:00
Alex Harker 3541134be2 Error reporting in Max 2018-06-14 21:22:32 +01:00
Alex Harker 139afc223b Errors can now be accessed using iterators 2018-06-14 21:22:15 +01:00
Alex Harker eab4f6859a Use nullptr rather than NULL 2018-06-14 20:42:26 +01:00
Alex Harker 7a545846c2 Use auto for iterator types 2018-06-14 20:37:04 +01:00
James Bradbury 6ed9c66955 Add new tutorials and fix some file structure errors 2018-06-14 18:15:59 +01:00
Alex Harker 360dc14384 Explicitly delete copy constructors and assignment operators for non-copyable items 2018-06-14 17:30:26 +01:00
Alex Harker 3c2287df3c Use data() to retrieve pointer from std::vector 2018-06-14 17:21:05 +01:00
James Bradbury 8184abc6d0 Merge branch 'master' of github.com:AlexHarker/FrameLib 2018-06-14 16:40:55 +01:00
Alex Harker 30dfaf32a9 Move max proxy to the top of the Max Framelib base class file 2018-06-14 16:29:19 +01:00
Alex Harker ca48a49daa Ensure the framelib max objects with audio hooks report errors through the wrapper, even at load time 2018-06-14 16:28:22 +01:00
Alex Harker d601be16d9 Disable error reporting for parameters being set twice to determine arguments 2018-06-14 16:26:53 +01:00
Alex Harker 98f61dbeb2 Parameter error reporting support 2018-06-14 16:26:22 +01:00
Alex Harker 9b36e0559c Check in DSP objects if the processing queue has timed out and reset when audio resets 2018-06-14 16:25:43 +01:00
Alex Harker 61d2b88951 M|ssing changes to the global object for error reporting 2018-06-14 16:23:11 +01:00
Alex Harker 5989a6b1d8 Add error reporting to the memory and processing queue classes 2018-06-14 16:22:21 +01:00
Alex Harker 2b7faa06ab Updated project for error reporting 2018-06-14 16:20:55 +01:00
James Bradbury a81792d7c0 Update tutorials 2018-06-14 16:20:45 +01:00
Alex Harker 0f07917d90 Added error reporting 2018-06-14 16:20:37 +01:00
James Bradbury 261f130f57 Merge branch 'master' of github.com:AlexHarker/FrameLib 2018-06-14 14:44:16 +01:00
Alex Harker fc0098b914 Deleted unused file 2018-06-14 12:31:56 +01:00
Alex Harker 3e284e0c0b Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2018-06-14 12:31:34 +01:00
Alex Harker 40a0e78ee6 Moved FrameLib_Proxy to FrameLib_Types.h 2018-06-14 12:31:08 +01:00
James Bradbury ffba4288e6 Set up of packages folder. 2018-06-13 15:38:53 +01:00
AlexHarker d66f4da226 Merge pull request #18 from jamesb93/master
Added help files to repo
2018-06-13 09:21:30 +01:00
James Bradbury 8245a7bb50 Draft of first three tutorials 2018-06-12 21:19:49 +01:00
James Bradbury a8db76f826 Added help files to repo 2018-06-12 17:36:59 +01:00
Alex Harker d681518121 Added parameter input for lookup object 2018-06-11 20:26:07 +01:00
Alex Harker f2f2503dda Formatting 2018-06-11 20:20:34 +01:00
Alex Harker ff46e339ee Operator list can't (as it shouldn't) be copied. 2018-06-11 16:05:29 +01:00
Alex Harker cd7e43d5c4 Updated read me 2018-06-11 15:08:47 +01:00
Alex Harker 8552417cda Include not equals comparison for the fixed point number format to fix scheduler crashes under rare conditions 2018-06-10 14:32:02 +01:00
AlexHarker 7d1d8f451f Merge pull request #17 from weefuzzy/ClipFoldWrapDoc
Doc strings for Clip,Fold,Wrap
2018-06-09 06:40:32 +01:00
Owen Green e3eff02bac Doc strings for Clip,Fold,Wrap 2018-06-08 11:21:40 -04:00
Alex Harker db9d031242 Updated readme 2018-06-08 13:58:37 +01:00
Alex Harker f771c2ab80 Support for complex number input, mismatch modes and setting trigger inputs on the expression objects 2018-06-08 12:47:47 +01:00
Alex Harker 6bb4d78ed2 Separate numeric conversion method to allow specialization 2018-06-08 12:46:55 +01:00
Alex Harker 1ceccad21a Safety for vector copying utilities 2018-06-08 12:46:25 +01:00
Alex Harker 1a84509222 Updated XCode project 2018-06-07 10:29:49 +01:00
Alex Harker 5c66a9e0f2 Mistmatch modes now supported by FrameLib_Expression 2018-06-07 10:23:33 +01:00
Alex Harker 25a9458555 Safety when lo > hi for ternary objects 2018-06-07 10:22:50 +01:00
Alex Harker 14c0f44faa Not equals renaming restored 2018-06-07 09:48:29 +01:00
Alex Harker 7226b6e06c Formatting 2018-06-07 09:45:06 +01:00
Alex Harker 3f02365c75 Formatting 2018-06-07 09:44:40 +01:00
Alex Harker efdcfa55ba Moved vector copying utilities to framework and made the ternary objects safer in terms of memory management 2018-06-06 22:20:15 +01:00
Alex Harker b3ad1d28f6 Merge branch 'expression' 2018-06-06 21:51:42 +01:00
Alex Harker b0b0eeda0b Updated XCode project 2018-06-06 21:51:27 +01:00
Alex Harker 06279200bb Updated expression object files, including complex objects 2018-06-06 21:51:00 +01:00
Alex Harker 3d5be2641b Change default compile to be AVX1.0 (not AVX 2.0) to prevent crashing older macs, and as the code never explicitly makes use of AVX2.0 2018-06-06 14:16:16 +01:00
Alex Harker 925dc90289 Renaming of not equals object 2018-06-06 14:12:04 +01:00
Alex Harker 5ea195696f Ternary code layout and formatting 2018-06-06 14:08:08 +01:00
Alex Harker 74ad205339 Reworked expression to separate parsing from items fully and renamed to FrameLib_ExprParser and the max object to fl.expr~ 2018-06-06 13:59:36 +01:00
Alex Harker 77579540fc Merge branch 'master' into expression 2018-06-06 09:48:39 +01:00
Alex Harker 5d75d5011d Deleted no longer relevant comment 2018-06-05 21:18:46 +01:00
Alex Harker b556805a9e Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2018-06-05 20:43:13 +01:00
Alex Harker 1767d75d88 Ternary object formatting and simplification 2018-06-05 20:42:07 +01:00
Alex Harker 30843cc555 Formatting 2018-06-05 20:41:28 +01:00
Alex Harker 1d34efa421 Working expression graph object 2018-06-05 14:55:03 +01:00
AlexHarker 95e094ad34 Merge pull request #15 from jamesb93/master
Typos and init mappings.
2018-06-05 14:50:51 +01:00
James Bradbury 90c758b7d8 init files adjusted to reflect fl.notequals~ 2018-06-05 14:44:57 +01:00
James Bradbury 5ed07f6420 Typo in fl.now~ info call. 2018-06-05 14:42:04 +01:00
Alex Harker 14a3b624eb PD Ternary object argument correction and formatting 2018-06-05 00:29:52 +01:00
Alex Harker d35576036c Corrections for naming of the fl.notequals~ object 2018-06-04 20:34:24 +01:00
jamesb93 a9fcf65e27 remote test 2018-06-04 13:43:26 +01:00
James Bradbury 3b28227acc test file 2018-06-04 13:42:52 +01:00
Alex Harker 16ab7e8c01 Formatting 2018-06-04 00:49:10 +01:00
Alex Harker 63ca4d7bbd Demo file typo 2018-06-02 11:04:45 +01:00
Alex Harker 644f57e0b9 Typo in user documentation 2018-06-01 17:50:28 +01:00
Alex Harker deadea4daf Updates for Alpha 2.0 (documentation project etc.) 2018-06-01 15:06:43 +01:00
Alex Harker 76a2462bc4 Removed enum class approach from Nan Filter object 2018-06-01 15:01:15 +01:00
Alex Harker 28cebc4359 Update pd makefile 2018-06-01 14:57:39 +01:00
Alex Harker 2cb269835f Added the reverse object to the pd build 2018-06-01 14:57:00 +01:00
Alex Harker 3853825d60 Comment typos 2018-06-01 14:54:10 +01:00
Alex Harker c4bc88f6bd Reliable context patcher detection 2018-06-01 10:46:24 +01:00
Alex Harker 23a989c722 Condense code 2018-05-30 22:38:28 +01:00
Alex Harker 1058c64b1c Comment formatting 2018-05-30 18:35:11 +01:00
Alex Harker f0c08c4379 Better poly~/pfft~ etc. safety part 1 (abstractions nested in a poly~/pfft~ are still an issue) 2018-05-30 18:33:09 +01:00
Alex Harker a2b98d3316 Corrected method return type 2018-05-30 18:29:01 +01:00
Alex Harker 3a4f8c1cf8 Construct and correctly manage a correct patcher hierarchy when wrappers are involved 2018-05-30 13:59:42 +01:00
Alex Harker 81260959d9 Provision for parentpatcher calls 2018-05-30 13:56:53 +01:00
Alex Harker dec4016181 SIMD Support bug fix It is quite important that constructors construct the contents of a struct and that loads are actually used 2018-05-29 23:52:36 +01:00
Alex Harker 6e9f1b992b Fix crash with padding mode in FrameLib_Shift 2018-05-28 10:32:28 +01:00
Alex Harker 7a8a819c40 Added description string for centroid object and correct text for median filter 2018-05-27 16:17:21 +01:00
Alex Harker e5f5c6eb74 Updated fl.sink~ parameter naming 2018-05-26 21:07:39 +01:00
Alex Harker c8daff5553 Correct fl.nanfilter~ object name in scheme 2018-05-26 20:45:24 +01:00
Alex Harker dbadcbb743 Documentation object name update 2018-05-26 20:43:49 +01:00
Alex Harker 00cc9b6eec Remove debug code 2018-05-26 20:43:22 +01:00
Alex Harker 4159c6352e Fixed mispelling in info text 2018-05-26 18:11:42 +01:00
Alex Harker 8241e15a7d Guard against zero length inputs for FrameLib_Gaussian 2018-05-26 17:19:46 +01:00
Alex Harker 6b7549d36c Reworked demangling of function types to remove excess for direct code use 2018-05-26 15:21:22 +01:00
Alex Harker ba1b0e4b89 Updated build systems for new nan filter object 2018-05-18 15:10:19 +01:00
AlexHarker 04d65bbb18 Merge pull request #10 from weefuzzy/NanFilter
Nan Filtering
2018-05-18 15:01:01 +01:00
AlexHarker b8303bac99 Merge pull request #11 from weefuzzy/AddEpilsonToConstant
Adding epsilon to FrameLib_Constant PR
2018-05-18 15:00:26 +01:00
Owen Green b11232e51a Branch for adding epsilon to FrameLib_Constant PR 2018-05-18 11:35:00 +01:00
Owen Green 70b130ebfb Branch for NanFilter pull request 2018-05-18 11:27:14 +01:00
Alex Harker 5c89a93f51 Avoid undefined operation 2018-04-12 21:14:46 +01:00
Alex Harker 6a47b0a7e1 Delete test code 2018-04-12 21:12:49 +01:00
Alex Harker 3e85ae0033 Use modern buffer~ access routines, as framelib is already Max 6.1 onwards only due to 64bit DSP 2018-04-12 19:57:21 +01:00
Alex Harker 1b0c85635f Upgrade XCode schemes and project to remove project-related warnings 2018-04-12 19:24:21 +01:00
Alex Harker 740485f887 Corrected comma to a semicolon 2018-04-12 19:05:17 +01:00
Alex Harker 084c10d33a Overhaul of compiler settings and config system 2018-04-12 18:57:11 +01:00
Alex Harker 1b817a6298 Silence warnings about compiler settings from XCode and OG 2018-04-12 12:23:06 +01:00
Alex Harker 214d01cf58 Avoid warnings about illegal characters in Info.plist 2018-04-11 13:35:25 +01:00
Alex Harker ad0e9123e6 Don't deference a vector pointer that is NULL 2018-04-11 13:06:51 +01:00
Alex Harker 1475f0d75f Correctly swap vectors (pass back out as a return value for clarity, rather than passing a pointer by reference) 2018-04-11 00:02:54 +01:00
Alex Harker 63de117600 REsolve graph before doing a code export when audio is off 2018-04-09 11:34:25 +01:00
Alex Harker cf702b6682 The serial free list is now semantically sound and safe 2018-04-09 10:36:48 +01:00
Alex Harker ea31834bdb Safer queue code part 1 2018-04-08 22:56:03 +01:00
Alex Harker 6e92262d50 Fixes (including temporary changes) for C++ export 2018-04-08 22:46:44 +01:00
Alex Harker a7d8a210c0 Stylistic changes for the reversal object (and renaming as fl.reverse~) and updates to builds/schemes 2018-04-08 19:07:17 +01:00
Alex Harker 2586f0c4f0 Added james bradbury's fl.rev~ 2018-04-08 17:17:19 +01:00
Alex Harker 3347f5fec3 Substantially reworked host communication to allow one proxy to target different objects using automatic indexing 2018-04-08 14:05:59 +01:00
Alex Harker c950a78017 Added some more constructors for more convenient copying 2018-04-08 14:04:15 +01:00
Alex Harker debde64b86 Allow stream aware objects to be informed of their owning object, as well as the stream they deal with 2018-04-08 00:51:00 +01:00
Alex Harker 2fc2b02c81 Update the export to include a reset method 2018-04-07 17:03:37 +01:00
Alex Harker 1378645918 Correct AVX2 flag via the config file (for all targets) 2018-04-07 14:59:58 +01:00
Alex Harker f2a64a6b71 Set the whole project into AVX2 2018-04-07 14:53:46 +01:00
Alex Harker 9ee2aaf2cf Correct cast 2018-04-07 14:52:26 +01:00
Alex Harker b48a71ad97 Correct warnings seen as errors by XCode in stringent mode 2018-04-07 14:51:35 +01:00
Alex Harker 9333cccc5f Correctly make outlet for a variety of messages on fl.tomax~ 2018-04-06 23:43:57 +01:00
Alex Harker a9d37f2001 Add codeexport (export) call to pd 2018-04-06 22:52:35 +01:00
Alex Harker ee7cab8d11 Project and scheme clean-up 2018-04-06 19:21:17 +01:00
Alex Harker ad8f998e2d Updated .gitignore 2018-04-06 18:40:01 +01:00
Alex Harker ec944a12ad Updated buffer reading to use a proxy 2018-04-06 18:39:45 +01:00
Alex Harker 1f23cfe51a Remove headers from max host communication objects and place in the cpp files 2018-04-06 16:15:26 +01:00
Alex Harker e4172beae4 Input frame types 2018-04-06 01:38:27 +01:00
Alex Harker 1ac6d606ba Use underscores in folder names not spaces 2018-04-06 01:38:07 +01:00
Alex Harker 1584f54ac7 Naming 2018-04-06 01:14:34 +01:00
Alex Harker 87346638ab Bug fixes for code export 2018-04-06 01:13:38 +01:00
Alex Harker 94d5f46a2b Bug fixes for fl.tomax~ 2018-04-06 00:08:32 +01:00
Alex Harker f289e9ee99 Substantial overall of host<->FrameLib communication 2018-04-05 23:53:06 +01:00
Alex Harker 61fc0fda66 Remove unnecessary casts 2018-04-04 22:27:57 +01:00
Alex Harker c0d9649a06 Disallow copying for SpinLockHolder 2018-04-04 22:03:31 +01:00
Alex Harker c5ec8b4315 Error checking and reporting for code export 2018-04-04 22:02:47 +01:00
Alex Harker b9a38c3e65 Const correctness 2018-04-04 22:02:07 +01:00
Alex Harker e486be0aee Max paths are now correctly resolved for export 2018-04-04 01:27:46 +01:00
Alex Harker cff0fb44d1 The class name is now variable for C++ export 2018-04-04 01:23:56 +01:00
Alex Harker 0e381de2a2 C++ code export is now functional / small updates to the param alias class 2018-04-03 22:44:27 +01:00
Alex Harker 74d33dd7bc More getInput() compliance 2018-04-03 22:39:26 +01:00
Alex Harker 3490c3339f Whitespace 2018-04-03 21:35:59 +01:00
Alex Harker 812f50f55d Allow fixed inputs to be inspected from outside objects for serialisation purposes 2018-04-03 21:15:53 +01:00
Alex Harker 12030bf867 Correct convolution tools to compile whatever the level of vector support and add to pd 2018-04-02 11:19:00 +01:00
Alex Harker 31ec37563e Reconnected imaginary amplitude 2018-03-28 21:13:07 +01:00
Alex Harker c13c852453 Update header file naming in includes 2018-03-28 11:00:30 +01:00
Alex Harker 4a5bba6804 More FrameLib-style formatting 2018-03-28 10:43:48 +01:00
Alex Harker 5e1d86a1e7 Build almost all of framelib for pd, added preliminary makefile and ignore object files when built 2018-03-28 10:19:04 +01:00
Alex Harker db92786ebd Use a namespace to avoid name conflicts for now 2018-03-28 10:04:49 +01:00
Alex Harker fd37b166d6 Added STL include <vector> 2018-03-28 10:00:19 +01:00
Alex Harker 3e24fd96a8 Fixed pd_buffer to store the pointer correctly and retrieve at the correct precision 2018-03-28 09:56:47 +01:00
Alex Harker 0c577455d8 Corrected pd argument template stuff 2018-03-28 09:56:03 +01:00
Alex Harker 8898259559 FrameLib-style code formatting 2018-03-28 09:54:47 +01:00
Alex Harker 99330d8aca Use static functions to avoid naming conflicts 2018-03-28 03:03:52 +01:00
AlexHarker 27f7ef013c Merge pull request #8 from weefuzzy/master
Rename argsAllInputs to argsMode, fix distribute mode to include offs…
2018-03-28 00:55:52 +01:00
Alex Harker 78c773e091 Threading improvements - better memory ordering under linux and correct headers so threading compiles for Mac whatever the OS version 2018-03-28 00:53:47 +01:00
Alex Harker f10663e80c Updated the XCode project due to path changes 2018-03-27 23:51:45 +01:00
Alex Harker 87fc06c568 More pd bug fixes - iterate over canvas in the dsp routine and only call relevant objects and test correctly for tags/symbols 2018-03-27 23:51:12 +01:00
Alex Harker 368f0f504b Insert correctly offset values to the median filter 2018-03-27 23:49:53 +01:00
Alex Harker d5a21177b5 Removed spaces in folder names and some more random generator cross-platform work 2018-03-27 16:54:09 +01:00
Alex Harker bc7f12d4b1 Only edit signal storage if we are using signals 2018-03-27 16:40:29 +01:00
Owen Green f8acffbe01 Rename argsAllInputs to argsMode, fix distribute mode to include offset to 2nd inlets onwards so that parameters turn up where expected. 2018-03-27 16:35:40 +01:00
Alex Harker 0cae0fea51 Typo 2018-03-27 16:26:36 +01:00
Alex Harker 3e2df7ef2e Make fl.samplerate~ for pd 2018-03-27 16:24:50 +01:00
Alex Harker c39bb188f7 Extra brackets 2018-03-27 16:21:03 +01:00
Alex Harker 059ff08af2 Rewrite random seeding for linux 2018-03-27 16:20:05 +01:00
Alex Harker 4c0fadd01a Everything that is not mac is not windows 2018-03-27 16:11:09 +01:00
Alex Harker e90d7c0838 Support aligned malloc on linux 2018-03-27 16:04:08 +01:00
Alex Harker bd57ea3157 Added more objects to framelib pd including a buffer reader! 2018-03-27 15:50:25 +01:00
Alex Harker 857e3a909a Correct typo 2018-03-27 14:45:52 +01:00
Alex Harker 186b7b7a90 Offset proxy indices correctly 2018-03-27 14:44:43 +01:00
Alex Harker cf10c4e0ce Make the correct number of proxies and inlets 2018-03-27 14:41:21 +01:00
Alex Harker 1fd3094de9 Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2018-03-27 12:14:52 +01:00
Alex Harker 985e0b7d37 Fix the signal setups 2018-03-27 12:13:59 +01:00
Alex Harker cb0e2209dc Correct proxy setup and usage 2018-03-27 12:11:40 +01:00
Alex Harker 7d84bb0b72 Fix the pd base to create the correct number of signal inlets 2018-03-27 12:10:10 +01:00
Alex Harker 038ee8574d Move reference counters to be private 2018-03-27 09:02:19 +01:00
Alex Harker 9d0d4dd566 Corrected bugs in the median filter at the edges of the sorting, and create some small speed ups for inputs with many common values 2018-03-27 01:28:33 +01:00
Alex Harker 006ec217af Make the proxy class 2018-03-26 19:17:29 +01:00
Alex Harker a7e5aa6154 Typo 2018-03-26 19:08:34 +01:00
Alex Harker 6498eb09ec Corrected scoping issue 2018-03-26 19:08:02 +01:00
Alex Harker 8768caf690 Use sem_getvalue correctly, and hope that this time I've understood it... 2018-03-26 19:07:19 +01:00
Alex Harker bf46a75e5f Call sem_post until it tells us that it has not succeeded or no threads are waiting. 2018-03-26 19:00:39 +01:00
Alex Harker 9e946aa656 Attempt to get the correct number of waiting threads on linux 2018-03-26 18:51:56 +01:00
Alex Harker eb1ed786ac Corrected type 2018-03-26 18:45:06 +01:00
Alex Harker 647da1ea37 Typo 2018-03-26 18:44:38 +01:00
Alex Harker bc005fe8b3 Close semaphores correctly on linux (untested) 2018-03-26 18:43:54 +01:00
Alex Harker c2407be076 Don't call pd_Free on NULL pointers 2018-03-26 18:34:10 +01:00
Alex Harker 275d549be3 Get the correct symbol for the entry point for PD 2018-03-26 18:24:08 +01:00
Alex Harker 15986dc894 Get rid of complaints about literal strings passed as char* 2018-03-26 17:20:58 +01:00
Alex Harker a8f018558f Starting point for framelib pd building in one file 2018-03-26 17:04:40 +01:00
Alex Harker a3429cab76 Copy audio to temporary doubles for pd 2018-03-26 17:04:11 +01:00
Alex Harker 12e82bff7d Remember to pass the vector size 2018-03-26 15:47:06 +01:00
Alex Harker 9fded7fc2f Fixed signal vector setup and storage in PD 2018-03-26 15:42:21 +01:00
Alex Harker c5cd46800e PD Hacking towards framelib in pd (unsynced) 2018-03-26 15:33:39 +01:00
Alex Harker 2685de4829 Initial PD and serialisation commits 2018-03-26 10:19:12 +01:00
Alex Harker f0c5c0e80e Formatting 2018-03-25 22:14:43 +01:00
Alex Harker af0a0f536b Include previously ignored binaries 2018-03-25 22:14:14 +01:00
Alex Harker 3ff05c9a3a Fix memory barrier call on linux 2018-03-23 14:45:49 +00:00
Alex Harker c301e422cc Define NULL on linux 2018-03-23 14:43:58 +00:00
Alex Harker aba74b1eae Threading implementation on Linux 2018-03-23 14:37:13 +00:00
Alex Harker 623a90637e Fixed 64 bit int types 2018-03-23 14:29:26 +00:00
Alex Harker f3822a67a2 Fix calls to atomic_compare_exchange_strong 2018-03-23 14:26:13 +00:00
Alex Harker e613114bb4 Fix missing std:: namespaces 2018-03-23 14:17:45 +00:00
Alex Harker 3f6fe8265b Linux threading OS-specific part 1 2018-03-23 14:16:34 +00:00
Alex Harker 12ef2ebdf9 Header include formatting in the framework 2018-03-23 13:53:47 +00:00
Alex Harker b184af9f79 2D Median Filter 2018-03-22 14:51:49 +00:00
Alex Harker 12207c659b Stochastic Freeze included 2018-03-22 14:42:06 +00:00
Alex Harker 618ad236ee Merge branch 'master' of https://github.com/AlexHarker/FrameLib 2018-03-21 12:27:12 +00:00
Alex Harker 4a92d5e047 Parameter aliasing now allows arguments 2018-03-21 12:09:58 +00:00
Alex Harker df2fa6f854 Updated the parameter aliasing to allow constructor parameter aliasing and rolling the core aliasing code into Serial::Iterator 2018-03-21 09:37:00 +00:00
Alex Harker d2a2e7759f Formatting 2018-03-17 11:33:06 +00:00
Alex Harker b69932c377 Fix iterstor starting index 2018-03-17 11:32:44 +00:00
Alex Harker f0ff6e4521 Fixed bugs concerning the translation of parameters from connected objects 2018-03-17 00:24:49 +00:00
Alex Harker afd8256ab8 Fixed bug in which FrameLib_Parameter::mNumTags was uninitialised 2018-03-17 00:23:58 +00:00
Alex Harker 7c0b9d7b70 Typo 2018-03-17 00:23:09 +00:00
Alex Harker 2f02e76b96 Initial parameter aliasing work 2018-03-16 17:15:31 +00:00
Alex Harker 030ca4d508 FrameLib_Parameters::Serial is now aware of how many tags it contains 2018-03-16 17:15:07 +00:00
Alex Harker 5754fbeec3 Minor formatting and type corrections 2018-03-16 17:14:21 +00:00
Alex Harker 51b42b9e86 Formatting 2018-03-16 17:07:29 +00:00
Alex Harker a309adf1a4 Objects can now compile output dependency lists per output 2018-03-16 17:06:50 +00:00
Alex Harker 431b41538c Simplified parameter objects using new additive model for requesting output sizes 2018-03-16 17:06:13 +00:00
Alex Harker 43950aef63 Fixed parameter info typo 2018-03-16 17:02:19 +00:00
Alex Harker ea7f0a6d15 Allow cumulative output size requests 2018-03-16 17:01:39 +00:00
Alex Harker 386544e475 Added the ability to update buffer of fl.read~ in realtime 2018-03-16 17:01:04 +00:00
AlexHarker 4f71533b31 Merge pull request #6 from weefuzzy/WrapFoldClip
Wrap fold clip
2018-03-14 13:19:26 +00:00
Owen Green 58cb4f2833 Make it so function actually returns a value, works better that way 2018-03-09 16:41:53 +00:00
Owen Green 1408d48e02 Updated targets for wrap, clip & fold 2018-03-09 16:22:05 +00:00
Owen Green f2d0a9fb43 Wrap, Clip, Fold max objects 2018-03-09 16:21:29 +00:00
Owen Green ea8044eae5 Adding clip wrap and fold objects from other branch 2018-03-09 16:01:38 +00:00
AlexHarker 4042ea36b9 Merge pull request #2 from weefuzzy/MaxObjectUpdatesForArgHandling
Updates to Max objects affected by argument handling change
2018-03-05 23:55:13 +00:00
AlexHarker 8929f05f97 Merge pull request #1 from weefuzzy/MaxClassTemplateArgHandling
Changes to Max Class template
2018-03-05 23:54:29 +00:00
Alex Harker 0e928e77de Add the missing files for OG 2018-02-02 15:24:17 +00:00
Owen Green d38ff118d4 Updates to Max objects affected by argument handling change 2018-02-01 22:53:51 +00:00
Owen Green 335bb12e6d Changes to Max Class template to handle distributing arguments across inputs 2018-02-01 22:21:52 +00:00
Alex Harker 732558f2cb Corrected call to static function 2018-02-01 12:33:23 +00:00
Alex Harker cff3336b59 Added fl.argmin~ and fl.argmax~ from Owen Green 2018-01-25 10:39:39 +00:00
Alex Harker d685bd7c6a Corrected median filter wrap mode 2018-01-18 22:23:31 +00:00
Alex Harker 9b945e618b Corrected typo 2017-12-26 15:46:46 +00:00
Alex Harker e0dbb2dad3 Added indices sort 2017-12-26 15:46:30 +00:00
Alex Harker 90d530cf9a Updated to latest ibuffer and related codebases 2017-12-26 15:09:19 +00:00
Alex Harker 17c5e78641 Ironed out possible warnings in a object and framework code 2017-12-12 18:25:28 +00:00
Alex Harker 9842af6641 Corrected angle brackets to quotes. 2017-12-12 17:55:19 +00:00
Alex Harker 64df5bbd29 Stop XCode being moany about stupid things 2017-12-12 17:52:46 +00:00
Alex Harker 2a863992e1 Const-correctness 2017-12-04 21:01:16 +02:00
Alex Harker f3e392d99b Reinstated correct probing using internal syncing approach (ideally the wrapper would be removed, but this works for now) 2017-12-01 12:39:25 +00:00
Alex Harker 4f0993f008 Stop the compiler complaining about variable use uninitialised 2017-12-01 12:27:28 +00:00
Alex Harker 427d77a5af Corrected scaling in ramp and added it to lookup 2017-12-01 12:26:30 +00:00
Alex Harker b04b3c5f61 Efficiency and refactoring 2017-11-20 22:16:40 +00:00
Alex Harker 14e5ffd0ca Full convolution and correlation support 2017-11-20 17:58:26 +00:00
Alex Harker 889b4455ac Info strings 2017-11-18 22:55:53 +00:00
Alex Harker 9a3f980659 New convolve and correlate joint support 2017-11-18 22:25:09 +00:00
Alex Harker 17427a4bff Enum Corrections 2017-11-18 22:24:39 +00:00
Alex Harker ae6aa2557d Refactoring 2017-11-15 11:45:20 +00:00
Alex Harker 537d0f599c Fixed complex FFT code 2017-11-14 11:00:10 +00:00
Alex Harker d294beab42 Complex binary objects part 2 2017-11-14 10:59:49 +00:00
Alex Harker 6be806f13b Added complex binary objects 2017-11-14 10:59:31 +00:00
Alex Harker 58ffda97a7 Added complex unary objects 2017-11-13 12:31:13 +00:00
Alex Harker ae869b0e09 Exponetially weighted moving average/standard deviation 2017-11-12 22:27:24 +00:00
Alex Harker f18c4fc206 Added the gaussian object 2017-11-12 20:30:57 +00:00
Alex Harker 5cd68cd764 Documentation for time-based buffer objects 2017-11-12 17:47:41 +00:00
Alex Harker 6feb682dce Reorganisation and naming of time buffer objects 2017-11-12 01:31:00 +00:00
Alex Harker 9fbfb03cd6 Corrected trace info strings 2017-11-11 22:54:47 +00:00
Alex Harker 09f4922509 Improvements to the time smoothing and related objects and templates 2017-11-11 18:05:26 +00:00
Alex Harker 20856a2825 Corrected variance 2017-11-11 18:04:43 +00:00
Alex Harker c1dc9ad3c0 Audio input const-correctedness 2017-11-11 13:06:56 +00:00
Alex Harker 436aeb8d4c Added lag objects and reworked time smoothing code 2017-11-10 12:40:52 +00:00
Alex Harker 487c3d00b8 Zero the ordering vector correctly 2017-11-09 23:11:28 +00:00
Alex Harker 077b329f02 Build portability 2017-11-09 22:49:47 +00:00
Alex Harker 4689ee67a2 Preliminary time smoothing work 2017-11-09 21:47:25 +00:00
Alex Harker ab393f85e7 Note to FIX later 2017-11-09 13:36:42 +00:00
Alex Harker 5a0476b36e Privacy correction 2017-11-09 13:36:14 +00:00
Alex Harker fc3a68a388 Const correctedness 2017-11-09 13:35:16 +00:00
Alex Harker 49d8f17495 Corrected the copying of fixed inputs 2017-11-08 12:36:06 +00:00
Alex Harker 995fe86d69 Corrected the percentile object 2017-11-08 11:29:11 +00:00
Alex Harker 9cd7c48e98 Minor formatting 2017-11-07 23:02:24 +00:00
Alex Harker d1dff1ccbb Corrected the length object to report zero length frames 2017-11-07 22:56:57 +00:00
Alex Harker 565fa41e88 Corrected multitaper file naming 2017-11-07 22:09:26 +00:00
Alex Harker c70c0fbeef Corrected fl.*~ info string 2017-11-07 17:42:11 +00:00
Alex Harker 9c79b8da06 Corrected trigger inputs on the "clever" granular synthesis patch 2017-11-07 17:41:34 +00:00
Alex Harker bbf4df2363 Added more demos 2017-11-07 13:07:22 +00:00
Alex Harker ca8f5e4d1f Documentation 2017-11-07 13:01:39 +00:00
Alex Harker 78db92218e Timing object corrections. 2017-11-07 13:01:15 +00:00
Alex Harker b7be60576f Safer count detection in the max wrapper 2017-11-07 13:00:56 +00:00
Alex Harker ef0f1536b8 Project organisation 2017-11-07 13:00:34 +00:00
Alex Harker 5f806b219b Removed FIX tags 2017-11-07 11:23:12 +00:00
Alex Harker 3f3dc97a6e Updated demos 2017-11-06 19:11:59 +00:00
Alex Harker 0692cf1de3 Support for source input delay and more intelligent parameter naming for IO objects 2017-11-06 19:02:11 +00:00
Alex Harker 175f853167 Support for units for generator lengths 2017-11-06 19:01:18 +00:00
Alex Harker b7c6764590 Included content based spatial granular synthesis demo again 2017-11-06 18:59:51 +00:00
Alex Harker 5b4e8ec2d5 Formatting 2017-11-06 18:59:14 +00:00
Alex Harker a74b89fec1 Corrected comment 2017-11-06 18:35:06 +00:00
Alex Harker 78e3e13ba9 Timers give empty frames if there is no valid time to report 2017-11-06 18:34:57 +00:00
Alex Harker 6b5c610bb0 Parameter objects renamed 2017-11-06 18:16:39 +00:00
Alex Harker 8ef9883cbd The trace object now supports different modes 2017-11-06 18:00:22 +00:00
Alex Harker c9a814c3ae Removed "object" from parameters when describing parameters that set IO count 2017-11-06 18:00:05 +00:00
Alex Harker d9d61b26ae C++ style casting 2017-11-06 16:36:25 +00:00
Alex Harker a6dd1482b7 Count is now ramp 2017-11-06 16:35:56 +00:00
Alex Harker 99e548fac8 Updated demos 2017-11-06 12:15:34 +00:00
Alex Harker a52456a482 Renamed channel object to streamid 2017-11-06 11:59:29 +00:00
Alex Harker 18bab2ffb6 Added missing proxy method 2017-11-06 11:59:15 +00:00
Alex Harker c0921664b4 Enforced threadsafety for storage 2017-11-06 11:43:36 +00:00
Alex Harker 1492435037 Updated some demos in line with object changes 2017-11-06 11:31:12 +00:00
Alex Harker 386f8f1e37 Routing objects now index from 1 2017-11-06 11:30:55 +00:00
Alex Harker 4bc2d2d31e Fixed bugs when no valid input 2017-11-06 10:55:20 +00:00
Alex Harker 075b365031 Corrected output type setting 2017-11-06 10:48:31 +00:00
Alex Harker 37910985c4 Updated output type support and added support for both frame types to store and recall 2017-11-06 10:44:08 +00:00
Alex Harker 92679fe312 Allows store time, even if there is no output possible 2017-11-05 19:51:47 +00:00
Alex Harker 524ac98d39 Fixed uniform object arguments 2017-11-05 18:22:02 +00:00
Alex Harker aaeccc06a0 Fixed generator arguments and added the uniform object 2017-11-05 18:16:25 +00:00
Alex Harker e77b885eea Better defaults for generators 2017-11-05 18:01:20 +00:00
Alex Harker 11940d1cef Corrected current lookup modes 2017-11-05 18:01:11 +00:00
Alex Harker 0b920ccb9f Register now supports both frame types 2017-11-05 15:22:05 +00:00
Alex Harker 6fd0a5ebc0 Safer input to output copying 2017-11-05 15:21:48 +00:00
Alex Harker f90cb9858e Corrected test for max object proxy creation 2017-11-05 15:14:47 +00:00
Alex Harker 9ca840c80d Consistent use of setParameterInput / addParameterInput and new parameters for output objects 2017-11-05 14:17:54 +00:00
Alex Harker becdf9eee2 Removed extra inputs for max objects that handle audio 2017-11-05 14:17:12 +00:00
Alex Harker 5fd5a0a136 Fixed size for iterator 2017-11-05 14:16:37 +00:00
Alex Harker c03e8038d1 Refactoring 2017-11-04 16:51:33 +00:00
Alex Harker 706ef6dea5 Added filter param object 2017-11-04 16:35:33 +00:00
Alex Harker 820c1ecc5f Added support for serialising parameters from iterators 2017-11-04 16:28:49 +00:00
Alex Harker f7b0e3fbcb Finished iterator support for parameters 2017-11-04 15:45:01 +00:00
Alex Harker c8f2596306 Changed stream expansion syntax 2017-11-03 09:59:55 +00:00
Alex Harker de787b714d Parameter serial iterator support 2017-11-03 09:59:41 +00:00
Alex Harker 60d20af110 New parameter objects and improvements to the existing setparam object 2017-11-02 12:08:50 +00:00
Alex Harker 464b502a38 Support for finding and copying selected tags from a serialised set of parameters 2017-11-02 12:08:20 +00:00
Alex Harker cecb500cab Parameter->Serial support part 2 2017-11-01 17:49:58 +00:00
Alex Harker c372eeb28b Added support for writing a set of parameters back to serial form 2017-11-01 17:41:45 +00:00
Alex Harker 67a8f0b18a Improved documentation for atan2 object 2017-11-01 15:52:07 +00:00
Alex Harker f89848fc5f Clean-up from extra wrapping items in the Max class 2017-10-31 17:09:22 +00:00
Alex Harker 0d5eccff87 Overhauled max wrapper to remove the need for wrapping and explicit manual synchronisation (use Z_PUT_FIRST / LAST instead) 2017-10-31 16:55:11 +00:00
Alex Harker 8fb76bbd93 Corrected parameter input info method (perviously just infinite recursion) 2017-10-31 12:02:08 +00:00
Alex Harker 49860706e8 Sorted parameter info for all supporting objects. 2017-10-31 11:30:21 +00:00
Alex Harker c9a941cc65 Changes to fl.ticks~ and added fl.nonzero~ 2017-10-31 11:08:55 +00:00
Alex Harker a9239b1194 Build clean-up and added fl.ticks~ objects 2017-10-30 17:11:40 +00:00
Alex Harker c415f15f39 Improved build system 2017-10-30 12:48:13 +00:00
Alex Harker 3ce0100f60 Parameter input for fl.read~ 2017-10-30 10:19:46 +00:00
Alex Harker 95628079f2 Fixed connection issues with early notification and clearing ordering connections correctly 2017-10-28 13:11:13 +01:00
Alex Harker 3c13ac2226 More appropriate patchlineupdate tests when the object is the source 2017-10-28 13:02:38 +01:00
Alex Harker 306495fbf9 Corrected normalisation 2017-10-27 15:38:57 +01:00
Alex Harker b3c04a365a Correction for clipping on the peaks object 2017-10-24 18:19:58 +01:00
Alex Harker 58cc5c6cc5 Theoretical "fix" for the multitaper object (shouldn't affect results, but notation is clearer) 2017-10-24 18:19:29 +01:00
Alex Harker dc3606a399 Bug fixes for dispatch object 2017-10-24 18:18:51 +01:00
Alex Harker 8d2bc13b2c Documentation 2017-10-13 16:39:20 +01:00
Alex Harker 9ce29cda07 Documented timing objects 2017-10-12 14:20:48 +01:00
Alex Harker c8a46baed6 Channel object -> StreamID / MultiSelect object -> Dispatch 2017-10-12 01:00:05 +01:00
Alex Harker 1bd07c3e21 License 2017-10-11 23:41:08 +01:00
Alex Harker ecab2389a0 Vector Object Revisions part 1 2017-10-11 22:55:12 +01:00
Alex Harker 7a15609c57 Merge branch 'master' of https://bitbucket.org/ajharker/framelib 2017-10-11 16:58:53 +01:00
Alex Harker 8b2b82919b Fixed modulo object 2017-10-11 16:58:10 +01:00
Alex Harker 933180df51 Added timer object (- docs) 2017-10-11 03:19:09 +01:00
Alex Harker cb2580a71a New objects MultiSelect and TimeDelta (minus docs) 2017-10-11 03:01:19 +01:00
Alex Harker 5e845e9c3e Added route to object list 2017-10-10 18:17:02 +01:00
Alex Harker 541eb13885 Documentation and versioning 2017-10-10 17:52:25 +01:00
Alex Harker c896acbc93 New route demos 2017-10-10 17:42:39 +01:00
Alex Harker 5a1a9d3555 Bug fixes for feedback detection (don't descend into objects) and output dependency lists 2017-10-10 16:19:10 +01:00
Alex Harker 18d8a2381b Corrected so that vectors get passed by reference and hence correctly updated 2017-10-10 14:43:20 +01:00
Alex Harker 46f96a9ee8 Code clarity 2017-10-10 12:12:45 +01:00
Alex Harker c39a462027 Better commenting 2017-10-10 12:07:22 +01:00
Alex Harker 2d1de72044 Fixed template issues 2017-10-10 11:48:39 +01:00
Alex Harker 91144745a1 Work to remove temporary vectors (part 1) 2017-10-10 11:27:19 +01:00
Alex Harker e8a747530f Bug fixes for the aliasing connection system 2017-10-10 00:54:44 +01:00
Alex Harker b60021890b Code clarity and reworking the aliasing system 2017-10-09 23:42:52 +01:00
Alex Harker fd7c53bace Automatic aliasing resolution 2017-10-09 12:27:37 +01:00
Alex Harker f07c54ad8d Use typedefs for iterators 2017-10-09 10:14:38 +01:00
Alex Harker 2b43439542 Fixed feedback detection 2017-10-09 10:13:53 +01:00
Alex Harker 3ac6d45395 Fully functional connection system (except for feedback detection) 2017-10-09 01:13:32 +01:00
Alex Harker 72f4757525 Bug fixes for route object 2017-10-09 01:13:03 +01:00
Alex Harker 71907eb7a8 Set IO before aliasing 2017-10-08 21:26:06 +01:00
Alex Harker e96d6dc81b Using dynamic_cast rather than storing a parent pointer and reworked const issues 2017-10-08 20:44:39 +01:00
Alex Harker dd2e9a21a9 Bug fixes 2017-10-08 20:28:31 +01:00
Alex Harker c6620849d9 Construct the output dependency list 2017-10-08 20:00:43 +01:00
Alex Harker 8d1cdaeeeb Moved to a temporary output dependency list model 2017-10-08 19:43:45 +01:00
Alex Harker 046d46db40 Increased safety 2017-10-08 19:31:46 +01:00
Alex Harker 9ddb37f779 Work on the connection system with aliasing 2017-10-08 19:12:24 +01:00
Alex Harker fe2d40a8be Connection system with aliasing part 1 2017-10-08 12:39:32 +01:00
Alex Harker 2207137d68 Small refactors in preparation for connection aliasing 2017-10-07 11:33:10 +01:00
Alex Harker 7840d48014 Use dynamic casts to translate between blocks and DSP objects 2017-10-07 10:38:36 +01:00
Alex Harker 8c5aa4f1bf Simplified DSP connection reporting 2017-10-07 10:21:47 +01:00
Alex Harker c6323eb26b Always group object pointers and indices together for connection specification 2017-10-07 10:06:54 +01:00
Alex Harker 37c0db2b2b Formatting 2017-10-06 23:55:15 +01:00
Alex Harker df957ec44d Added route object 2017-10-06 23:54:35 +01:00
Alex Harker efede97286 Better isolation of the Max class from its internal hosted object 2017-10-06 14:19:47 +01:00
Alex Harker ad87f12f2b select object improvements/review 2017-10-05 17:54:20 +01:00
Alex Harker be0b215b7a Updated project to include new targets 2017-10-05 17:53:57 +01:00
Alex Harker 240f382c00 Fixed detection of explicit stream counts 2017-10-05 17:52:54 +01:00
Alex Harker 5ff268d800 Support for copying whole inputs, and more explicit naming of mode switching methods 2017-10-05 17:52:14 +01:00
Alex Harker 5f23db78cf Fixed null buffer issue on release 2017-10-05 17:50:10 +01:00
Alex Harker 6c1d256fc1 Finish fl.now~ underlying object renaming 2017-10-05 17:49:13 +01:00
Alex Harker 8aca41911d Renamed now object (was FrameLib_Time) 2017-10-05 17:48:42 +01:00
Alex Harker 9513c12ba7 Fixed addDependencyInput() and removed loop variable shadowing 2017-10-05 13:50:40 +01:00
Alex Harker 6c8cefd982 Small documentation tweak 2017-10-05 13:25:49 +01:00
Alex Harker d69b6a1271 Documentation and Versioning 2017-10-04 17:28:20 +01:00
Alex Harker 6901ec811f Added multichannel example demo patch 2017-10-04 17:23:29 +01:00
Alex Harker f26741db2a Updated info strings for binary objects 2017-10-04 17:21:46 +01:00
Alex Harker e4138c63df Added FrameLib_Channel object 2017-10-04 14:58:12 +01:00
Alex Harker ef55b74b21 Removed unneeded info.plist files 2017-10-04 14:44:38 +01:00
Alex Harker 7471ec249b Explicit multichannel stream support (allowing audio channel expansion) 2017-10-04 14:38:57 +01:00
Alex Harker 553d833601 Better info formatting support 2017-10-04 14:24:27 +01:00
Alex Harker d55bb84093 Updated dev docs 2017-10-04 14:04:28 +01:00
Alex Harker ba6a16dbb2 Updated for symbols 2017-10-04 14:02:46 +01:00
Alex Harker 612d7253ad Added logical operators 2017-10-04 12:07:21 +01:00
Alex Harker 4974054799 enums updated to reflect parameter naming 2017-10-04 12:07:08 +01:00
Alex Harker 80726c2d37 Ensure that the expander class has at least the number of specified streams 2017-10-03 21:33:25 +01:00
Alex Harker 1eb0d1b14e Updated binary object parameter naming 2017-10-03 21:32:58 +01:00
Alex Harker 5c5df29b08 Preliminary support for different kinds of audio channel expansion 2017-10-03 14:39:34 +01:00
Alex Harker de83e6e448 Added support for finding the max argument for a set of parameters 2017-10-03 14:36:51 +01:00
Alex Harker 6170a9eb55 Finalised parameter and input entry styles 2017-10-02 18:23:15 +01:00
Alex Harker 798607908b Formatting 2017-10-02 18:18:48 +01:00
Alex Harker 8f8c9a52bc Comments and ordering 2017-10-02 18:17:31 +01:00
Alex Harker ddc84de910 Better privacy for the global object 2017-10-02 18:09:51 +01:00
Alex Harker 8b417526ad Modulo object added 2017-10-02 17:34:24 +01:00
Alex Harker 3709534da7 Consistent naming for threading objects 2017-10-02 17:01:38 +01:00
Alex Harker 8f35c9665f Formatting clean-up 2017-10-02 16:42:32 +01:00
Alex Harker 192fda00b0 Merge branch 'master' into threading
# Conflicts:
#	FrameLib_Framework/FrameLib_DSP.cpp
2017-08-04 16:23:11 +01:00
Alex Harker 91c8c6cbb0 Merge branch 'master' into threading 2017-08-01 12:08:46 +01:00
Alex Harker c48d9bc4e5 Merge branch 'master' into threading 2017-07-30 15:29:53 +01:00
Alex Harker 507ed9b0f4 Merge branch 'master' into threading
# Conflicts:
#	FrameLib_Framework/FrameLib_Memory.cpp
2017-07-29 23:48:58 +01:00
Alex Harker 44414d9c37 Merge branch 'master' into threading 2017-07-27 10:49:47 +01:00
Alex Harker 8b5bb7b358 Merge branch 'master' into threading 2017-07-26 17:18:01 +01:00
Alex Harker b313065d94 Merge branch 'master' into threading 2017-07-26 15:57:29 +01:00
Alex Harker e514edddda Merge branch 'master' into threading
# Conflicts:
#	FrameLib_Framework/FrameLib_DSP.cpp
2017-07-25 11:42:09 +01:00
Alex Harker 119e044276 Merge branch 'master' into threading 2017-07-22 16:31:45 +01:00
Alex Harker c04e05dc2a Merge branch 'master' into threading 2017-07-19 16:08:02 +01:00
Alex Harker c8ab4fb3e3 Merge branch 'master' into threading 2017-07-13 21:31:59 +01:00
Alex Harker 5217e966b7 Merge branch 'master' into threading 2017-07-12 23:49:19 +01:00
Alex Harker 29469d90e5 Merge branch 'master' into threading 2017-07-12 18:21:10 +01:00
Alex Harker fb3a3751da Merge branch 'master' into threading 2017-07-12 17:58:06 +01:00
Alex Harker 9673944d12 Merge branch 'master' into threading 2017-07-11 16:43:52 +01:00
Alex Harker daa63798d0 Moved time spec 2017-07-11 16:41:47 +01:00
Alex Harker a2c03f7ec4 Merge branch 'master' into threading 2017-07-11 09:52:57 +01:00
Alex Harker eaed3d96bc Merge branch 'master' into threading 2017-07-11 00:23:29 +01:00
Alex Harker 75f7876f76 Always start with an extra thread 2017-07-10 23:55:31 +01:00
Alex Harker 9436a4b8e0 Signal Threads as Needed 2017-07-10 23:09:35 +01:00
Alex Harker 1888dae952 Moved to Thread Set Model 2017-07-10 21:09:36 +01:00
Alex Harker faa94359ec Trialling a few methods of determining when the work is done 2017-07-10 18:29:56 +01:00
Alex Harker 99cc375e1b Changed to nanosleep 2017-07-10 17:28:11 +01:00
Alex Harker 9e76a29cf2 Merge branch 'master' into threading 2017-07-10 16:51:04 +01:00
Alex Harker d7bd70528c Merge branch 'master' into threading 2017-07-10 16:36:22 +01:00
Alex Harker 145a3cbddd Triple thread proof of concept 2017-07-10 14:09:46 +01:00
Alex Harker a02a800c45 Merge branch 'master' into threading 2017-07-10 13:55:42 +01:00
Alex Harker ae3c335a70 Working demo of multithreaded queue (proof of concept) 2017-07-10 11:07:25 +01:00
Alex Harker 6011dc17cb Fixed ordering 2017-07-10 00:27:55 +01:00
Alex Harker e5267f29ae Rough single-threaded using OS X lock-free queue 2017-07-09 22:21:43 +01:00
Alex Harker 671bd97542 Added dependency on the process routine.... 2017-07-09 20:43:17 +01:00
Alex Harker c2bdc9e053 Fixed pool offset calculation 2017-07-09 20:03:20 +01:00
Alex Harker 6b52bd2cc2 Corrected locked memory management 2017-07-09 19:11:38 +01:00
Alex Harker 6e870b77fc Atomic Counters 2017-07-09 19:01:18 +01:00
Alex Harker 41e802fbe8 Move to locked memory access and atomic counter for multithreaded queue testing 2017-07-09 18:59:13 +01:00
1701 changed files with 422701 additions and 30722 deletions
+1
View File
@@ -0,0 +1 @@
*.pbxproj merge=union
+25 -2
View File
@@ -1,3 +1,6 @@
##Max SDK
_MaxSDK_/
## Build generated
build/
DerivedData/
@@ -17,18 +20,38 @@ CVS/
*.perspectivev3
!default.perspectivev3
xcuserdata/
_MaxSDK_/
*.xccheckout
## VS
.vs/
*.tlog/
*.user
## Latex
*.aux
*.synctex.gz
*.toc
*.log
*.out
*.code-workspace
## Binaries
externals/
maxframelib.mxo/
*.o
*.d_fat
## Package Testing
test-builds/
## Documentation
__pycache__/
__tmp__/
*.maxref.xml
Documentation/Max Documentation/help_files/templates/
Current Test Version/FrameLib/interfaces
Documentation/Max Documentation/FrameLibDocs/FrameLibDocs.egg-info
Max_Object_List.h
## Other
*.moved-aside
+7 -38
View File
@@ -3,47 +3,16 @@
PRODUCT_NAME = $(TARGET_NAME)
// Paths
C74SUPPORT = $(SRCROOT)/FrameLib_Max_Objects/_MaxSDK_/c74support
HEADER_SEARCH_PATHS = /Developer/Headers/FlatCarbon "$(SRCROOT)/../../AH_MaxMSP_Headers" "$(C74SUPPORT)/max-includes" "$(C74SUPPORT)/msp-includes" "$(C74SUPPORT)/jit-includes"
FRAMEWORK_SEARCH_PATHS = "$(C74SUPPORT)/msp-includes" "$(C74SUPPORT)/jit-includes"
// Special Files
GCC_PREFIX_HEADER = $(C74SUPPORT)/max-includes/macho-prefix.pch
INFOPLIST_FILE = Info.plist
// Per architecture and deployment settings
GCC_VERSION = com.apple.compilers.llvm.clang.1_0
MACOSX_DEPLOYMENT_TARGET = 10.5
ARCHS = i386 x86_64
ARCHS = i386 x86_64
MACOSX_DEPLOYMENT_TARGET = 10.7
CLANG_CXX_LANGUAGE_STANDARD = c++11
CLANG_CXX_LIBRARY = libc++
CLANG_X86_VECTOR_INSTRUCTIONS = avx
GCC_PREPROCESSOR_DEFINITIONS = "DENORM_WANT_FIX = 1" "NO_TRANSLATION_SUPPORT = 1"
// Static Configuration (don't change these)
WRAPPER_EXTENSION = mxo
DEPLOYMENT_LOCATION = NO
GENERATE_PKGINFO_FILE = YES
// Turn off C99 to minimise time spent working in Visual Studio
WARNING_CFLAGS = -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -Wdeclaration-after-statement -Wno-deprecated-declarations -Werror
// Allow old-style use of __inline (revise later)
OTHER_CFLAGS = -std=gnu89
// Flags to enforce some build-time checks for the symbols used while not actually performing a hard link
C74_SYM_LINKER_FLAGS = @$(C74SUPPORT)/max-includes/c74_linker_flags.txt
OTHER_LDFLAGS = $(C74_SYM_LINKER_FLAGS)
// hide all symbols by default
// mark a function to be exported with the C74_EXPORT macro -- most likely this will only apply to the main() function
LLVM_LTO = Monolithic
OTHER_CFLAGS = -fvisibility=hidden
OTHER_CPLUSPLUSFLAGS = -fvisibility=hidden -Winconsistent-missing-override -Wno-missing-braces
@@ -0,0 +1,775 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x86",
"modernui" : 1
}
,
"rect" : [ 70.0, 152.0, 1162.0, 790.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"showontab" : 0,
"boxes" : [ {
"box" : {
"id" : "obj-42",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 708.0, 52.0, 177.0, 20.0 ],
"style" : "",
"text" : "Calculations only happen once!"
}
}
, {
"box" : {
"id" : "obj-41",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 809.0, 109.0, 297.0, 20.0 ],
"style" : "",
"text" : "NOTE ~4 makes sure there are AT LEAST 4 channels"
}
}
, {
"box" : {
"id" : "obj-39",
"linecount" : 2,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 919.0, 377.0, 182.0, 33.0 ],
"style" : "",
"text" : "Interval set to power of two with a size of half that"
}
}
, {
"box" : {
"id" : "obj-37",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 798.0, 346.0, 40.0, 22.0 ],
"style" : "",
"text" : "fl./~ 2"
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 16,
"id" : "obj-36",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 975.25, 522.0, 130.0, 130.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 16,
"id" : "obj-35",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 837.0, 522.0, 130.0, 130.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 16,
"id" : "obj-34",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 696.0, 522.0, 130.0, 130.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 16,
"id" : "obj-33",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 557.0, 522.0, 130.0, 130.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-32",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 4,
"outlettype" : [ "signal", "signal", "signal", "signal" ],
"patching_rect" : [ 560.5, 475.0, 433.75, 22.0 ],
"style" : "",
"text" : "fl.sink~ =4"
}
}
, {
"box" : {
"id" : "obj-31",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 560.5, 386.0, 46.0, 22.0 ],
"style" : "",
"text" : "noise~"
}
}
, {
"box" : {
"id" : "obj-30",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 798.0, 377.0, 80.0, 22.0 ],
"style" : "",
"text" : "fl.tag~ length"
}
}
, {
"box" : {
"id" : "obj-29",
"maxclass" : "newobj",
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 560.5, 422.0, 206.0, 22.0 ],
"style" : "",
"text" : "fl.source~ 44100 100"
}
}
, {
"box" : {
"id" : "obj-28",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 654.0, 344.0, 86.0, 22.0 ],
"style" : "",
"text" : "fl.tag~ interval"
}
}
, {
"box" : {
"id" : "obj-27",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 805.0, 181.0, 215.0, 20.0 ],
"style" : "",
"text" : "Calculate 4 consecutive powers of two"
}
}
, {
"box" : {
"id" : "obj-25",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 654.0, 386.0, 66.0, 22.0 ],
"style" : "",
"text" : "fl.interval~"
}
}
, {
"box" : {
"id" : "obj-24",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 203.0, 145.0, 238.0, 20.0 ],
"style" : "",
"text" : "Pick up two channels at the same rate/size"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-21",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 1058.0, 269.0, 56.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-22",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 995.0, 269.0, 56.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-20",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 932.0, 269.0, 56.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-19",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 869.0, 269.0, 56.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-18",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 668.0, 174.0, 55.0, 22.0 ],
"style" : "",
"text" : "fl.*~ 512"
}
}
, {
"box" : {
"id" : "obj-17",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 668.0, 141.0, 59.0, 22.0 ],
"style" : "",
"text" : "fl.pow~ 2"
}
}
, {
"box" : {
"id" : "obj-16",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 708.0, 109.0, 90.0, 22.0 ],
"style" : "",
"text" : "fl.streamid~ =4"
}
}
, {
"box" : {
"id" : "obj-15",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 708.0, 80.0, 53.0, 22.0 ],
"style" : "",
"text" : "fl.once~"
}
}
, {
"box" : {
"id" : "obj-14",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 4,
"outlettype" : [ "signal", "signal", "signal", "signal" ],
"patching_rect" : [ 869.0, 230.0, 208.0, 22.0 ],
"style" : "",
"text" : "fl.trace~ =4"
}
}
, {
"box" : {
"id" : "obj-13",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 264.0, 494.0, 205.0, 20.0 ],
"style" : "",
"text" : "Input frame streams are split modulo"
}
}
, {
"box" : {
"id" : "obj-12",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 6.0, 494.0, 187.0, 20.0 ],
"style" : "",
"text" : "Input frame streams are summed"
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 8,
"id" : "obj-10",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 369.0, 341.0, 130.0, 130.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 8,
"id" : "obj-9",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 227.0, 341.0, 130.0, 130.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "signal" ],
"patching_rect" : [ 227.0, 292.0, 161.0, 22.0 ],
"style" : "",
"text" : "fl.sink~ =2"
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 8,
"id" : "obj-7",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 42.0, 341.0, 130.0, 130.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-6",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 42.0, 292.0, 48.0, 22.0 ],
"style" : "",
"text" : "fl.sink~"
}
}
, {
"box" : {
"id" : "obj-5",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 82.333359, 68.0, 62.0, 22.0 ],
"style" : "",
"text" : "cycle~ 50"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 42.000008, 29.0, 46.0, 22.0 ],
"style" : "",
"text" : "noise~"
}
}
, {
"box" : {
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 122.666672, 107.0, 89.0, 22.0 ],
"style" : "",
"text" : "fl.interval~ 100"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 4,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 42.0, 145.0, 140.0, 22.0 ],
"style" : "",
"text" : "fl.source~ =2 44100 100"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-19", 0 ],
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-20", 0 ],
"source" : [ "obj-14", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-21", 0 ],
"source" : [ "obj-14", 3 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-22", 0 ],
"source" : [ "obj-14", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-16", 0 ],
"source" : [ "obj-15", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-17", 1 ],
"source" : [ "obj-16", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-18", 0 ],
"source" : [ "obj-17", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"midpoints" : [ 677.5, 212.5, 878.5, 212.5 ],
"order" : 0,
"source" : [ "obj-18", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-28", 0 ],
"order" : 2,
"source" : [ "obj-18", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-37", 0 ],
"order" : 1,
"source" : [ "obj-18", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"order" : 1,
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 0 ],
"midpoints" : [ 51.5, 265.0, 236.5, 265.0 ],
"order" : 0,
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-29", 1 ],
"source" : [ "obj-25", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-25", 0 ],
"source" : [ "obj-28", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-32", 0 ],
"source" : [ "obj-29", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-2", 2 ],
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-29", 2 ],
"midpoints" : [ 807.5, 410.0, 757.0, 410.0 ],
"source" : [ "obj-30", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-29", 0 ],
"source" : [ "obj-31", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-33", 0 ],
"source" : [ "obj-32", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-34", 0 ],
"source" : [ "obj-32", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 0 ],
"source" : [ "obj-32", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-36", 0 ],
"source" : [ "obj-32", 3 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-30", 0 ],
"source" : [ "obj-37", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-2", 0 ],
"source" : [ "obj-4", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-2", 1 ],
"source" : [ "obj-5", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"source" : [ "obj-6", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-10", 0 ],
"source" : [ "obj-8", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-9", 0 ],
"source" : [ "obj-8", 0 ]
}
}
],
"dependency_cache" : [ {
"name" : "fl.source~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.trace~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.once~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.streamid~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.pow~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.times~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.tag~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.divide~.mxo",
"type" : "iLaX"
}
],
"autosave" : 0
}
}
@@ -0,0 +1,620 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x86",
"modernui" : 1
}
,
"rect" : [ 59.0, 104.0, 1044.0, 783.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-19",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 615.5, 152.0, 44.0, 22.0 ],
"style" : "",
"text" : "fl.+~ 1"
}
}
, {
"box" : {
"id" : "obj-22",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 839.0, 300.0, 190.0, 20.0 ],
"style" : "",
"text" : "Cancels with phase inverted input"
}
}
, {
"box" : {
"id" : "obj-20",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 666.5, 300.0, 75.0, 20.0 ],
"style" : "",
"text" : "All Summed"
}
}
, {
"box" : {
"id" : "obj-16",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 747.0, 336.0, 29.5, 22.0 ],
"style" : "",
"text" : "+~"
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 16,
"id" : "obj-15",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 747.0, 378.401947, 127.0, 80.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-18",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 792.0, 300.0, 36.0, 22.0 ],
"style" : "",
"text" : "*~ -1"
}
}
, {
"box" : {
"id" : "obj-17",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 792.0, 260.0, 93.0, 22.0 ],
"style" : "",
"text" : "delay~ 512 512"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "ezdac~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 747.0, 503.0, 45.0, 45.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-14",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 615.5, 119.0, 66.0, 22.0 ],
"style" : "",
"text" : "fl.times~ 5"
}
}
, {
"box" : {
"id" : "obj-13",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 615.5, 89.0, 161.0, 22.0 ],
"style" : "",
"text" : "fl.random~ /mode requested"
}
}
, {
"box" : {
"id" : "obj-12",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 615.5, 181.0, 80.0, 22.0 ],
"style" : "",
"text" : "fl.tag~ output"
}
}
, {
"box" : {
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 127.0, 99.0, 126.0, 22.0 ],
"style" : "",
"text" : "fl.source~ /length 512"
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 615.5, 48.0, 89.0, 22.0 ],
"style" : "",
"text" : "fl.interval~ 512"
}
}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 127.0, 14.0, 46.0, 22.0 ],
"style" : "",
"text" : "noise~"
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 615.5, 245.0, 48.0, 22.0 ],
"style" : "",
"text" : "fl.sink~"
}
}
, {
"box" : {
"id" : "obj-7",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 493.375, 245.0, 48.0, 22.0 ],
"style" : "",
"text" : "fl.sink~"
}
}
, {
"box" : {
"id" : "obj-6",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 371.25, 245.0, 48.0, 22.0 ],
"style" : "",
"text" : "fl.sink~"
}
}
, {
"box" : {
"id" : "obj-5",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 249.125, 245.0, 48.0, 22.0 ],
"style" : "",
"text" : "fl.sink~"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 127.0, 245.0, 48.0, 22.0 ],
"style" : "",
"text" : "fl.sink~"
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 16,
"id" : "obj-3",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 74.0, 679.607849, 127.0, 80.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 16,
"id" : "obj-36",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 74.0, 579.205872, 127.0, 80.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 16,
"id" : "obj-35",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 74.0, 478.803925, 127.0, 80.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 16,
"id" : "obj-34",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 74.0, 378.401947, 127.0, 80.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 16,
"id" : "obj-33",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 74.0, 278.0, 127.0, 80.0 ],
"range" : [ -3.0, 3.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 5,
"outlettype" : [ "", "", "", "", "" ],
"patching_rect" : [ 127.0, 215.0, 507.5, 22.0 ],
"style" : "",
"text" : "fl.route~ 5"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-5", 0 ],
"source" : [ "obj-1", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"source" : [ "obj-1", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"source" : [ "obj-1", 3 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 0 ],
"source" : [ "obj-1", 4 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 1 ],
"midpoints" : [ 625.0, 83.5, 190.0, 83.5 ],
"order" : 1,
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-13", 0 ],
"order" : 0,
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 1 ],
"source" : [ "obj-12", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"source" : [ "obj-13", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-19", 0 ],
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-15", 0 ],
"source" : [ "obj-16", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-18", 0 ],
"source" : [ "obj-17", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-16", 1 ],
"midpoints" : [ 801.5, 328.5, 767.0, 328.5 ],
"source" : [ "obj-18", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-12", 0 ],
"source" : [ "obj-19", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-16", 0 ],
"midpoints" : [ 136.5, 272.0, 756.5, 272.0 ],
"order" : 0,
"source" : [ "obj-4", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-33", 0 ],
"midpoints" : [ 136.5, 272.0, 83.5, 272.0 ],
"order" : 1,
"source" : [ "obj-4", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-16", 0 ],
"midpoints" : [ 258.625, 272.0, 756.5, 272.0 ],
"order" : 0,
"source" : [ "obj-5", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-34", 0 ],
"midpoints" : [ 258.625, 364.200989, 83.5, 364.200989 ],
"order" : 1,
"source" : [ "obj-5", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-16", 0 ],
"midpoints" : [ 380.75, 272.0, 756.5, 272.0 ],
"order" : 0,
"source" : [ "obj-6", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 0 ],
"midpoints" : [ 380.75, 464.401978, 83.5, 464.401978 ],
"order" : 1,
"source" : [ "obj-6", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-16", 0 ],
"midpoints" : [ 502.875, 272.0, 756.5, 272.0 ],
"order" : 0,
"source" : [ "obj-7", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-36", 0 ],
"midpoints" : [ 502.875, 566.602905, 83.5, 566.602905 ],
"order" : 1,
"source" : [ "obj-7", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-16", 0 ],
"midpoints" : [ 625.0, 272.0, 756.5, 272.0 ],
"order" : 0,
"source" : [ "obj-8", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-3", 0 ],
"midpoints" : [ 625.0, 670.803955, 83.5, 670.803955 ],
"order" : 1,
"source" : [ "obj-8", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"order" : 1,
"source" : [ "obj-9", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-17", 0 ],
"midpoints" : [ 136.5, 35.0, 801.5, 35.0 ],
"order" : 0,
"source" : [ "obj-9", 0 ]
}
}
],
"dependency_cache" : [ {
"name" : "fl.route~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.tag~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.random~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.times~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.plus~.mxo",
"type" : "iLaX"
}
],
"autosave" : 0
}
}
@@ -0,0 +1,563 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 1,
"revision" : 3,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ 59.0, 104.0, 685.0, 604.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 422.0, 142.0, 44.0, 22.0 ],
"text" : "fl.+~ 1"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 238.0, 440.0, 133.0, 20.0 ],
"text" : "Look at the CPU Meter"
}
}
, {
"box" : {
"id" : "obj-42",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 28.0, 96.0, 135.0, 20.0 ],
"text" : "Much overlapped noise"
}
}
, {
"box" : {
"id" : "obj-41",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 171.0, 118.0, 58.0, 22.0 ],
"text" : "fl.*~ 0.06"
}
}
, {
"box" : {
"id" : "obj-40",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 282.0, 45.0, 96.0, 22.0 ],
"text" : "fl.interval~ 1000"
}
}
, {
"box" : {
"id" : "obj-36",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 340.5, 491.0, 42.0, 22.0 ],
"text" : "*~ 0.2"
}
}
, {
"box" : {
"id" : "obj-35",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 369.0, 247.531372000000005, 104.0, 20.0 ],
"text" : "Do not much stuff"
}
}
, {
"box" : {
"id" : "obj-32",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 58.0, 252.0, 87.0, 20.0 ],
"text" : "Do lots of stuff"
}
}
, {
"box" : {
"id" : "obj-30",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 533.0, 180.0, 73.0, 22.0 ],
"text" : "fl.tag~ input"
}
}
, {
"box" : {
"id" : "obj-29",
"maxclass" : "newobj",
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 171.0, 407.0, 381.0, 22.0 ],
"text" : "fl.select~"
}
}
, {
"box" : {
"id" : "obj-28",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 171.0, 440.0, 48.0, 22.0 ],
"text" : "fl.sink~"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "ezdac~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 340.5, 534.5, 45.0, 45.0 ]
}
}
, {
"box" : {
"id" : "obj-14",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 422.0, 109.0, 42.0, 22.0 ],
"text" : "fl.*~ 2"
}
}
, {
"box" : {
"id" : "obj-13",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 422.0, 78.0, 161.0, 22.0 ],
"text" : "fl.random~ /mode requested"
}
}
, {
"box" : {
"id" : "obj-12",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 381.0, 180.0, 80.0, 22.0 ],
"text" : "fl.tag~ output"
}
}
, {
"box" : {
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 171.0, 83.0, 241.0, 22.0 ],
"text" : "fl.source~ /buffer_size 44100 /length 44100"
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 422.0, 41.0, 102.0, 22.0 ],
"text" : "fl.interval~ 44100"
}
}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 171.0, 45.0, 40.0, 22.0 ],
"text" : "pink~"
}
}
, {
"box" : {
"bufsize" : 256,
"calccount" : 16,
"id" : "obj-33",
"maxclass" : "scope~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 171.0, 491.0, 127.0, 80.0 ],
"range" : [ -3.0, 3.0 ]
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"patching_rect" : [ 171.0, 215.0, 200.0, 22.0 ],
"text" : "fl.route~ 2"
}
}
, {
"box" : {
"id" : "obj-27",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 171.0, 363.531371999999976, 107.0, 22.0 ],
"text" : "fl.svf~ 500. 0.6 bpf"
}
}
, {
"box" : {
"id" : "obj-26",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 171.0, 334.531371999999976, 107.0, 22.0 ],
"text" : "fl.svf~ 500. 0.6 bpf"
}
}
, {
"box" : {
"id" : "obj-25",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 171.0, 305.531371999999976, 107.0, 22.0 ],
"text" : "fl.svf~ 500. 0.6 bpf"
}
}
, {
"box" : {
"id" : "obj-24",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 171.0, 276.531371999999976, 107.0, 22.0 ],
"text" : "fl.svf~ 500. 0.6 bpf"
}
}
, {
"box" : {
"id" : "obj-23",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 171.0, 246.531372000000005, 107.0, 22.0 ],
"text" : "fl.svf~ 500. 0.6 bpf"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-23", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-29", 1 ],
"source" : [ "obj-1", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-13", 0 ],
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-41", 0 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 1 ],
"source" : [ "obj-12", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"source" : [ "obj-13", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-3", 0 ],
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-24", 0 ],
"source" : [ "obj-23", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-25", 0 ],
"source" : [ "obj-24", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-26", 0 ],
"source" : [ "obj-25", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-27", 0 ],
"source" : [ "obj-26", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-29", 0 ],
"source" : [ "obj-27", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-33", 0 ],
"order" : 1,
"source" : [ "obj-28", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-36", 0 ],
"midpoints" : [ 180.5, 476.0, 350.0, 476.0 ],
"order" : 0,
"source" : [ "obj-28", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-28", 0 ],
"source" : [ "obj-29", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-12", 0 ],
"midpoints" : [ 431.5, 171.5, 390.5, 171.5 ],
"order" : 1,
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-30", 0 ],
"midpoints" : [ 431.5, 171.0, 542.5, 171.0 ],
"order" : 0,
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-29", 2 ],
"source" : [ "obj-30", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-2", 1 ],
"order" : 0,
"source" : [ "obj-36", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-2", 0 ],
"order" : 1,
"source" : [ "obj-36", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 1 ],
"source" : [ "obj-40", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"source" : [ "obj-41", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"source" : [ "obj-9", 0 ]
}
}
],
"dependency_cache" : [ {
"name" : "fl.svf~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.route~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.tag~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.random~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.times~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.select~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.plus~.mxo",
"type" : "iLaX"
}
],
"autosave" : 0
}
}
@@ -0,0 +1,381 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 59.0, 104.0, 726.0, 316.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-18",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 524.0, 95.0, 81.0, 22.0 ],
"style" : "",
"text" : "run_mode $1"
}
}
, {
"box" : {
"id" : "obj-16",
"items" : [ "run", ",", "pause", ",", "stop" ],
"maxclass" : "umenu",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "int", "", "" ],
"parameter_enable" : 0,
"patching_rect" : [ 524.0, 35.0, 100.0, 22.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-15",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 524.0, 137.0, 154.0, 22.0 ],
"style" : "",
"text" : "fl.frommax~ /mode params"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-13",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 445.0, 252.0, 101.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-14",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 445.0, 209.0, 54.0, 22.0 ],
"style" : "",
"text" : "fl.trace~"
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 445.0, 170.0, 98.0, 22.0 ],
"style" : "",
"text" : "fl.ticks~ 5"
}
}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 388.0, 35.0, 124.0, 22.0 ],
"style" : "",
"text" : "fl.interval~ 1 seconds"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-5",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 256.0, 252.0, 101.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-6",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 256.0, 209.0, 54.0, 22.0 ],
"style" : "",
"text" : "fl.trace~"
}
}
, {
"box" : {
"id" : "obj-7",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 256.0, 35.0, 124.0, 22.0 ],
"style" : "",
"text" : "fl.interval~ 4 seconds"
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 256.0, 170.0, 105.0, 22.0 ],
"style" : "",
"text" : "fl.timer~ /units ms"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-4",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 71.0, 252.0, 101.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 71.0, 209.0, 54.0, 22.0 ],
"style" : "",
"text" : "fl.trace~"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 71.0, 35.0, 124.0, 22.0 ],
"style" : "",
"text" : "fl.interval~ 1 seconds"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 71.0, 170.0, 127.0, 22.0 ],
"style" : "",
"text" : "fl.timedelta~ /units ms"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-3", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-13", 0 ],
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-10", 1 ],
"source" : [ "obj-15", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-18", 0 ],
"source" : [ "obj-16", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-15", 0 ],
"source" : [ "obj-18", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-5", 0 ],
"source" : [ "obj-6", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 0 ],
"source" : [ "obj-7", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"source" : [ "obj-8", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-10", 0 ],
"midpoints" : [ 397.5, 127.0, 454.5, 127.0 ],
"order" : 1,
"source" : [ "obj-9", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-15", 0 ],
"midpoints" : [ 397.5, 127.5, 533.5, 127.5 ],
"order" : 0,
"source" : [ "obj-9", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 1 ],
"midpoints" : [ 397.5, 67.0, 351.5, 67.0 ],
"order" : 2,
"source" : [ "obj-9", 0 ]
}
}
],
"dependency_cache" : [ {
"name" : "fl.timedelta~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.trace~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.timer~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.ticks~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.frommax~.mxo",
"type" : "iLaX"
}
],
"autosave" : 0
}
}
@@ -0,0 +1,956 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 6,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 79.0, 123.0, 970.0, 422.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-9",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 108.5, 258.0, 241.0, 20.0 ],
"style" : "",
"text" : "Retrieve parameters from connected object"
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 647.0, 126.0, 67.0, 20.0 ],
"style" : "",
"text" : "Apply tags"
}
}
, {
"box" : {
"id" : "obj-5",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 917.0, 305.5, 43.0, 20.0 ],
"style" : "",
"text" : "Untag"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 694.0, 258.0, 109.0, 20.0 ],
"style" : "",
"text" : "Filter tagged items"
}
}
, {
"box" : {
"id" : "obj-3",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 561.0, 205.5, 181.0, 20.0 ],
"style" : "",
"text" : "Combine several tagged frames"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-62",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 211.0, 387.0, 56.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-63",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 211.0, 343.0, 54.0, 22.0 ],
"style" : "",
"text" : "fl.trace~"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-64",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 115.0, 387.0, 75.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-65",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 115.0, 343.0, 54.0, 22.0 ],
"style" : "",
"text" : "fl.trace~"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-66",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 20.0, 387.0, 68.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-67",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 20.0, 343.0, 54.0, 22.0 ],
"style" : "",
"text" : "fl.trace~"
}
}
, {
"box" : {
"id" : "obj-68",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "", "", "" ],
"patching_rect" : [ 20.0, 305.5, 209.0, 22.0 ],
"style" : "",
"text" : "fl.untag~ reson freq mode"
}
}
, {
"box" : {
"id" : "obj-61",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 20.0, 258.0, 78.0, 22.0 ],
"style" : "",
"text" : "fl.getparam~"
}
}
, {
"box" : {
"id" : "obj-60",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"patching_rect" : [ 389.0, 258.0, 295.0, 22.0 ],
"style" : "",
"text" : "fl.filtertags~ freq"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-53",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 879.0, 387.0, 64.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-54",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 879.0, 343.0, 54.0, 22.0 ],
"style" : "",
"text" : "fl.trace~"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-55",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 772.0, 387.0, 75.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-56",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 772.0, 343.0, 54.0, 22.0 ],
"style" : "",
"text" : "fl.trace~"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-57",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 665.0, 387.0, 85.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-58",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 665.0, 343.0, 54.0, 22.0 ],
"style" : "",
"text" : "fl.trace~"
}
}
, {
"box" : {
"id" : "obj-59",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "", "", "" ],
"patching_rect" : [ 665.0, 305.5, 233.0, 22.0 ],
"style" : "",
"text" : "fl.untag~ length freq multiplier"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-51",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 578.0, 387.0, 63.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-52",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 578.0, 343.0, 54.0, 22.0 ],
"style" : "",
"text" : "fl.trace~"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-49",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 483.5, 387.0, 75.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-50",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 483.5, 343.0, 54.0, 22.0 ],
"style" : "",
"text" : "fl.trace~"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-48",
"maxclass" : "number~",
"mode" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ],
"patching_rect" : [ 389.0, 387.0, 66.0, 22.0 ],
"sig" : 0.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-47",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 389.0, 343.0, 54.0, 22.0 ],
"style" : "",
"text" : "fl.trace~"
}
}
, {
"box" : {
"id" : "obj-27",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "", "", "" ],
"patching_rect" : [ 389.0, 305.5, 208.0, 22.0 ],
"style" : "",
"text" : "fl.untag~ length freq multiplier"
}
}
, {
"box" : {
"id" : "obj-24",
"maxclass" : "newobj",
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 389.0, 205.5, 162.0, 22.0 ],
"style" : "",
"text" : "fl.combinetags~ 3"
}
}
, {
"box" : {
"id" : "obj-22",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 532.0, 98.0, 40.0, 22.0 ],
"style" : "",
"text" : "fl./~ 2"
}
}
, {
"box" : {
"id" : "obj-21",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 532.0, 126.0, 95.0, 22.0 ],
"style" : "",
"text" : "fl.tag~ multiplier"
}
}
, {
"box" : {
"id" : "obj-41",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 86.5, 130.0, 68.0, 22.0 ],
"style" : "",
"text" : "fl.tag~ freq"
}
}
, {
"box" : {
"id" : "obj-39",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 86.5, 102.0, 160.0, 22.0 ],
"style" : "",
"text" : "fl.map~ exp 0. 1. 20. 16000."
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-40",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 86.5, 74.0, 210.0, 22.0 ],
"style" : "",
"text" : "fl.random~ /mode requested /length 1"
}
}
, {
"box" : {
"id" : "obj-36",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 308.0, 126.0, 80.0, 22.0 ],
"style" : "",
"text" : "fl.tag~ length"
}
}
, {
"box" : {
"id" : "obj-6",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 308.0, 98.0, 190.0, 22.0 ],
"style" : "",
"text" : "fl.map~ linear 0. 1. 10000. 20000."
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 308.0, 70.0, 210.0, 22.0 ],
"style" : "",
"text" : "fl.random~ /mode requested /length 1"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 532.0, 70.0, 210.0, 22.0 ],
"style" : "",
"text" : "fl.random~ /mode requested /length 1"
}
}
, {
"box" : {
"id" : "obj-7",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 158.0, 15.0, 183.0, 20.0 ],
"style" : "",
"text" : "Every 50 samples trigger frames"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-23",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 79.0, 205.5, 109.0, 22.0 ],
"style" : "",
"text" : "fl.svf~ 500. 0.7 bpf"
}
}
, {
"box" : {
"color" : [ 0.92549, 0.364706, 0.341176, 1.0 ],
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 40.0, 14.0, 82.0, 22.0 ],
"style" : "",
"text" : "fl.interval~ 50"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-10", 0 ],
"midpoints" : [ 49.5, 52.5, 317.5, 52.5 ],
"order" : 1,
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"midpoints" : [ 49.5, 52.5, 541.5, 52.5 ],
"order" : 0,
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-23", 0 ],
"midpoints" : [ 49.5, 192.25, 88.5, 192.25 ],
"order" : 3,
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-40", 0 ],
"midpoints" : [ 49.5, 52.5, 96.0, 52.5 ],
"order" : 2,
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-61", 0 ],
"midpoints" : [ 49.5, 146.5, 29.5, 146.5 ],
"order" : 4,
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-22", 0 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-24", 2 ],
"source" : [ "obj-21", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-21", 0 ],
"source" : [ "obj-22", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-61", 1 ],
"source" : [ "obj-23", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-60", 0 ],
"source" : [ "obj-24", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-47", 0 ],
"source" : [ "obj-27", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-50", 0 ],
"source" : [ "obj-27", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-52", 0 ],
"source" : [ "obj-27", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-24", 1 ],
"midpoints" : [ 317.5, 156.25, 470.0, 156.25 ],
"source" : [ "obj-36", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-41", 0 ],
"source" : [ "obj-39", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-39", 0 ],
"source" : [ "obj-40", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-23", 1 ],
"midpoints" : [ 96.0, 178.25, 178.5, 178.25 ],
"order" : 1,
"source" : [ "obj-41", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-24", 0 ],
"midpoints" : [ 96.0, 178.25, 398.5, 178.25 ],
"order" : 0,
"source" : [ "obj-41", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-48", 0 ],
"source" : [ "obj-47", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-49", 0 ],
"source" : [ "obj-50", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-51", 0 ],
"source" : [ "obj-52", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-53", 0 ],
"source" : [ "obj-54", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-55", 0 ],
"source" : [ "obj-56", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-57", 0 ],
"source" : [ "obj-58", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-54", 0 ],
"source" : [ "obj-59", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-56", 0 ],
"source" : [ "obj-59", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-58", 0 ],
"source" : [ "obj-59", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-36", 0 ],
"source" : [ "obj-6", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-27", 0 ],
"source" : [ "obj-60", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-59", 0 ],
"source" : [ "obj-60", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-68", 0 ],
"source" : [ "obj-61", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-62", 0 ],
"source" : [ "obj-63", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-64", 0 ],
"source" : [ "obj-65", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-66", 0 ],
"source" : [ "obj-67", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-63", 0 ],
"source" : [ "obj-68", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-65", 0 ],
"source" : [ "obj-68", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-67", 0 ],
"source" : [ "obj-68", 0 ]
}
}
],
"dependency_cache" : [ {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.svf~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.random~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.map~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.tag~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.divide~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.combinetags~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.untag~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.trace~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.trace~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.filtertags~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.getparam~.mxo",
"type" : "iLaX"
}
],
"autosave" : 0
}
}
File diff suppressed because it is too large Load Diff
@@ -4,12 +4,14 @@
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 5,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 256.0, 153.0, 1169.0, 736.0 ],
"bgcolor" : [ 0.898039, 0.898039, 0.898039, 1.0 ],
"editing_bgcolor" : [ 0.898039, 0.898039, 0.898039, 1.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
@@ -44,6 +46,7 @@
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 399.0, 215.0, 49.0, 22.0 ],
"presentation_rect" : [ 399.0, 215.0, 49.0, 22.0 ],
"style" : "",
"text" : "fl.plus~"
}
@@ -59,6 +62,7 @@
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 643.0, 176.0, 86.0, 22.0 ],
"presentation_rect" : [ 643.0, 176.0, 86.0, 22.0 ],
"style" : "",
"text" : "fl.times~ 1000"
}
@@ -74,6 +78,7 @@
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 643.0, 139.0, 210.0, 22.0 ],
"presentation_rect" : [ 643.0, 139.0, 210.0, 22.0 ],
"style" : "",
"text" : "fl.random~ /mode requested /length 1"
}
@@ -86,6 +91,7 @@
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 647.0, 48.0, 142.0, 20.0 ],
"presentation_rect" : [ 647.0, 48.0, 142.0, 20.0 ],
"style" : "",
"text" : "100 voices simultaneous"
}
@@ -98,6 +104,7 @@
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 502.0, 368.0, 106.0, 20.0 ],
"presentation_rect" : [ 502.0, 368.0, 106.0, 20.0 ],
"style" : "",
"text" : "Back to MSP land"
}
@@ -110,6 +117,7 @@
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 512.0, 330.0, 53.0, 20.0 ],
"presentation_rect" : [ 512.0, 330.0, 53.0, 20.0 ],
"style" : "",
"text" : "Window"
}
@@ -122,6 +130,7 @@
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 540.0, 289.0, 89.0, 20.0 ],
"presentation_rect" : [ 540.0, 289.0, 89.0, 20.0 ],
"style" : "",
"text" : "A filter (for fun)"
}
@@ -134,6 +143,7 @@
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 717.0, 209.0, 96.0, 20.0 ],
"presentation_rect" : [ 717.0, 209.0, 96.0, 20.0 ],
"style" : "",
"text" : "Add offset in ms"
}
@@ -146,8 +156,9 @@
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 643.0, 249.0, 308.0, 20.0 ],
"presentation_rect" : [ 643.0, 249.0, 308.0, 20.0 ],
"style" : "",
"text" : "Read the buffer at the specified samples (in the vectore)"
"text" : "Read the buffer at the specified samples (in the vector)"
}
}
@@ -158,6 +169,7 @@
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 91.5, 182.0, 229.0, 20.0 ],
"presentation_rect" : [ 91.5, 182.0, 229.0, 20.0 ],
"style" : "",
"text" : "Sample rate converstion (samples to ms)"
}
@@ -170,6 +182,7 @@
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 91.5, 145.0, 295.0, 20.0 ],
"presentation_rect" : [ 91.5, 145.0, 295.0, 20.0 ],
"style" : "",
"text" : "A vector of counts from 0 - N -1 (10000 samples long)"
}
@@ -182,6 +195,7 @@
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 891.0, 143.0, 240.0, 20.0 ],
"presentation_rect" : [ 891.0, 143.0, 240.0, 20.0 ],
"style" : "",
"text" : "Grab one random number for sample offset"
}
@@ -194,6 +208,7 @@
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 404.0, 48.0, 190.0, 20.0 ],
"presentation_rect" : [ 404.0, 48.0, 190.0, 20.0 ],
"style" : "",
"text" : "Every 100 samples trigger frames"
}
@@ -209,6 +224,7 @@
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 399.0, 289.0, 112.0, 22.0 ],
"presentation_rect" : [ 399.0, 289.0, 112.0, 22.0 ],
"style" : "",
"text" : "fl.onepole~ 500. lpf"
}
@@ -224,6 +240,7 @@
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 399.0, 176.0, 198.0, 22.0 ],
"presentation_rect" : [ 399.0, 176.0, 198.0, 22.0 ],
"style" : "",
"text" : "fl.samplerate~ /mode samples->ms"
}
@@ -239,6 +256,7 @@
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 399.0, 330.0, 105.0, 22.0 ],
"presentation_rect" : [ 399.0, 330.0, 105.0, 22.0 ],
"style" : "",
"text" : "fl.window~ cosine"
}
@@ -254,6 +272,7 @@
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 163.0, 412.0, 50.0, 22.0 ],
"presentation_rect" : [ 163.0, 412.0, 50.0, 22.0 ],
"style" : "",
"text" : "replace"
}
@@ -269,6 +288,7 @@
"numoutlets" : 2,
"outlettype" : [ "float", "bang" ],
"patching_rect" : [ 163.0, 446.0, 139.0, 22.0 ],
"presentation_rect" : [ 163.0, 446.0, 139.0, 22.0 ],
"style" : "",
"text" : "buffer~ jongles jongly.aif"
}
@@ -281,12 +301,12 @@
"fontsize" : 12.0,
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 399.0, 249.0, 224.0, 22.0 ],
"style" : "",
"text" : "fl.read~ jongles /mode hermite /units ms"
"text" : "fl.read~ jongles /interp hermite /units ms"
}
}
@@ -299,9 +319,10 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 399.0, 139.0, 226.0, 22.0 ],
"patching_rect" : [ 399.0, 139.0, 224.0, 22.0 ],
"presentation_rect" : [ 399.0, 139.0, 224.0, 22.0 ],
"style" : "",
"text" : "fl.count~ /mode requested /length 10000"
"text" : "fl.ramp~ /mode requested /length 10000"
}
}
@@ -313,6 +334,7 @@
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 522.0, 462.0, 279.0, 204.0 ],
"presentation_rect" : [ 522.0, 462.0, 279.0, 204.0 ],
"style" : ""
}
@@ -324,6 +346,7 @@
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 399.0, 465.5, 45.0, 45.0 ],
"presentation_rect" : [ 399.0, 465.5, 45.0, 45.0 ],
"style" : ""
}
@@ -338,6 +361,7 @@
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 399.0, 417.0, 42.0, 22.0 ],
"presentation_rect" : [ 399.0, 417.0, 42.0, 22.0 ],
"style" : "",
"text" : "*~ 0.4"
}
@@ -349,10 +373,11 @@
"fontsize" : 12.0,
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 399.0, 368.0, 48.0, 22.0 ],
"presentation_rect" : [ 399.0, 368.0, 48.0, 22.0 ],
"style" : "",
"text" : "fl.sink~"
}
@@ -369,6 +394,7 @@
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 399.0, 91.0, 89.0, 22.0 ],
"presentation_rect" : [ 399.0, 91.0, 89.0, 22.0 ],
"style" : "",
"text" : "fl.interval~ 100"
}
@@ -505,7 +531,7 @@
"type" : "iLaX"
}
, {
"name" : "fl.count~.mxo",
"name" : "fl.ramp~.mxo",
"type" : "iLaX"
}
, {
@@ -4,12 +4,12 @@
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 5,
"revision" : 6,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 207.0, 85.0, 1157.0, 840.0 ],
"rect" : [ 207.0, 85.0, 1163.0, 811.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
@@ -69,9 +69,9 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 663.0, 144.0, 111.0, 22.0 ],
"patching_rect" : [ 663.0, 144.0, 68.0, 22.0 ],
"style" : "",
"text" : "fl.setparam~ 1 freq"
"text" : "fl.tag~ freq"
}
}
@@ -111,9 +111,9 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 154.0, 144.0, 123.0, 22.0 ],
"patching_rect" : [ 154.0, 144.0, 80.0, 22.0 ],
"style" : "",
"text" : "fl.setparam~ 1 length"
"text" : "fl.tag~ length"
}
}
@@ -231,7 +231,7 @@
"fontsize" : 12.0,
"id" : "obj-18",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 239.0, 563.0, 48.0, 22.0 ],
@@ -342,7 +342,7 @@
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 265.0, 369.0, 149.0, 20.0 ],
"patching_rect" : [ 247.0, 370.0, 149.0, 20.0 ],
"style" : "",
"text" : "A good filter (for extra fun)",
"textcolor" : [ 0.466667, 0.254902, 0.607843, 1.0 ]
@@ -383,9 +383,9 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 101.0, 369.0, 126.0, 22.0 ],
"patching_rect" : [ 101.0, 369.0, 109.0, 22.0 ],
"style" : "",
"text" : "fl.0dfsvf~ 500. 0.7 bpf"
"text" : "fl.svf~ 500. 0.7 bpf"
}
}
@@ -473,12 +473,12 @@
"fontsize" : 12.0,
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 101.0, 308.0, 224.0, 22.0 ],
"style" : "",
"text" : "fl.read~ jongles /mode hermite /units ms"
"text" : "fl.read~ jongles /interp hermite /units ms"
}
}
@@ -491,9 +491,9 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 101.0, 207.0, 226.0, 22.0 ],
"patching_rect" : [ 101.0, 207.0, 224.0, 22.0 ],
"style" : "",
"text" : "fl.count~ /mode requested /length 10000"
"text" : "fl.ramp~ /mode requested /length 10000"
}
}
@@ -530,7 +530,7 @@
"fontsize" : 12.0,
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 101.0, 563.0, 48.0, 22.0 ],
@@ -584,7 +584,7 @@
"mode" : 0,
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 87.0, 359.0, 151.0, 45.0 ],
"patching_rect" : [ 87.0, 357.5, 142.0, 45.0 ],
"proportion" : 0.39,
"rounded" : 20,
"style" : ""
@@ -847,7 +847,7 @@
, {
"patchline" : {
"destination" : [ "obj-13", 1 ],
"midpoints" : [ 163.5, 186.5, 317.5, 186.5 ],
"midpoints" : [ 163.5, 186.5, 315.5, 186.5 ],
"source" : [ "obj-36", 0 ]
}
@@ -886,7 +886,7 @@
, {
"patchline" : {
"destination" : [ "obj-23", 1 ],
"midpoints" : [ 672.5, 350.5, 217.5, 350.5 ],
"midpoints" : [ 672.5, 350.5, 200.5, 350.5 ],
"source" : [ "obj-41", 0 ]
}
@@ -931,7 +931,7 @@
"type" : "iLaX"
}
, {
"name" : "fl.count~.mxo",
"name" : "fl.ramp~.mxo",
"type" : "iLaX"
}
, {
@@ -951,7 +951,7 @@
"type" : "iLaX"
}
, {
"name" : "fl.0dfsvf~.mxo",
"name" : "fl.svf~.mxo",
"type" : "iLaX"
}
, {
@@ -975,7 +975,7 @@
"type" : "iLaX"
}
, {
"name" : "fl.setparam~.mxo",
"name" : "fl.tag~.mxo",
"type" : "iLaX"
}
],
File diff suppressed because it is too large Load Diff
@@ -4,7 +4,7 @@
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 5,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
@@ -120,7 +120,7 @@
"fontsize" : 12.0,
"id" : "obj-30",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 371.0, 222.0, 179.0, 22.0 ],
@@ -244,9 +244,9 @@
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 351.0, 124.0, 101.0, 22.0 ],
"patching_rect" : [ 351.0, 124.0, 112.0, 22.0 ],
"style" : "",
"text" : "fl.source~ /size 1"
"text" : "fl.source~ /length 1"
}
}
@@ -287,12 +287,12 @@
"fontsize" : 12.0,
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 90.0, 222.0, 252.0, 22.0 ],
"style" : "",
"text" : "fl.read~ jongles /mode hermite /units samples"
"text" : "fl.read~ jongles /interp hermite /units samples"
}
}
@@ -305,9 +305,9 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 90.0, 129.0, 226.0, 22.0 ],
"patching_rect" : [ 90.0, 129.0, 224.0, 22.0 ],
"style" : "",
"text" : "fl.count~ /mode requested /length 10000"
"text" : "fl.ramp~ /mode requested /length 10000"
}
}
@@ -339,7 +339,7 @@
"fontsize" : 12.0,
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 90.0, 374.0, 48.0, 22.0 ],
@@ -375,7 +375,7 @@
, {
"patchline" : {
"destination" : [ "obj-16", 1 ],
"midpoints" : [ 99.5, 118.0, 401.5, 118.0 ],
"midpoints" : [ 99.5, 118.0, 407.0, 118.0 ],
"order" : 0,
"source" : [ "obj-1", 0 ]
}
@@ -533,7 +533,7 @@
"type" : "iLaX"
}
, {
"name" : "fl.count~.mxo",
"name" : "fl.ramp~.mxo",
"type" : "iLaX"
}
, {
@@ -5,11 +5,11 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
"rect" : [ 405.0, 93.0, 1015.0, 796.0 ],
"rect" : [ 191.0, 85.0, 924.0, 801.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
@@ -67,7 +67,7 @@
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 774.0, 251.0, 80.0, 20.0 ],
"patching_rect" : [ 743.0, 138.0, 80.0, 20.0 ],
"style" : "",
"text" : "Thresholding",
"textcolor" : [ 0.466667, 0.254902, 0.607843, 1.0 ]
@@ -92,7 +92,7 @@
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 712.0, 224.0, 26.0, 20.0 ],
"patching_rect" : [ 760.0, 224.0, 26.0, 20.0 ],
"style" : "",
"text" : "Tilt"
}
@@ -105,7 +105,7 @@
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 643.0, 191.0, 72.0, 22.0 ],
"patching_rect" : [ 691.0, 191.0, 72.0, 22.0 ],
"style" : "",
"text" : "loadmess 0"
}
@@ -122,7 +122,7 @@
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 643.0, 224.0, 50.0, 22.0 ],
"patching_rect" : [ 691.0, 224.0, 50.0, 22.0 ],
"style" : ""
}
@@ -134,7 +134,7 @@
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 643.0, 279.0, 74.0, 22.0 ],
"patching_rect" : [ 691.0, 279.0, 74.0, 22.0 ],
"style" : "",
"text" : "fl.frommax~"
}
@@ -147,7 +147,7 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 557.0, 315.0, 105.0, 22.0 ],
"patching_rect" : [ 557.0, 315.0, 153.0, 22.0 ],
"style" : "",
"text" : "fl.pow~"
}
@@ -173,9 +173,9 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 557.0, 279.0, 56.0, 22.0 ],
"patching_rect" : [ 557.0, 279.0, 120.0, 22.0 ],
"style" : "",
"text" : "fl.count~"
"text" : "fl.ramp~ /mode input"
}
}
@@ -394,7 +394,7 @@
"followglobaltempo" : 0,
"formantcorrection" : 0,
"mode" : "basic",
"originallength" : [ 249203.2, "ticks" ],
"originallength" : [ 249203.203125, "ticks" ],
"originaltempo" : 120.0,
"pitchcorrection" : 0,
"quality" : "basic",
@@ -520,9 +520,9 @@
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 82.5, 137.0, 121.0, 22.0 ],
"patching_rect" : [ 82.5, 137.0, 132.0, 22.0 ],
"style" : "",
"text" : "fl.source~ /size 4096"
"text" : "fl.source~ /length 4096"
}
}
@@ -558,7 +558,7 @@
"fontsize" : 12.0,
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 82.5, 634.0, 102.0, 22.0 ],
@@ -577,7 +577,7 @@
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 133.5, 78.0, 96.0, 22.0 ],
"patching_rect" : [ 139.0, 78.0, 96.0, 22.0 ],
"style" : "",
"text" : "fl.interval~ 1024"
}
@@ -594,7 +594,7 @@
"mode" : 0,
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 348.5, 171.0, 404.5, 264.0 ],
"patching_rect" : [ 348.5, 171.0, 474.5, 266.0 ],
"proportion" : 0.39,
"rounded" : 20,
"style" : ""
@@ -701,7 +701,7 @@
"patchline" : {
"color" : [ 1.0, 0.0, 0.0, 1.0 ],
"destination" : [ "obj-35", 0 ],
"midpoints" : [ 208.0, 260.0, 652.5, 260.0 ],
"midpoints" : [ 208.0, 260.0, 700.5, 260.0 ],
"order" : 0,
"source" : [ "obj-20", 1 ]
}
@@ -862,22 +862,10 @@
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
@@ -911,7 +899,7 @@
"type" : "iLaX"
}
, {
"name" : "fl.count~.mxo",
"name" : "fl.ramp~.mxo",
"type" : "iLaX"
}
, {
@@ -5,7 +5,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -551,9 +551,9 @@
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 144.0, 137.0, 121.0, 22.0 ],
"patching_rect" : [ 144.0, 137.0, 132.0, 22.0 ],
"style" : "",
"text" : "fl.source~ /size 4096"
"text" : "fl.source~ /length 4096"
}
}
@@ -589,7 +589,7 @@
"fontsize" : 12.0,
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 143.0, 705.5, 48.0, 22.0 ],
@@ -608,7 +608,7 @@
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 158.0, 82.0, 96.0, 22.0 ],
"patching_rect" : [ 200.5, 82.0, 96.0, 22.0 ],
"style" : "",
"text" : "fl.interval~ 1024"
}
@@ -636,7 +636,6 @@
"lines" : [ {
"patchline" : {
"destination" : [ "obj-16", 1 ],
"midpoints" : [ 167.5, 112.5, 204.5, 112.5 ],
"source" : [ "obj-1", 0 ]
}
@@ -942,22 +941,10 @@
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
@@ -5,7 +5,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -181,7 +181,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -337,7 +337,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -440,9 +440,9 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 145.0, 79.0, 220.0, 22.0 ],
"patching_rect" : [ 145.0, 79.0, 226.0, 22.0 ],
"style" : "",
"text" : "fl.greaterthan~ /mode padin /padding 1."
"text" : "fl.greaterthan~ /mismatch pad_in /pad 1."
}
}
@@ -510,7 +510,7 @@
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 346.0, 37.0, 30.0, 30.0 ],
"patching_rect" : [ 352.0, 37.0, 30.0, 30.0 ],
"style" : ""
}
@@ -660,7 +660,7 @@
"box" : {
"id" : "obj-75",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 423.0, 203.5, 168.0, 22.0 ],
@@ -689,7 +689,7 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 381.5, 502.0, 78.0, 22.0 ],
"patching_rect" : [ 386.5, 502.0, 78.0, 22.0 ],
"style" : "",
"text" : "fl.recall~ last"
}
@@ -824,9 +824,9 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 423.0, 108.0, 56.0, 22.0 ],
"patching_rect" : [ 423.0, 108.0, 120.0, 22.0 ],
"style" : "",
"text" : "fl.count~"
"text" : "fl.ramp~ /mode input"
}
}
@@ -889,9 +889,9 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 209.5, 536.0, 191.0, 22.0 ],
"patching_rect" : [ 209.5, 536.0, 196.0, 22.0 ],
"style" : "",
"text" : "fl.minus~ /mode padin /padding 1."
"text" : "fl.minus~ /mismatch pad_in /pad 1."
}
}
@@ -1201,7 +1201,7 @@
, {
"patchline" : {
"destination" : [ "obj-49", 0 ],
"midpoints" : [ 177.0, 491.5, 391.0, 491.5 ],
"midpoints" : [ 177.0, 491.5, 396.0, 491.5 ],
"order" : 1,
"source" : [ "obj-28", 0 ]
}
@@ -1332,7 +1332,7 @@
, {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"midpoints" : [ 391.0, 529.5, 486.0, 529.5 ],
"midpoints" : [ 396.0, 529.5, 486.0, 529.5 ],
"order" : 0,
"source" : [ "obj-49", 0 ]
}
@@ -1878,9 +1878,9 @@
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 48.0, 135.0, 121.0, 22.0 ],
"patching_rect" : [ 48.0, 135.0, 132.0, 22.0 ],
"style" : "",
"text" : "fl.source~ /size 4096"
"text" : "fl.source~ /length 4096"
}
}
@@ -1916,7 +1916,7 @@
"fontsize" : 12.0,
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 47.0, 572.5, 48.0, 22.0 ],
@@ -1945,7 +1945,7 @@
"lines" : [ {
"patchline" : {
"destination" : [ "obj-16", 1 ],
"midpoints" : [ 71.5, 110.5, 108.5, 110.5 ],
"midpoints" : [ 71.5, 110.5, 114.0, 110.5 ],
"source" : [ "obj-1", 0 ]
}
@@ -2198,22 +2198,10 @@
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
@@ -2275,7 +2263,7 @@
"type" : "iLaX"
}
, {
"name" : "fl.count~.mxo",
"name" : "fl.ramp~.mxo",
"type" : "iLaX"
}
, {
@@ -5,7 +5,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -37,6 +37,19 @@
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-49",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"patching_rect" : [ 759.75, 197.0, 29.5, 22.0 ],
"style" : "",
"text" : "+ 1"
}
}
, {
"box" : {
"id" : "obj-15",
"maxclass" : "comment",
@@ -483,7 +496,7 @@
"followglobaltempo" : 0,
"formantcorrection" : 0,
"mode" : "basic",
"originallength" : [ 249203.216614, "ticks" ],
"originallength" : [ 249203.21875, "ticks" ],
"originaltempo" : 120.000008,
"pitchcorrection" : 0,
"quality" : "basic",
@@ -609,9 +622,9 @@
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 118.0, 120.0, 121.0, 22.0 ],
"patching_rect" : [ 118.0, 120.0, 132.0, 22.0 ],
"style" : "",
"text" : "fl.source~ /size 4096"
"text" : "fl.source~ /length 4096"
}
}
@@ -647,7 +660,7 @@
"fontsize" : 12.0,
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 117.0, 688.0, 48.0, 22.0 ],
@@ -694,7 +707,7 @@
"lines" : [ {
"patchline" : {
"destination" : [ "obj-16", 1 ],
"midpoints" : [ 132.5, 95.0, 178.5, 95.0 ],
"midpoints" : [ 132.5, 95.0, 184.0, 95.0 ],
"source" : [ "obj-1", 0 ]
}
@@ -999,12 +1012,19 @@
"source" : [ "obj-43", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-49", 0 ],
"source" : [ "obj-44", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-41", 0 ],
"midpoints" : [ 769.25, 401.5, 574.5, 401.5 ],
"source" : [ "obj-44", 0 ]
"source" : [ "obj-49", 0 ]
}
}
@@ -1035,22 +1055,10 @@
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
File diff suppressed because it is too large Load Diff
@@ -5,7 +5,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -124,7 +124,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -165,9 +165,9 @@
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 563.0, 119.0, 114.0, 22.0 ],
"patching_rect" : [ 563.0, 119.0, 126.0, 22.0 ],
"style" : "",
"text" : "fl.source~ /size 512"
"text" : "fl.source~ /length 512"
}
}
@@ -194,9 +194,9 @@
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 394.0, 119.0, 121.0, 22.0 ],
"patching_rect" : [ 394.0, 119.0, 132.0, 22.0 ],
"style" : "",
"text" : "fl.source~ /size 1024"
"text" : "fl.source~ /length 1024"
}
}
@@ -210,9 +210,9 @@
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 225.0, 119.0, 121.0, 22.0 ],
"patching_rect" : [ 225.0, 119.0, 132.0, 22.0 ],
"style" : "",
"text" : "fl.source~ /size 2048"
"text" : "fl.source~ /length 2048"
}
}
@@ -274,9 +274,9 @@
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 56.0, 119.0, 121.0, 22.0 ],
"patching_rect" : [ 56.0, 119.0, 132.0, 22.0 ],
"style" : "",
"text" : "fl.source~ /size 4096"
"text" : "fl.source~ /length 4096"
}
}
@@ -355,7 +355,7 @@
, {
"patchline" : {
"destination" : [ "obj-3", 1 ],
"midpoints" : [ 596.0, 111.0, 620.0, 111.0 ],
"midpoints" : [ 596.0, 111.0, 626.0, 111.0 ],
"source" : [ "obj-39", 0 ]
}
@@ -363,7 +363,7 @@
, {
"patchline" : {
"destination" : [ "obj-35", 1 ],
"midpoints" : [ 431.5, 111.0, 454.5, 111.0 ],
"midpoints" : [ 431.5, 111.0, 460.0, 111.0 ],
"source" : [ "obj-40", 0 ]
}
@@ -371,7 +371,7 @@
, {
"patchline" : {
"destination" : [ "obj-38", 1 ],
"midpoints" : [ 260.0, 111.0, 285.5, 111.0 ],
"midpoints" : [ 260.0, 111.0, 291.0, 111.0 ],
"source" : [ "obj-42", 0 ]
}
@@ -386,7 +386,7 @@
, {
"patchline" : {
"destination" : [ "obj-43", 1 ],
"midpoints" : [ 86.5, 111.0, 116.5, 111.0 ],
"midpoints" : [ 86.5, 111.0, 122.0, 111.0 ],
"source" : [ "obj-44", 0 ]
}
@@ -461,7 +461,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -499,7 +499,7 @@
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 488.0, 223.0, 132.0, 22.0 ],
"patching_rect" : [ 488.0, 183.0, 132.0, 22.0 ],
"style" : "",
"text" : "BandFilter 12 1600 0 2"
}
@@ -512,7 +512,7 @@
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 338.0, 223.0, 145.0, 22.0 ],
"patching_rect" : [ 338.0, 183.0, 145.0, 22.0 ],
"style" : "",
"text" : "BandFilter 12 400 1600 0"
}
@@ -525,7 +525,7 @@
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 188.0, 223.0, 139.0, 22.0 ],
"patching_rect" : [ 188.0, 183.0, 139.0, 22.0 ],
"style" : "",
"text" : "BandFilter 12 200 400 0"
}
@@ -538,50 +538,11 @@
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 38.0, 223.0, 125.0, 22.0 ],
"patching_rect" : [ 38.0, 183.0, 125.0, 22.0 ],
"style" : "",
"text" : "BandFilter 12 0 200 1"
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 488.0, 185.0, 106.0, 22.0 ],
"style" : "",
"text" : "delay~ 3584 3584"
}
}
, {
"box" : {
"id" : "obj-7",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 338.0, 185.0, 106.0, 22.0 ],
"style" : "",
"text" : "delay~ 3072 3072"
}
}
, {
"box" : {
"id" : "obj-6",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 188.0, 185.0, 106.0, 22.0 ],
"style" : "",
"text" : "delay~ 2048 2048"
}
}
, {
"box" : {
@@ -602,12 +563,12 @@
"fontsize" : 12.0,
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 488.0, 144.0, 60.0, 22.0 ],
"patching_rect" : [ 488.0, 144.0, 114.0, 22.0 ],
"style" : "",
"text" : "fl.sink~"
"text" : "fl.sink~ /delay 3584"
}
}
@@ -617,12 +578,12 @@
"fontsize" : 12.0,
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 338.0, 144.0, 60.0, 22.0 ],
"patching_rect" : [ 338.0, 144.0, 114.0, 22.0 ],
"style" : "",
"text" : "fl.sink~"
"text" : "fl.sink~ /delay 3072"
}
}
@@ -632,12 +593,12 @@
"fontsize" : 12.0,
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 188.0, 144.0, 60.0, 22.0 ],
"patching_rect" : [ 188.0, 144.0, 114.0, 22.0 ],
"style" : "",
"text" : "fl.sink~"
"text" : "fl.sink~ /delay 2048"
}
}
@@ -647,7 +608,7 @@
"fontsize" : 12.0,
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 38.0, 144.0, 60.0, 22.0 ],
@@ -678,7 +639,7 @@
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 38.0, 291.0, 30.0, 30.0 ],
"patching_rect" : [ 38.0, 251.0, 30.0, 30.0 ],
"style" : ""
}
@@ -686,7 +647,7 @@
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"destination" : [ "obj-10", 0 ],
"source" : [ "obj-1", 0 ]
}
@@ -694,7 +655,7 @@
, {
"patchline" : {
"destination" : [ "obj-40", 0 ],
"midpoints" : [ 197.5, 267.5, 47.5, 267.5 ],
"midpoints" : [ 197.5, 227.5, 47.5, 227.5 ],
"source" : [ "obj-10", 0 ]
}
@@ -702,7 +663,7 @@
, {
"patchline" : {
"destination" : [ "obj-40", 0 ],
"midpoints" : [ 347.5, 267.5, 47.5, 267.5 ],
"midpoints" : [ 347.5, 227.5, 47.5, 227.5 ],
"source" : [ "obj-11", 0 ]
}
@@ -710,7 +671,7 @@
, {
"patchline" : {
"destination" : [ "obj-40", 0 ],
"midpoints" : [ 497.5, 267.5, 47.5, 267.5 ],
"midpoints" : [ 497.5, 227.5, 47.5, 227.5 ],
"source" : [ "obj-12", 0 ]
}
@@ -724,7 +685,7 @@
}
, {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"destination" : [ "obj-11", 0 ],
"source" : [ "obj-2", 0 ]
}
@@ -745,7 +706,7 @@
}
, {
"patchline" : {
"destination" : [ "obj-8", 0 ],
"destination" : [ "obj-12", 0 ],
"source" : [ "obj-4", 0 ]
}
@@ -777,27 +738,6 @@
"source" : [ "obj-5", 3 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-10", 0 ],
"source" : [ "obj-6", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"source" : [ "obj-7", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-12", 0 ],
"source" : [ "obj-8", 0 ]
}
}
]
}
@@ -1310,10 +1250,6 @@
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.unpack~.mxo",
"type" : "iLaX"
@@ -1326,14 +1262,6 @@
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
@@ -5,7 +5,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -37,6 +37,19 @@
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-22",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"patching_rect" : [ 457.0, 103.0, 29.5, 22.0 ],
"style" : "",
"text" : "+ 1"
}
}
, {
"box" : {
"id" : "obj-29",
"maxclass" : "newobj",
@@ -110,7 +123,7 @@
"box" : {
"id" : "obj-15",
"maxclass" : "newobj",
"numinlets" : 1,
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 329.399963, 234.0, 54.0, 22.0 ],
@@ -210,7 +223,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -750,7 +763,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -928,7 +941,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -1532,7 +1545,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -2545,7 +2558,7 @@
}
, {
"patchline" : {
"destination" : [ "obj-23", 0 ],
"destination" : [ "obj-22", 0 ],
"midpoints" : [ 927.5, 425.143433, 628.0, 425.143433, 628.0, 97.0, 466.5, 97.0 ],
"order" : 0,
"source" : [ "obj-114", 1 ]
@@ -2632,6 +2645,13 @@
"source" : [ "obj-21", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-23", 0 ],
"source" : [ "obj-22", 0 ]
}
}
, {
"patchline" : {
@@ -2851,10 +2871,6 @@
"name" : "fl.trace~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.trace~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.select~.mxo",
"type" : "iLaX"
+5 -5
View File
@@ -5,7 +5,7 @@
"major" : 7,
"minor" : 3,
"revision" : 5,
"architecture" : "x64",
"architecture" : "x86",
"modernui" : 1
}
,
@@ -69,9 +69,9 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 157.0, 149.0, 191.0, 22.0 ],
"patching_rect" : [ 157.0, 149.0, 196.0, 22.0 ],
"style" : "",
"text" : "fl.minus~ /mode padin /padding 0."
"text" : "fl.minus~ /mismatch pad_in /pad 0."
}
}
@@ -108,7 +108,7 @@
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 329.0, 101.0, 91.0, 22.0 ],
"patching_rect" : [ 334.0, 101.0, 91.0, 22.0 ],
"style" : "",
"text" : "fl.recall~ #0last"
}
@@ -232,7 +232,7 @@
, {
"patchline" : {
"destination" : [ "obj-49", 0 ],
"midpoints" : [ 89.5, 81.0, 338.5, 81.0 ],
"midpoints" : [ 89.5, 81.0, 343.5, 81.0 ],
"order" : 0,
"source" : [ "obj-67", 0 ]
}
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>
<c74object name="" module="max">
<digest>
Fast Fourier transform for lllls </digest>
<description>
bach.fft performs, the Fast Fourier transform on the incoming llll, for any size, and outputs either the cartesian or the polar representation. </description>
@@ -0,0 +1,569 @@
/*
Copyright (c) 2012 Cycling '74
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies
or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/* basestyle is used for the vignette body text, but does not appear to
* affect tutorials or reference
*/
.basestyle {
font-size: 10pt;
font-family: Georgia;
font-weight: normal;
margin: 0em;
padding: 15px 15px;
}
/* this is italics */
em {
display:inline;
font-size: 10pt;
font-style: italic;
}
/* this is bold */
strong {
display:inline;
font-size: 10pt;
font-weight: bold;
}
/* header1 is the title style of a vignette, for example in docintro it
* is Max 5 Help and Documentation
*/
.header1 {
font-family: "Lucida Sans Unicode", "Lucida Sans", "Lucida Grande", Verdana, sans-serif;
font-size:14pt;
font-weight: bold;
padding-bottom: 12px;
}
/* header2 is the subhead style of a vignette -- this applies to links in this style */
/* trying: "Lucida Sans Unicode", "Lucida Sans", "Lucida Grande", Verdana, sans-serif */
.header2 {
font-family: "Lucida Sans Unicode", "Lucida Sans", "Lucida Grande", Verdana, sans-serif;
font-size:11pt;
font-weight: bold;
padding-top: 2px;
padding-bottom: 7px;
}
/* header3 is the sub-subhead style of a vignette -- this applies to links in this style */
/* trying: "Lucida Sans Unicode", "Lucida Sans", "Lucida Grande", Verdana, sans-serif */
.header3 {
font-family: "Lucida Sans Unicode", "Lucida Sans", "Lucida Grande", Verdana, sans-serif;
font-size:10pt;
font-weight: bold;
font-style: italic;
padding-top: 2px;
padding-bottom: 7px;
}
/* this style is used for the body text in a vignette / tutorial */
.bodytext {
padding-bottom: 10px;
}
/* this style is used for a single line of code text in a vignette / tutorial */
pre {
font-family: "Courier", "Monaco", mono-spaced;
white-space:pre;
width:auto;
padding-top: 0px;
padding-bottom: 0px;
}
/* this style is used for the text in a side bar (such as in docintro) */
.sidebartext {
padding: 14px;
float: right;
border: 1px solid #ccc;
background: #eef;
font-size: 9.5pt;
width: 27%;
margin-left: 15px;
}
/* have not found where this style applies */
.boxedtext {
border: 1px solid #DDD;
margin-bottom: 14px;
}
.bodytextss {
}
/* this style is used for bulleted lists, setting the margin and inset */
ul {
margin: 0px;
padding: 0px 15px;
list-style-type: disc;
list-style-position: outside;
}
/* this style sets the space between the items in a bulleted list in a vignette */
li {
padding-bottom: 8px;
}
/* this used for call-out boxes in vignettes */
.bluebox {
border: 1px solid #DDD;
padding: 15px 15px 0px 15px;
background-color: #DFF;
}
/* This is tied to the illustration style which is used in the ported
* MSP and (Jitter?) tutorials. I have changed it to work with the
* images as traditionally displayed
*/
.imagebox {
margin-left: auto;
margin-right: auto;
text-align: center;
font-style: italic;
margin-bottom: 12px;
}
/* caption is for example captions */
.caption {
font-style: italic;
text-align: center;
font-size: 9.5pt;
padding-bottom: 10px;
}
/* nor this */
.detail {
border: 1px solid #CCC;
padding: 15px 15px 0px 15px;
background-color: #EEE;
}
/* nor this */
.bullet {
padding: 15px 15px 0px 15px;
}
.tab {
text-indent:10px;
}
.sup {
font-size: smaller;
vertical-align: baseline;
position: relative;
bottom: 0.33em;
}
.sub {
font-size: smaller;
vertical-align: baseline;
position: relative;
bottom: -0.25em;
}
.message {
background-color: #DDD;
<!-- padding-left: 1em; -->
padding-right: 0em;
<!-- border: 1px solid #DDD; -->
font-weight: normal;
}
body{
font-family: Georgia;
padding: 10px;
font-size: 10pt;
}
h1, h2, h3, h4, h5, h6 {
font-family: "Lucida Sans Unicode", "Lucida Sans", "Lucida Grande", Verdana, sans-serif;
padding: 0;
}
/* Document Title
* This is the object name in a reference page
* Bottom margin is negative to move the positioning of the digest upward
* without modifying the digest class (since the digest class is used in other places)
*/
h1 {
font-size: 19pt;
margin-bottom: -10px;
}
/* Section Header -- this is Description, Arguments, Messages in a
* reference page */
h2 {
margin-top: 9px;
margin-bottom: 2px;
font-size: 11pt;
}
/* Subsection Header
* this is the word "Legacy"(!)
*/
h3 {
/* margin-top: 10;
margin-bottom: 5;
border: solid 1px gray;
background-color: silver;
padding: 0.1em;
font-weight: bold;
font-size: 100%;
*/
font-size: 11pt;
color: #446;
border: solid 1px #DDD;
background-color: #EEF;
margin-top: 0;
margin-bottom: 0;
}
h4 {
color: #44F;
border: solid 1px #DDD;
background-color: #EEE;
}
a {
color: #55c;
font-family: "Lucida Sans Unicode", "Lucida Sans", "Lucida Grande", Verdana, sans-serif;
/*font-size: 90%;*/
}
/* a.objectname does not appear to be used in reference pages */
a.objectname {
color: black;
font-weight: normal;
}
/* p.digest is the one-line description of an object below its name
* in a reference page -- but where does it get this font?
*/
p.digest {
font-size: 10pt;
font-style: italic;
}
/* sets information about the message list on a reference page
* the last margin number was -3 but I (ddz) think it looks better at 0
* it sets the left margin
* the first margin number is the top margin, don't see anything that the
* second number does -- the third number sets the bottom of the table margin
* can't see an effect of padding being non-zero
*/
table{
width: 100%;
margin: 0 0 0 0;
padding: 0;
border-collapse: collapse;
}
/* cannot find how th applies to a reference page */
th{
text-align: left;
font-style: italic;
font-weight: normal;
font-size: 10pt;
border-bottom: 1px solid #999;
margin: 0;
padding: 2px;
padding-top: 4px;
}
/* td is the font for the first two columns of the message list table
* the first column being the message name, the second being input [int] etc.
*/
td{
vertical-align: top;
margin-top: 0;
/*padding-top: 0;*/
padding: 0 10px 0 0;
border-top: 1px solid #ddd;
/*background-color: #eee;*/
font-family: "Lucida Sans Unicode", "Lucida Sans", "Lucida Grande", Verdana, sans-serif;
font-size: 9.5pt;
}
/* td.description is the description of each message in the message table
*/
td.description{
font-family: Georgia;
font-size: 9.5pt;
padding-bottom: 3px;
padding-top: 2px;
font-style: normal;
}
/* td.liveapi is the document basestyle. We use it when making a custom table
* using classical table tags (created for rsu/live.api)
*/
td.liveapi{
font-family: Georgia;
font-size: 9.5pt;
padding-bottom: 3px;
padding-top: 2px;
font-style: normal;
}
td.i{
font-style: italic;
}
/* cannot find how .objectname applies to a reference page -- is this o? */
.objectname {
;
}
/* .messagename is used for showing a message name such as int within a
* paragraph in a reference page. That's why its display is "inline" Is this m?
*/
.messagename {
display: inline;
font-family: "Lucida Sans Unicode", "Lucida Sans", "Lucida Grande", Verdana, sans-serif;
/*font-weight: bold;*/
font-size: 9.5pt;
}
/* cannot find how .attrname applies to a reference page -- is this a? */
.attrname {
font-style: italic;
}
/* cannot find how .inletname applies to a reference page */
.inletname {
display: inline;
font-family: "Lucida Sans Unicode", "Lucida Sans", "Lucida Grande", Verdana, sans-serif;
font-weight: normal;
font-size: 9.5pt;
}
.defaultval {
font-style: italic;
font-size: smaller;
}
#inlet_section table{
;
}
#outlet_section{
;
}
#argument_section th.description{
width: 65%;
}
#argument_section td.description{
width: 65%;
}
#argument_section td.optional{
width: 5%;
}
#method_section th.description{
width: 65%;
}
#method_section td.description{
width: 65%;
}
#attr_section th.description{
width: 65%;
}
#attr_section td.description{
width: 65%;
}
.arglist_arg{
/* in the original XSLT it had a <br/> at the end of each one.
What to do here?
*/
}
#examples_section {
;
}
#seealso_section th.name {
width: 30%;
}
/* misc_section .messagename is the style for a message name in a description
* in the Output sections in a reference page.
*/
#misc_section .messagename{
/*font-size: 100%;*/
}
/* misc_section is the specification of the description of output in a
* reference page
*/
#misc_section{
font-size: 9.5pt;
}
/* misc_section .outputmessage is the kind of output you see, i.e., "bang" in the
* output section in a reference page
*/
#misc_section .outputmessage {
text-align: left;
font-style: italic;
font-size: 10pt;
font-weight: normal;
border-bottom: 1px solid #999;
margin: 0;
padding: 2px;
}
/* misc_section .description is the normal description text on the
* reference page. We're reiterating the 9.5pt for combinations of
* (for example) outputmessage + description on the same line
*/
#misc_section .description {
font-style: normal;
font-size: 9.5pt;
font-weight: normal;
}
/* cannot determine what misc_section .name does */
#misc_section .name {
;
}
/* cannot determine what misc_section .digest does -- perhaps there is no digest content? */
#misc_section .digest{
; /* inherits some stuff from the normal digest class*/
}
#mop_section{
;
}
#ob3d_section{
;
}
/* presumably this is for the jargon tag -- is that implemented? */
.jargon {
border: 1px solid #999;
color:red;
}
/* cannot get this to do anything reference-wise, maybe "t" is for tutorial? */
.theader {
border: 1px solid #CCC;
padding: 0px 15px 0px 15px;
background-color: #EEE;
}
/* cannot get this to do anything */
.tentry {
border: 1px solid #CCC;
padding: 0px 15px 0px 15px;
}
.noframe {
padding: 0px 0px;
}
/*
Can use the following for doing tables with appearance that alternates by row
*/
/*
.row_odd {
background: #eee;
}
.row_even {
background: #ced;
}
.row_odd_nested {
background: #dec;
}
.row_even_nested {
background: #ecd;
}
*/
.searchresults li p{
margin-top: 0;
margin-bottom: 0;
padding-top: 0;
padding-bottom: 0;
font-size: smaller;
}
#liveapi_section {
margin-top: 15px;
margin-bottom: 15px;
}
#liveapi_section h3 {
margin-top: 0px;
margin-bottom: 0px;
font-size: 13pt;
color: #446;
background-color: #EEE;
border: solid 1px #DDD;
margin-top: 0;
margin-bottom: 4px;
}
#liveapi_section h4 {
color: #446;
background-color: #EEF;
margin-top: 8px;
margin-bottom: 0px;
}
#liveapi_section .path {
margin-top: 8px;
margin-left: 16px;
vertical-align: top;
padding: 0 10px 0 0;
border-top: 1px solid #ddd;
font-family: "Lucida Sans Unicode", "Lucida Sans", "Lucida Grande", Verdana, sans-serif;
font-size: 9.5pt;
}
#liveapi_section th {
padding-left: 16px;
}
#liveapi_section td {
padding-left: 16px;
}
#liveapi_section .none {
margin-top: 8px;
margin-left: 16px;
}
@@ -0,0 +1,26 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<!--
Copyright (c) 2012 Cycling '74
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies
or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->
<root>
<setting name="jargon_enable" value="1"/>
<setting name="jargon_mouseover" value="1"/>
<setting name="kernel" value="0"/>
</root>
@@ -0,0 +1,712 @@
<?xml version="1.0"?>
<!--
Copyright (c) 2012 Cycling '74
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies
or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:strip-space elements="*"/>
<xsl:output method="html"
doctype-public="-//W3C//DTD HTML 4.01//EN"
doctype-system="http://www.w3.org/TR/html4/strict.dtd"
encoding="UTF-8"
xml:lang="en"
indent="yes" />
<xsl:variable name="kernel">
<xsl:choose>
<xsl:when test="$compliant=1">
<xsl:value-of select="document('./_c74_common.xml')/root/setting[@name='kernel']/@value"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="document('./../_c74_common.xml')/root/setting[@name='kernel']/@value"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!--
markup elements
-->
<xsl:template name="name_replace">
<xsl:param name="name"/>
<xsl:choose>
<xsl:when test="starts-with($name,'&gt;=')">
<xsl:value-of select="concat('greaterthaneq',substring-after($name,'&gt;='))"/>
</xsl:when>
<xsl:when test="starts-with($name,'&lt;=')">
<xsl:value-of select="concat('lessthaneq',substring-after($name,'&lt;='))"/>
</xsl:when>
<xsl:when test="starts-with($name,'==')">
<xsl:value-of select="concat('equals',substring-after($name,'=='))"/>
</xsl:when>
<xsl:when test="starts-with($name,'!=')">
<xsl:value-of select="concat('notequals',substring-after($name,'!='))"/>
</xsl:when>
<xsl:when test="starts-with($name,'!-')">
<xsl:value-of select="concat('rminus',substring-after($name,'!-'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'!/')">
<xsl:value-of select="concat('rdiv',substring-after($name,'!='))"/>
</xsl:when>
<xsl:when test="starts-with($name,'&amp;&amp;')">
<xsl:value-of select="concat('logand',substring-after($name,'&amp;&amp;'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'||')">
<xsl:value-of select="concat('logor',substring-after($name,'||'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'&lt;&lt;')">
<xsl:value-of select="concat('shiftleft',substring-after($name,'&lt;&lt;'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'&gt;&gt;')">
<xsl:value-of select="concat('shiftright',substring-after($name,'&gt;&gt;'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'+=')">
<xsl:value-of select="concat('plusequals',substring-after($name,'+='))"/>
</xsl:when>
<xsl:when test="starts-with($name,'+')">
<xsl:value-of select="concat('plus',substring-after($name,'+'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'-')">
<xsl:value-of select="concat('minus',substring-after($name,'-'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'*')">
<xsl:value-of select="concat('times',substring-after($name,'*'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'/')">
<xsl:value-of select="concat('div',substring-after($name,'/'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'&gt;')">
<xsl:value-of select="concat('greaterthan',substring-after($name,'&gt;'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'&lt;')">
<xsl:value-of select="concat('lessthan',substring-after($name,'&lt;'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'&amp;')">
<xsl:value-of select="concat('bitand',substring-after($name,'&amp;'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'|')">
<xsl:value-of select="concat('bitor',substring-after($name,'|'))"/>
</xsl:when>
<xsl:when test="starts-with($name,'%')">
<xsl:value-of select="concat('modulo',substring-after($name,'%'))"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$name"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="a">
<xsl:element name="a">
<xsl:if test="@href">
<xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
</xsl:if>
<xsl:if test="@name">
<xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
</xsl:if>
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<xsl:template match="embed">
<xsl:element name="embed">
<xsl:attribute name="src"><xsl:value-of select="@src"/></xsl:attribute>
<xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute>
<xsl:attribute name="height"><xsl:value-of select="@height"/></xsl:attribute>
<xsl:attribute name="autoplay"><xsl:value-of select="@autoplay"/></xsl:attribute>
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<xsl:template match="area">
<xsl:element name="area">
<xsl:attribute name="shape"><xsl:value-of select="@shape"/></xsl:attribute>
<xsl:attribute name="coords"><xsl:value-of select="@coords"/></xsl:attribute>
<xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
<xsl:attribute name="alt"><xsl:value-of select="@alt"/></xsl:attribute>
</xsl:element>
</xsl:template>
<xsl:template match="map">
<xsl:element name="map">
<xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="img">
<xsl:element name="img">
<xsl:attribute name="src"><xsl:value-of select="@src"/></xsl:attribute>
<xsl:if test="@width">
<xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute>
</xsl:if>
<xsl:if test="@height">
<xsl:attribute name="height"><xsl:value-of select="@height"/></xsl:attribute>
</xsl:if>
<xsl:if test="@border">
<xsl:attribute name="border"><xsl:value-of select="@border"/></xsl:attribute>
</xsl:if>
<xsl:if test="@alt">
<xsl:attribute name="alt"><xsl:value-of select="@alt"/></xsl:attribute>
</xsl:if>
<xsl:if test="@title">
<xsl:attribute name="title"><xsl:value-of select="@title"/></xsl:attribute>
</xsl:if>
<xsl:if test="@usemap">
<xsl:attribute name="usemap"><xsl:value-of select="@usemap"/></xsl:attribute>
</xsl:if>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="p">
<p><xsl:value-of select="normalize-space(.)"/></p>
</xsl:template>
<xsl:template name="refurl">
<xsl:param name="name"/>
<xsl:variable name="refname">
<xsl:call-template name="name_replace">
<xsl:with-param name="name" select="$name"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="filename"><xsl:value-of select="$refname"/>.maxref.xml</xsl:variable>
<xsl:variable name="temp">
<xsl:for-each select="document(concat($refs_root_loc,'/_c74_ref_modules.xml'))/root/module">
<xsl:if test="document(concat($refs_root_loc,'/',normalize-space(.),'/_c74_contents.xml'))/root/refpage[@name=$filename]">
<xsl:value-of select="concat($refs_root_link,'/',normalize-space(.),'/',$filename)"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:choose>
<!-- note this delicious hack to return the first one found, even if there are multiples. yummy. -->
<xsl:when test="$temp"><xsl:value-of select="concat(substring-before($temp, '.xml'), '.xml')"/></xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$kernel='1' and document(concat($refs_root_loc,'/kernel-ref/_c74_contents.xml'))/root/refpage[@name=$filename]">
<xsl:value-of select="concat($refs_root_link,'/kernel-ref/', $filename)"/>
</xsl:when>
<xsl:otherwise><xsl:value-of select="concat($refs_root_link,'/max-ref/jbogus.maxref.xml')"/></xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="refpage">
<xsl:param name="refname"/>
<xsl:param name="dispname"/>
<xsl:param name="tingename"/>
<a>
<xsl:attribute name="href">
<xsl:call-template name="refurl">
<xsl:with-param name="name" select="$refname"/>
</xsl:call-template>
</xsl:attribute>
<xsl:if test="$tingename != ''">
<xsl:attribute name="OnMouseOver">
<xsl:value-of select="concat('parent.location.href=', '&quot;', 'max:tinge/', $patchname, '/', $tingename, '&quot;')"/>
</xsl:attribute>
<!-- <xsl:attribute name="OnMouseOut">
<xsl:value-of select="concat('parent.location.href=', '&quot;', 'max:tinge/', '&quot;')"/>
</xsl:attribute> -->
</xsl:if>
<xsl:value-of select="$dispname"/>
<!-- <xsl:apply-templates/> -->
</a>
</xsl:template>
<xsl:template name="object_link">
<xsl:param name="name"/>
<xsl:param name="objname"/>
<xsl:param name="dispname"/>
<xsl:variable name="oname">
<xsl:value-of select="normalize-space($name)"/>
</xsl:variable>
<xsl:variable name="dname">
<xsl:choose>
<xsl:when test="$dispname!=''">
<xsl:value-of select="normalize-space($dispname)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="normalize-space($name)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="/c74object/@name=$oname">
<a class="hilit">
<xsl:value-of select="normalize-space($dispname)"/>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="refpage">
<xsl:with-param name="refname" select="$oname"/>
<xsl:with-param name="dispname" select="$dname"/>
<xsl:with-param name="tingename" select="$objname"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="br">
<br/>
</xsl:template>
<xsl:template match="m/text()">
<xsl:value-of select="normalize-space(.)"/>
<xsl:if test="contains(concat(.,'^$%'),' ^$%') and following-sibling::* and
not(following-sibling::*[1]/node()[1][self::text() and starts-with(.,' ')])">
<xsl:text> </xsl:text>
</xsl:if>
</xsl:template>
<!-- <xsl:template match="m/*/text()">
<xsl:if test="starts-with(.,' ')"><xsl:text> </xsl:text></xsl:if>
<xsl:value-of select="normalize-space(.)"/>
<xsl:if test="contains(concat(.,'^$%'),' ^$%') or
../following-sibling::node()[1][self::text() and starts-with(.,' ')]">
<xsl:text> </xsl:text>
</xsl:if>
</xsl:template> -->
<xsl:template match="m">
<span class="messagename">
<xsl:apply-templates />
<!-- <xsl:value-of select="normalize-space(.)"/>
We wanted to allow <i></i> inside of <m></m>,
this required to apply templates. Question
is, if not normalizing spaces causes issues
in existing Max ref pages.-->
</span>
</xsl:template>
<xsl:template match="j">
<xsl:choose>
<xsl:when test="$jargon_enable=1">
<a>
<xsl:choose>
<xsl:when test="$jargon_mouseover=1">
<xsl:attribute name="href">#</xsl:attribute>
<xsl:attribute name="OnMouseOver">
<xsl:value-of select="concat('parent.location.href=', '&quot;', 'max:jargon/', normalize-space(.), '&quot;')"/>
</xsl:attribute>
<xsl:attribute name="OnMouseOut">
<xsl:value-of select="concat('parent.location.href=', '&quot;', 'max:jargon/clear', '&quot;')"/>
</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="href">
<xsl:value-of select="concat('max:jargon/', normalize-space(.))"/>
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<span class="jargon">
<xsl:value-of select="normalize-space(.)"/>
</span>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="normalize-space(.)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="b">
<strong>
<xsl:apply-templates/>
</strong>
</xsl:template>
<xsl:template match="i">
<em>
<xsl:apply-templates/>
</em>
</xsl:template>
<xsl:template match="bi">
<strong><em>
<xsl:apply-templates/>
</em></strong>
</xsl:template>
<xsl:template match="space">
<xsl:text> </xsl:text>
</xsl:template>
<xsl:template match="basestyle">
<div class="basestyle">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="header">
<div class="header1">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="header1">
<div class="header1">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="header2">
<div class="header2">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="header3">
<div class="header3">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="body">
<div class="bodytext">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="bodytext">
<div class="bodytext">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="sidebartext">
<div class="sidebartext">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="bluebox">
<div class="bluebox">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="ul">
<ul>
<xsl:apply-templates/>
</ul>
</xsl:template>
<xsl:template match="li">
<li>
<xsl:apply-templates/>
</li>
</xsl:template>
<xsl:template match="subhead">
<div class="header2">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="summary">
<div class="header2">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="subsubhead">
<div class="header2">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="codeexample">
<div class="bodytext">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="illustration">
<div class="imagebox">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="caption">
<div class="caption">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="bullet">
<div class="bodytext">
&#8226; <xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="code">
<pre>
<xsl:apply-templates/>
</pre>
</xsl:template>
<xsl:template match="sup">
<a class="sup">
<xsl:apply-templates/>
</a>
</xsl:template>
<xsl:template match="sub">
<a class="sub">
<xsl:apply-templates/>
</a>
</xsl:template>
<xsl:template match="tab">
<span style="display:none">TABSTOP</span><span style="margin-left:20px"></span>
</xsl:template>
<xsl:template match="techdetail">
<div class="detail">
<div class="bodytext">
<xsl:apply-templates/>
</div>
</div>
</xsl:template>
<xsl:template match="table">
<table>
<xsl:apply-templates/>
</table>
</xsl:template>
<xsl:template match="tr">
<tr>
<xsl:apply-templates/>
</tr>
</xsl:template>
<xsl:template match="th">
<th>
<xsl:apply-templates/>
</th>
</xsl:template>
<xsl:template match="td">
<xsl:element name="td">
<xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute>
<xsl:attribute name="class"><xsl:value-of select="@class"/></xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="detail">
<div class="detail">
<xsl:apply-templates/>
</div>
</xsl:template>
<!--
See Also
-->
<xsl:template match="seealsolist">
<div id="seealso_section">
<h2>See Also</h2>
<table>
<tr>
<th class="name">Name</th>
<th class="description">Description</th>
</tr>
<xsl:for-each select="seealso">
<tr>
<xsl:choose>
<xsl:when test="position() mod 2 = 0">
<xsl:attribute name="class">row_even</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="class">row_odd</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<td>
<xsl:choose>
<xsl:when test="@display">
<xsl:call-template name="handle_link">
<xsl:with-param name="linkname" select="@name" />
<xsl:with-param name="linktype" select="@type" />
<xsl:with-param name="linkmodule" select="@module" />
<xsl:with-param name="linkanchor" select="@anchor" />
<xsl:with-param name="linkdisplay" select="@display" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="handle_link">
<xsl:with-param name="linkname" select="@name" />
<xsl:with-param name="linktype" select="@type" />
<xsl:with-param name="linkmodule" select="@module" />
<xsl:with-param name="linkanchor" select="@anchor" />
<xsl:with-param name="linkdisplay" />
<!-- <xsl:with-param name="linkdisplay" select="@name" /> -->
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</td>
<td class="description">
<xsl:call-template name="seealsodescription">
<xsl:with-param name="linkname" select="@name" />
<xsl:with-param name="linktype" select="@type" />
<xsl:with-param name="linkmodule" select="@module" />
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
</table>
</div>
</xsl:template>
<xsl:template name="docurl">
<xsl:param name="linkname"/>
<xsl:param name="linktype"/>
<xsl:param name="linkmodule"/>
<xsl:variable name="module">
<xsl:if test="$linkmodule">
<xsl:choose>
<!-- TYPE_SPECIFIC -->
<xsl:when test="$linktype='vignette'">
<xsl:value-of select="$linkmodule" /><xsl:text>/</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$linkmodule='max'">max-tut/</xsl:when>
<xsl:when test="$linkmodule='msp'">msp-tut/</xsl:when>
<xsl:when test="$linkmodule='jitter'">jit-tut/</xsl:when>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:variable>
<xsl:variable name="baseloc">
<xsl:choose>
<!-- TYPE_SPECIFIC -->
<xsl:when test="$linktype='vignette'">../../vignettes/</xsl:when>
<xsl:when test="$linkmodule!=''">../../tutorials/</xsl:when>
<xsl:otherwise>./</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="suffix">
<xsl:choose>
<xsl:when test="$linktype='vignette'">.maxvig.xml</xsl:when>
<!-- TYPE_SPECIFIC -->
<xsl:otherwise>.maxtut.xml</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="concat($baseloc, $module, $linkname, $suffix)"/>
</xsl:template>
<xsl:template match="link">
<xsl:call-template name="handle_link">
<xsl:with-param name="linkname" select="@name" />
<xsl:with-param name="linktype" select="@type" />
<xsl:with-param name="linkmodule" select="@module" />
<xsl:with-param name="linkanchor" select="@anchor" />
<xsl:with-param name="linkdisplay" select="." />
</xsl:call-template>
</xsl:template>
<xsl:template name="handle_link">
<xsl:param name="linkname"/>
<xsl:param name="linktype"/>
<xsl:param name="linkmodule"/>
<xsl:param name="linkanchor"/>
<xsl:param name="linkdisplay"/>
<xsl:choose>
<!-- REFPAGE HANDLED SPECIALLY FOR EASE -->
<xsl:when test="$linktype='refpage' or not(string($linktype))">
<xsl:call-template name="object_link">
<xsl:with-param name="name" select="$linkname"/>
<xsl:with-param name="dispname" select="$linkdisplay"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="url">
<xsl:call-template name="docurl">
<xsl:with-param name="linkname" select="$linkname"/>
<xsl:with-param name="linktype" select="$linktype"/>
<xsl:with-param name="linkmodule" select="$linkmodule"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="hash">
<xsl:choose>
<xsl:when test="$linkanchor!=''">#<xsl:value-of select="$linkanchor"/></xsl:when>
<xsl:otherwise/>
</xsl:choose>
</xsl:variable>
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat($url, $hash)"/>
</xsl:attribute>
<!-- the document call uses the url relative to THIS document. seriously. -->
<xsl:choose>
<xsl:when test="string($linkdisplay)"><xsl:value-of select="normalize-space($linkdisplay)" /></xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$linktype='vignette'"><xsl:value-of select="document(concat('.', substring-after($url, '../..')))/vignette/@name"/></xsl:when>
<xsl:otherwise><xsl:value-of select="document(concat('.', substring-after($url, '../..')))/chapter/@name"/></xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="seealsodescription">
<xsl:param name="linkname"/>
<xsl:param name="linktype"/>
<xsl:param name="linkmodule"/>
<xsl:choose>
<!-- REFPAGE HANDLED SPECIALLY FOR EASE -->
<xsl:when test="$linktype='refpage' or not(string($linktype))">
<xsl:variable name="url">
<xsl:call-template name="refurl">
<xsl:with-param name="name" select="$linkname"/>
</xsl:call-template>
</xsl:variable>
<!-- <xsl:value-of select="$url"/> -->
<xsl:value-of select="document(concat('.', substring-after($url, '../..')))/c74object/digest"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="url">
<xsl:call-template name="docurl">
<xsl:with-param name="linkname" select="$linkname"/>
<xsl:with-param name="linktype" select="$linktype"/>
<xsl:with-param name="linkmodule" select="$linkmodule"/>
</xsl:call-template>
</xsl:variable>
<!-- the document call uses the url relative to THIS document. seriously. -->
<xsl:choose>
<xsl:when test="$linktype='vignette'"><xsl:value-of select="document(concat('.', substring-after($url, '../..')))/vignette/@name"/></xsl:when>
<xsl:otherwise><xsl:value-of select="document(concat('.', substring-after($url, '../..')))/chapter/@name"/></xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
@@ -0,0 +1,41 @@
<!--
Copyright (c) 2012 Cycling '74
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies
or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Compatibility Notice</title>
<meta name="generator" content="TextMate http://macromates.com/">
<meta name="author" content="Jeremy Bernstein">
<!-- Date: 2008-03-07 -->
</head>
<body>
<p>
If you are reading this, you are running Max 5 on OSX 10.4.10 or below. Unfortunately, due to bugs in Apple's web browser support in these versions of the operating system, the Max 5 in-application documentation won't display properly.</p>
<p>
We recommend updating to <a href="max:launch_browser/http:%2F%2Fdocs.info.apple.com%2Farticle.html?artnum=306297">OSX 10.4.11</a> and apologize for any inconvenience this may cause.</p>
<!-- N.B. MAYBE WE SHOULD OFFER AN HTML-RENDERED VERSION OF THE DOCS FOR DOWNLOAD. -->
</body>
</html>
@@ -0,0 +1,34 @@
<?xml version="1.0"?>
<!--
Copyright (c) 2012 Cycling '74
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies
or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:variable name="compliant">
<xsl:choose>
<xsl:when test="system-property('xsl:vendor')='Microsoft' or system-property('xsl:vendor')='Transformiix'">1</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="document('./_c74_common.xml')/root = ''">1</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
</xsl:stylesheet>
@@ -0,0 +1,43 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<!--
Copyright (c) 2012 Cycling '74
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies
or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->
<root>
<module>FrameLib Binary</module>
<module>FrameLib Buffer</module>
<module>FrameLib Complex_Binary</module>
<module>FrameLib Complex_Unary</module>
<module>FrameLib Expressions</module>
<module>FrameLib Filters</module>
<module>FrameLib Generators</module>
<module>FrameLib Host_Communication</module>
<module>FrameLib IO</module>
<module>FrameLib Mapping</module>
<module>FrameLib Parameters</module>
<module>FrameLib Routing</module>
<module>FrameLib Schedulers</module>
<module>FrameLib Spatial</module>
<module>FrameLib Spectral</module>
<module>FrameLib Storage</module>
<module>FrameLib Streaming</module>
<module>FrameLib Ternary</module>
<module>FrameLib Time_Smoothing</module>
<module>FrameLib Timing</module>
<module>FrameLib Unary</module>
<module>FrameLib Vector</module>
</root>
@@ -0,0 +1,93 @@
{
"pattrstorage" : {
"name" : "stochSynth",
"slots" : {
"1" : {
"id" : 1,
"data" : {
"1_FrameInterval" : [ 32.382355 ],
"1_FrameLength" : [ 76.455879 ],
"2_FrameInterval" : [ ],
"2_FrameLength" : [ 164.602936 ],
"randcontrol" : [ 0.1166 ]
}
}
,
"2" : {
"id" : 2,
"data" : {
"1_FrameInterval" : [ 61.764706 ],
"1_FrameLength" : [ 76.455879 ],
"2_FrameInterval" : [ 105.838234 ],
"2_FrameLength" : [ 1457.426514 ],
"randcontrol" : [ 0.29 ]
}
}
,
"3" : {
"id" : 3,
"data" : {
"1_FrameInterval" : [ 47.073528 ],
"1_FrameLength" : [ 17.691177 ],
"2_FrameInterval" : [ 208.676468 ],
"2_FrameLength" : [ 3.0 ],
"randcontrol" : [ 0.29 ]
}
}
,
"4" : {
"id" : 4,
"data" : {
"1_FrameInterval" : [ 91.147057 ],
"1_FrameLength" : [ 664.102966 ],
"2_FrameInterval" : [ 193.985291 ],
"2_FrameLength" : [ 443.735291 ],
"randcontrol" : [ 0.00525 ]
}
}
,
"5" : {
"id" : 5,
"data" : {
"1_FrameInterval" : [ 193.985291 ],
"1_FrameLength" : [ 2529.882324 ],
"2_FrameInterval" : [ 326.205872 ],
"2_FrameLength" : [ 2412.353027 ],
"randcontrol" : [ 0.017514 ]
}
}
,
"6" : {
"id" : 6,
"data" : {
"1_FrameInterval" : [ 193.985291 ],
"1_FrameLength" : [ 2529.882324 ],
"2_FrameInterval" : [ 76.455879 ],
"2_FrameLength" : [ 208.676468 ],
"randcontrol" : [ 0.017514 ]
}
}
,
"7" : {
"id" : 7,
"data" : {
"1_FrameInterval" : [ ],
"1_FrameLength" : [ ],
"2_FrameInterval" : [ ],
"2_FrameLength" : [ ],
"randcontrol" : [ ]
}
}
}
}
}
@@ -0,0 +1,288 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 1,
"revision" : 0,
"architecture" : "x86",
"modernui" : 1
}
,
"rect" : [ 563.0, 183.0, 469.0, 273.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"patching_rect" : [ 292.0, 66.0, 35.0, 22.0 ],
"style" : "",
"text" : "== 2"
}
}
, {
"box" : {
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"patching_rect" : [ 188.0, 66.0, 35.0, 22.0 ],
"style" : "",
"text" : "== 1"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 188.0, 31.0, 79.0, 22.0 ],
"style" : "",
"text" : "loadmess #4"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 124.0, 147.0, 83.0, 22.0 ],
"style" : "",
"text" : "loadmess #3"
}
}
, {
"box" : {
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 353.0, 66.0, 79.0, 22.0 ],
"style" : "",
"text" : "loadmess #1"
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 89.333336, 31.0, 83.0, 22.0 ],
"style" : "",
"text" : "loadmess #2"
}
}
, {
"box" : {
"id" : "obj-25",
"maxclass" : "newobj",
"numinlets" : 4,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 40.0, 179.0, 271.0, 22.0 ],
"style" : "",
"text" : "LinFilter 1 32768"
}
}
, {
"box" : {
"id" : "obj-21",
"maxclass" : "newobj",
"numinlets" : 4,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 40.0, 107.0, 167.0, 22.0 ],
"style" : "",
"text" : "LinFilter 2 32768"
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-14",
"maxclass" : "inlet",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 40.0, 62.0, 30.0, 30.0 ],
"style" : ""
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-15",
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 40.0, 219.0, 30.0, 30.0 ],
"style" : ""
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-25", 1 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-21", 1 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"color" : [ 1.0, 0.0, 0.0, 1.0 ],
"destination" : [ "obj-21", 2 ],
"disabled" : 0,
"hidden" : 0,
"midpoints" : [ 362.5, 97.0, 148.166672, 97.0 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"color" : [ 1.0, 0.0, 0.0, 1.0 ],
"destination" : [ "obj-25", 2 ],
"disabled" : 0,
"hidden" : 0,
"midpoints" : [ 362.5, 171.0, 217.5, 171.0 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-21", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-3", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"disabled" : 0,
"hidden" : 0,
"midpoints" : [ 197.5, 59.0, 301.5, 59.0 ],
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-25", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-21", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-15", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-25", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-21", 3 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-25", 3 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-4", 0 ]
}
}
],
"dependency_cache" : [ {
"name" : "LinFilter.maxpat",
"bootpath" : "~/Desktop/Framelib Demos/FL Internal Alpha 0.02/Demos",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "multiconvolve~.mxo",
"type" : "iLaX"
}
],
"autosave" : 0
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,446 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 0,
"revision" : 0,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ 142.0, 199.0, 961.0, 480.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 11.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 0,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"boxes" : [ {
"box" : {
"id" : "obj-17",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"patching_rect" : [ 329.0, 248.0, 24.0, 21.0 ],
"text" : "t b"
}
}
, {
"box" : {
"id" : "obj-15",
"linecount" : 3,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 756.0, 193.5, 150.0, 43.0 ],
"text" : "Using bin index information take data out of jitter matrices."
}
}
, {
"box" : {
"id" : "obj-10",
"linecount" : 2,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 361.0, 289.5, 164.0, 31.0 ],
"text" : "When it receives a bang store the frame in jit.matrix"
}
}
, {
"box" : {
"id" : "obj-6",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 336.0, 101.5, 87.0, 19.0 ],
"text" : "Compute FFT"
}
}
, {
"box" : {
"id" : "obj-4",
"linecount" : 4,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 15.0, 14.0, 584.0, 56.0 ],
"text" : "This patch uses jitter matrices to store frames of data produced by pfft~. When a bang is received at jit.catch~ the frame is stored in a 2d jitter matrix 'oneframe'. Each 'row' of the jitter matrix stores the real and imaginary components respectively. Using the bin index outlet of fftin~, this held frames are recalled and passed to an inverse FFT calculation."
}
}
, {
"box" : {
"id" : "obj-2",
"linecount" : 4,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 78.0, 100.0, 149.0, 56.0 ],
"text" : "Extract the fft window size and match dimensions of our matrix and catch objects to it"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-14",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "signal", "" ],
"patching_rect" : [ 563.0, 186.0, 130.0, 22.0 ],
"text" : "jit.peek~ oneframe 1 0"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-39",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "signal", "" ],
"patching_rect" : [ 620.0, 224.0, 130.0, 22.0 ],
"text" : "jit.peek~ oneframe 1 1"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-36",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 563.0, 331.0, 107.0, 22.0 ],
"text" : "fftout~ 1 blackman"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-35",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patching_rect" : [ 235.0, 295.0, 124.0, 22.0 ],
"text" : "jit.catch~ 2 @mode 2"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-34",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patching_rect" : [ 235.0, 327.0, 189.0, 22.0 ],
"text" : "jit.matrix oneframe 2 float32 2048"
}
}
, {
"box" : {
"id" : "obj-29",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 28.5, 186.0, 46.0, 21.0 ],
"text" : "dim $1"
}
}
, {
"box" : {
"id" : "obj-28",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 74.5, 186.0, 77.0, 21.0 ],
"text" : "framesize $1"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-26",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 4,
"outlettype" : [ "int", "int", "int", "int" ],
"patching_rect" : [ 15.0, 100.0, 59.5, 22.0 ],
"text" : "fftinfo~"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-24",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "signal", "signal", "signal" ],
"patching_rect" : [ 235.0, 100.0, 99.0, 22.0 ],
"text" : "fftin~ 1 blackman"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-23",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 329.0, 211.0, 30.0, 22.0 ],
"text" : "in 1"
}
}
, {
"box" : {
"background" : 1,
"bgcolor" : [ 0.784314, 0.145098, 0.023529, 1.0 ],
"fontface" : 1,
"hint" : "",
"id" : "obj-18",
"ignoreclick" : 1,
"legacytextcolor" : 1,
"maxclass" : "textbutton",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "", "", "int" ],
"parameter_enable" : 0,
"patching_rect" : [ 908.0, 207.0, 20.0, 20.0 ],
"rounded" : 60.0,
"text" : "3",
"textcolor" : [ 1.0, 1.0, 1.0, 1.0 ]
}
}
, {
"box" : {
"background" : 1,
"bgcolor" : [ 0.784314, 0.145098, 0.023529, 1.0 ],
"fontface" : 1,
"hint" : "",
"id" : "obj-11",
"ignoreclick" : 1,
"legacytextcolor" : 1,
"maxclass" : "textbutton",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "", "", "int" ],
"parameter_enable" : 0,
"patching_rect" : [ 513.0, 296.0, 20.0, 20.0 ],
"rounded" : 60.0,
"text" : "2",
"textcolor" : [ 1.0, 1.0, 1.0, 1.0 ]
}
}
, {
"box" : {
"background" : 1,
"bgcolor" : [ 0.784314, 0.145098, 0.023529, 1.0 ],
"fontface" : 1,
"hint" : "",
"id" : "obj-12",
"ignoreclick" : 1,
"legacytextcolor" : 1,
"maxclass" : "textbutton",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "", "", "int" ],
"parameter_enable" : 0,
"patching_rect" : [ 419.0, 101.5, 20.0, 20.0 ],
"rounded" : 60.0,
"text" : "1",
"textcolor" : [ 1.0, 1.0, 1.0, 1.0 ]
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-36", 0 ],
"midpoints" : [ 572.5, 210.0, 572.5, 210.0 ],
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 0 ],
"source" : [ "obj-17", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-17", 0 ],
"source" : [ "obj-23", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"midpoints" : [ 324.5, 171.0, 572.5, 171.0 ],
"order" : 1,
"source" : [ "obj-24", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 1 ],
"midpoints" : [ 284.5, 282.0, 349.5, 282.0 ],
"source" : [ "obj-24", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 0 ],
"source" : [ "obj-24", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-39", 0 ],
"midpoints" : [ 324.5, 171.0, 629.5, 171.0 ],
"order" : 0,
"source" : [ "obj-24", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-28", 0 ],
"order" : 0,
"source" : [ "obj-26", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-29", 0 ],
"order" : 1,
"source" : [ "obj-26", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 0 ],
"source" : [ "obj-28", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-34", 0 ],
"source" : [ "obj-29", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-34", 0 ],
"source" : [ "obj-35", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-36", 1 ],
"midpoints" : [ 629.5, 249.0, 660.5, 249.0 ],
"source" : [ "obj-39", 0 ]
}
}
],
"styles" : [ {
"name" : "newobjBlue-1",
"default" : {
"accentcolor" : [ 0.317647, 0.654902, 0.976471, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "newobjYellow-1",
"default" : {
"fontsize" : [ 12.059008 ],
"accentcolor" : [ 0.82517, 0.78181, 0.059545, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "numberGold-1",
"default" : {
"accentcolor" : [ 0.764706, 0.592157, 0.101961, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
],
"bgfillcolor_type" : "gradient",
"bgfillcolor_color1" : [ 0.376471, 0.384314, 0.4, 1.0 ],
"bgfillcolor_color2" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_color" : [ 0.290196, 0.309804, 0.301961, 1.0 ]
}
}
@@ -0,0 +1,208 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 0,
"revision" : 5,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ 34.0, 78.0, 652.0, 788.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"boxes" : [ {
"box" : {
"id" : "obj-2",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 124.0, 237.199996999999996, 233.0, 20.0 ],
"text" : "Window each frame with a cosine function"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 17.0, 237.199996999999996, 105.0, 22.0 ],
"text" : "fl.window~ cosine"
}
}
, {
"box" : {
"id" : "obj-22",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 65.0, 304.200012000000015, 146.0, 20.0 ],
"text" : "Convert frames into MSP"
}
}
, {
"box" : {
"id" : "obj-21",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 145.0, 171.199996999999996, 144.0, 20.0 ],
"text" : "Read from the rain buffer"
}
}
, {
"box" : {
"id" : "obj-17",
"linecount" : 2,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 241.0, 97.699996999999996, 240.0, 33.0 ],
"text" : "Generate a frame of sequential millisecond positions to read from the buffer 'rain'."
}
}
, {
"box" : {
"id" : "obj-5",
"linecount" : 2,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 127.0, 30.5, 150.0, 33.0 ],
"text" : "Generate a trigger frame 75 milliseconds"
}
}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 17.0, 304.200012000000015, 48.0, 22.0 ],
"text" : "fl.sink~"
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 17.0, 36.0, 102.0, 22.0 ],
"text" : "fl.interval~ 75 ms"
}
}
, {
"box" : {
"id" : "obj-7",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 17.0, 103.199996999999996, 222.0, 22.0 ],
"text" : "fl.ramp~ /length 150 /units ms /scale ms"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 17.0, 170.199996999999996, 126.0, 22.0 ],
"text" : "fl.read~ rain /units ms"
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-27",
"index" : 1,
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 17.0, 371.200012000000015, 30.0, 30.0 ]
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-9", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"source" : [ "obj-4", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-7", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"source" : [ "obj-8", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-27", 0 ],
"source" : [ "obj-9", 0 ]
}
}
]
}
}
@@ -0,0 +1,346 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 766.0, 180.0, 640.0, 480.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 11.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 0,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"boxes" : [ {
"box" : {
"id" : "obj-21",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 120.0, 188.0, 69.0, 21.0 ],
"style" : "",
"text" : "0, 1024 150"
}
}
, {
"box" : {
"id" : "obj-15",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "bang" ],
"patching_rect" : [ 120.0, 225.0, 34.0, 21.0 ],
"style" : "",
"text" : "line~"
}
}
, {
"box" : {
"id" : "obj-13",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "bang", "bang" ],
"patching_rect" : [ 30.0, 131.0, 32.0, 21.0 ],
"style" : "",
"text" : "t b b"
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 120.0, 274.0, 83.0, 21.0 ],
"style" : "",
"text" : "index~ window"
}
}
, {
"box" : {
"id" : "obj-14",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 30.0, 350.0, 29.5, 21.0 ],
"style" : "",
"text" : "*~"
}
}
, {
"box" : {
"id" : "obj-6",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 30.0, 225.0, 84.0, 21.0 ],
"style" : "",
"text" : "start 0 150 150"
}
}
, {
"box" : {
"id" : "obj-12",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 30.0, 415.0, 41.0, 21.0 ],
"saved_object_attributes" : {
"attr_comment" : ""
}
,
"style" : "",
"text" : "out~ 1"
}
}
, {
"box" : {
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "signal", "bang" ],
"patching_rect" : [ 30.0, 274.0, 59.0, 21.0 ],
"style" : "",
"text" : "play~ rain"
}
}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "bang", "bang" ],
"patching_rect" : [ 30.0, 76.0, 32.0, 21.0 ],
"style" : "",
"text" : "t b b"
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 30.0, 39.0, 28.0, 21.0 ],
"saved_object_attributes" : {
"attr_comment" : ""
}
,
"style" : "",
"text" : "in 1"
}
}
, {
"box" : {
"id" : "obj-7",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 203.0, 188.0, 56.0, 21.0 ],
"style" : "",
"text" : "mute 0, 1"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 261.0, 188.0, 56.0, 21.0 ],
"style" : "",
"text" : "mute 1, 0"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"patching_rect" : [ 261.0, 147.0, 56.0, 21.0 ],
"style" : "",
"text" : "loadbang"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "int", "int" ],
"patching_rect" : [ 261.0, 228.0, 54.0, 21.0 ],
"style" : "",
"text" : "thispoly~"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-14", 1 ],
"midpoints" : [ 129.5, 336.0, 50.0, 336.0 ],
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"midpoints" : [ 79.5, 315.0, 105.0, 315.0, 105.0, 315.0, 320.0, 315.0, 320.0, 174.0, 270.5, 174.0 ],
"source" : [ "obj-11", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-21", 0 ],
"source" : [ "obj-13", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"source" : [ "obj-13", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-12", 0 ],
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-10", 0 ],
"source" : [ "obj-15", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-15", 0 ],
"source" : [ "obj-21", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"source" : [ "obj-4", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"source" : [ "obj-6", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"source" : [ "obj-7", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-9", 0 ],
"source" : [ "obj-8", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-13", 0 ],
"source" : [ "obj-9", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"midpoints" : [ 52.5, 105.0, 212.5, 105.0 ],
"source" : [ "obj-9", 1 ]
}
}
],
"bgfillcolor_type" : "gradient",
"bgfillcolor_color1" : [ 0.376471, 0.384314, 0.4, 1.0 ],
"bgfillcolor_color2" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_color" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_angle" : 270.0,
"bgfillcolor_proportion" : 0.39
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,108 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 59.0, 103.0, 640.0, 480.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 11.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 0,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"boxes" : [ {
"box" : {
"id" : "obj-12",
"linecount" : 5,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 26.0, 36.0, 150.0, 68.0 ],
"style" : "",
"text" : "Sine\n\nPhasor\n\nRandom"
}
}
, {
"box" : {
"disabled" : [ 0, 0, 0 ],
"id" : "obj-5",
"itemtype" : 0,
"maxclass" : "radiogroup",
"numinlets" : 1,
"numoutlets" : 1,
"offset" : 25,
"outlettype" : [ "" ],
"parameter_enable" : 0,
"patching_rect" : [ 6.0, 36.0, 18.0, 77.0 ],
"size" : 3,
"style" : "",
"value" : 0
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 58.0, 7.0, 57.0, 19.0 ],
"style" : "",
"text" : "LFO Rate"
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-2",
"maxclass" : "flonum",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 6.0, 6.0, 50.0, 21.0 ],
"style" : ""
}
}
],
"lines" : [ ],
"dependency_cache" : [ ],
"autosave" : 0,
"bgfillcolor_type" : "gradient",
"bgfillcolor_color1" : [ 0.376471, 0.384314, 0.4, 1.0 ],
"bgfillcolor_color2" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_color" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_angle" : 270.0,
"bgfillcolor_proportion" : 0.39
}
}
@@ -0,0 +1,538 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 0,
"revision" : 6,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ 34.0, 79.0, 652.0, 788.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"boxes" : [ {
"box" : {
"id" : "obj-38",
"linecount" : 2,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 235.0, 551.600037000000043, 170.0, 33.0 ],
"text" : "Convolve the jongles and cello frames."
}
}
, {
"box" : {
"id" : "obj-37",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 281.0, 495.0, 170.0, 20.0 ],
"text" : "Window the frames."
}
}
, {
"box" : {
"id" : "obj-36",
"linecount" : 2,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 377.0, 458.0, 170.0, 33.0 ],
"text" : "Read sample positions from the jongles and cello buffer."
}
}
, {
"box" : {
"id" : "obj-25",
"linecount" : 6,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 212.5, 109.0, 98.0, 87.0 ],
"text" : "Convert some white noise into 1 sample frames. These will be used as an offset later."
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-14",
"index" : 2,
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 223.0, 742.100037000000043, 30.0, 30.0 ]
}
}
, {
"box" : {
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 171.0, 618.600037000000043, 113.0, 22.0 ],
"text" : "fl.timemean~ 30 10"
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 171.0, 660.100037000000043, 60.0, 22.0 ],
"text" : "fl.tomax~"
}
}
, {
"box" : {
"id" : "obj-5",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 171.0, 742.100037000000043, 37.0, 22.0 ],
"text" : "out 1"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 63.0, 742.100037000000043, 44.0, 22.0 ],
"saved_object_attributes" : {
"attr_comment" : ""
}
,
"text" : "out~ 1"
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 214.0, 495.0, 67.0, 22.0 ],
"text" : "fl.window~"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.0, 495.0, 67.0, 22.0 ],
"text" : "fl.window~"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-30",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 214.0, 458.0, 159.0, 22.0 ],
"text" : "fl.read~ cello /units samples"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-6",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 164.5, 211.0, 62.0, 22.0 ],
"text" : "*~ 30000."
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-7",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 164.5, 154.0, 35.0, 22.0 ],
"text" : "+~ 1"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 164.5, 109.0, 46.0, 22.0 ],
"text" : "noise~"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-12",
"maxclass" : "newobj",
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 164.5, 280.0, 112.0, 22.0 ],
"text" : "fl.source~ /length 1"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-15",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.0, 371.0, 49.0, 22.0 ],
"text" : "fl.plus~"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-13",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.0, 458.0, 172.0, 22.0 ],
"text" : "fl.read~ jongles /units samples"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-22",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.0, 280.0, 122.0, 22.0 ],
"text" : "fl.ramp~ /length 4096"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-24",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.0, 28.0, 98.0, 22.0 ],
"text" : "fl.interval~ 1000"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-31",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.0, 551.600037000000043, 215.0, 22.0 ],
"text" : "fl.convolve~"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.0, 618.600037000000043, 89.0, 22.0 ],
"text" : "fl.times~ 0.015"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 18.0, 660.100037000000043, 48.0, 22.0 ],
"text" : "fl.sink~"
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-32",
"index" : 1,
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 18.0, 742.100037000000043, 30.0, 30.0 ]
}
}
, {
"box" : {
"angle" : 270.0,
"background" : 1,
"bgcolor" : [ 0.0, 0.0, 0.0, 0.0 ],
"border" : 2,
"bordercolor" : [ 0.0, 0.0, 0.0, 1.0 ],
"id" : "obj-26",
"maxclass" : "panel",
"mode" : 0,
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 156.5, 101.0, 159.0, 206.0 ],
"proportion" : 0.39
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-3", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"order" : 0,
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-5", 0 ],
"order" : 1,
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-10", 0 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-15", 1 ],
"midpoints" : [ 174.0, 357.0, 57.5, 357.0 ],
"source" : [ "obj-12", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-2", 0 ],
"source" : [ "obj-13", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-13", 0 ],
"order" : 1,
"source" : [ "obj-15", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-30", 0 ],
"order" : 0,
"source" : [ "obj-15", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-31", 0 ],
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-15", 0 ],
"source" : [ "obj-22", 0 ]
}
}
, {
"patchline" : {
"color" : [ 0.98599, 0.0, 0.027018, 1.0 ],
"destination" : [ "obj-12", 1 ],
"midpoints" : [ 27.5, 257.0, 220.5, 257.0 ],
"order" : 0,
"source" : [ "obj-24", 0 ]
}
}
, {
"patchline" : {
"color" : [ 0.98599, 0.0, 0.027018, 1.0 ],
"destination" : [ "obj-22", 0 ],
"order" : 1,
"source" : [ "obj-24", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-32", 0 ],
"order" : 1,
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"order" : 0,
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 0 ],
"source" : [ "obj-30", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"order" : 1,
"source" : [ "obj-31", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"order" : 0,
"source" : [ "obj-31", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-12", 0 ],
"source" : [ "obj-6", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"source" : [ "obj-7", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-31", 1 ],
"source" : [ "obj-8", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"source" : [ "obj-9", 0 ]
}
}
]
}
}
@@ -0,0 +1,543 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 23.0, 82.0, 610.0, 574.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 11.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 0,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"boxes" : [ {
"box" : {
"id" : "obj-29",
"local" : 1,
"maxclass" : "ezdac~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 312.0, 400.0, 45.0, 45.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-28",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 18.75, 494.0, 53.0, 21.0 ],
"style" : "",
"text" : "dac~ 1 2"
}
}
, {
"box" : {
"id" : "obj-26",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 18.75, 455.0, 45.0, 21.0 ],
"style" : "",
"text" : "fl.sink~"
}
}
, {
"box" : {
"id" : "obj-25",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.75, 423.0, 37.0, 21.0 ],
"style" : "",
"text" : "fl.ifft~"
}
}
, {
"box" : {
"id" : "obj-24",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.75, 206.0, 62.0, 21.0 ],
"style" : "",
"text" : "fl.window~"
}
}
, {
"box" : {
"id" : "obj-22",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 70.25, 133.0, 88.0, 21.0 ],
"style" : "",
"text" : "fl.interval~ 2048"
}
}
, {
"box" : {
"id" : "obj-21",
"maxclass" : "newobj",
"numinlets" : 3,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.75, 166.5, 122.0, 21.0 ],
"style" : "",
"text" : "fl.source~ /length 4096"
}
}
, {
"box" : {
"id" : "obj-18",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.75, 391.0, 137.0, 21.0 ],
"style" : "",
"text" : "fl.times~ /mismatch shrink"
}
}
, {
"box" : {
"id" : "obj-17",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 18.75, 280.0, 58.0, 21.0 ],
"style" : "",
"text" : "fl.pack~ 2"
}
}
, {
"box" : {
"id" : "obj-16",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"patching_rect" : [ 18.75, 238.0, 58.0, 21.0 ],
"style" : "",
"text" : "fl.fft~"
}
}
, {
"box" : {
"args" : [ "@file", "rainstick.aif", "@loop", 1, "@vol", 0 ],
"bgmode" : 0,
"border" : 0,
"clickthrough" : 0,
"enablehscroll" : 0,
"enablevscroll" : 0,
"id" : "obj-23",
"lockeddragscroll" : 0,
"maxclass" : "bpatcher",
"name" : "demosound.maxpat",
"numinlets" : 0,
"numoutlets" : 1,
"offset" : [ 0.0, 0.0 ],
"outlettype" : [ "signal" ],
"patching_rect" : [ 18.75, 30.5, 225.0, 95.0 ],
"viewvisibility" : 1
}
}
, {
"box" : {
"id" : "obj-14",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 179.75, 328.0, 68.0, 21.0 ],
"style" : "",
"text" : "fl.frommax~"
}
}
, {
"box" : {
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 136.75, 360.0, 62.0, 21.0 ],
"style" : "",
"text" : "fl.register~"
}
}
, {
"box" : {
"compatibility" : 1,
"contdata" : 1,
"ghostbar" : 95,
"id" : "obj-27",
"maxclass" : "multislider",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"parameter_enable" : 0,
"patching_rect" : [ 179.75, 213.0, 332.0, 88.0 ],
"setminmax" : [ 0.0, 1.0 ],
"size" : 2048,
"style" : ""
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-18", 1 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 1 ],
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-17", 1 ],
"source" : [ "obj-16", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-17", 0 ],
"source" : [ "obj-16", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"midpoints" : [ 28.25, 345.0, 146.25, 345.0 ],
"order" : 1,
"source" : [ "obj-17", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"midpoints" : [ 28.25, 315.0, 189.25, 315.0 ],
"order" : 0,
"source" : [ "obj-17", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-18", 0 ],
"midpoints" : [ 28.25, 303.0, 28.25, 303.0 ],
"order" : 2,
"source" : [ "obj-17", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-25", 0 ],
"source" : [ "obj-18", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-24", 0 ],
"source" : [ "obj-21", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-21", 1 ],
"source" : [ "obj-22", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-21", 0 ],
"source" : [ "obj-23", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-16", 0 ],
"source" : [ "obj-24", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-26", 0 ],
"source" : [ "obj-25", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-28", 1 ],
"order" : 0,
"source" : [ "obj-26", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-28", 0 ],
"order" : 1,
"source" : [ "obj-26", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"source" : [ "obj-27", 0 ]
}
}
],
"parameters" : {
"obj-23::obj-35" : [ "[5]", "Level", 0 ],
"obj-23::obj-21::obj-6" : [ "live.tab[3]", "live.tab[1]", 0 ]
}
,
"dependency_cache" : [ {
"name" : "demosound.maxpat",
"bootpath" : "C74:/help/msp",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "sine.svg",
"bootpath" : "C74:/media/max/picts/m4l-picts",
"type" : "svg ",
"implicit" : 1
}
, {
"name" : "saw.svg",
"bootpath" : "C74:/media/max/picts/m4l-picts",
"type" : "svg ",
"implicit" : 1
}
, {
"name" : "square.svg",
"bootpath" : "C74:/media/max/picts/m4l-picts",
"type" : "svg ",
"implicit" : 1
}
, {
"name" : "random.svg",
"bootpath" : "C74:/media/max/picts/m4l-picts",
"type" : "svg ",
"implicit" : 1
}
, {
"name" : "fl.register~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.frommax~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.fft~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.pack~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.times~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.source~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.interval~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.window~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.ifft~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
, {
"name" : "fl.sink~.mxo",
"type" : "iLaX"
}
],
"autosave" : 0,
"styles" : [ {
"name" : "AudioStatus_Menu",
"default" : {
"bgfillcolor" : {
"type" : "color",
"color" : [ 0.294118, 0.313726, 0.337255, 1 ],
"color1" : [ 0.454902, 0.462745, 0.482353, 0.0 ],
"color2" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"angle" : 270.0,
"proportion" : 0.39,
"autogradient" : 0
}
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "newobjBlue-1",
"default" : {
"accentcolor" : [ 0.317647, 0.654902, 0.976471, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "newobjBrown-1",
"default" : {
"accentcolor" : [ 0.654902, 0.572549, 0.376471, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "newobjGreen-1",
"default" : {
"accentcolor" : [ 0.0, 0.533333, 0.168627, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "newobjRed-1",
"default" : {
"accentcolor" : [ 0.784314, 0.145098, 0.023529, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "newobjYellow-1",
"default" : {
"fontsize" : [ 12.059008 ],
"accentcolor" : [ 0.82517, 0.78181, 0.059545, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "numberGold-1",
"default" : {
"accentcolor" : [ 0.764706, 0.592157, 0.101961, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "panelViolet",
"default" : {
"bgfillcolor" : {
"type" : "color",
"color" : [ 0.372549, 0.196078, 0.486275, 0.2 ],
"color1" : [ 0.454902, 0.462745, 0.482353, 1.0 ],
"color2" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"angle" : 270.0,
"proportion" : 0.39,
"autogradient" : 0
}
}
,
"parentstyle" : "",
"multi" : 0
}
],
"bgfillcolor_type" : "gradient",
"bgfillcolor_color1" : [ 0.376471, 0.384314, 0.4, 1.0 ],
"bgfillcolor_color2" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_color" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_angle" : 270.0,
"bgfillcolor_proportion" : 0.39
}
}
@@ -0,0 +1,327 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 0,
"revision" : 0,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ 59.0, 103.0, 640.0, 480.0 ],
"bglocked" : 0,
"openinpresentation" : 1,
"default_fontsize" : 11.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 0,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"boxes" : [ {
"box" : {
"comment" : "",
"id" : "obj-6",
"index" : 4,
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 150.949996948242188, 248.0, 30.0, 30.0 ]
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-5",
"index" : 3,
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 103.550003051757812, 248.0, 30.0, 30.0 ]
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-4",
"index" : 2,
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 89.75, 69.0, 30.0, 30.0 ]
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-1",
"index" : 1,
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 8.75, 69.0, 30.0, 30.0 ]
}
}
, {
"box" : {
"fontsize" : 13.0,
"id" : "obj-3",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 179.25, 39.0, 52.0, 21.0 ],
"presentation" : 1,
"presentation_rect" : [ 52.416667938232422, 23.333333969116211, 52.0, 21.0 ],
"text" : "Length"
}
}
, {
"box" : {
"fontsize" : 13.0,
"id" : "obj-2",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 179.25, 6.0, 52.0, 21.0 ],
"presentation" : 1,
"presentation_rect" : [ 52.416667938232422, 0.333332985639572, 52.0, 21.0 ],
"text" : "Interval"
}
}
, {
"box" : {
"id" : "obj-18",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 89.75, 6.0, 85.0, 21.0 ],
"text" : "loadmess 150"
}
}
, {
"box" : {
"id" : "obj-17",
"maxclass" : "number",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 89.75, 39.0, 50.0, 21.0 ],
"presentation" : 1,
"presentation_rect" : [ 0.416666001081467, 23.333333969116211, 50.0, 21.0 ]
}
}
, {
"box" : {
"fontsize" : 14.0,
"id" : "obj-31",
"linecount" : 2,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 266.75, 179.0, 251.0, 38.0 ],
"text" : "Click and drag to change the minimum and maximum position."
}
}
, {
"box" : {
"hidden" : 1,
"id" : "obj-30",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 201.25, 142.0, 85.0, 21.0 ],
"text" : "loadmess 400"
}
}
, {
"box" : {
"hidden" : 1,
"id" : "obj-29",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 124.25, 142.0, 72.0, 21.0 ],
"text" : "loadmess 0"
}
}
, {
"box" : {
"buffername" : "myGran",
"id" : "obj-25",
"labels" : 0,
"maxclass" : "waveform~",
"norulerclick" : 0,
"numinlets" : 5,
"numoutlets" : 6,
"outlettype" : [ "float", "float", "float", "float", "list", "" ],
"patching_rect" : [ 8.75, 166.0, 256.0, 64.0 ],
"presentation" : 1,
"presentation_rect" : [ 0.416666001081467, 46.333332061767578, 256.0, 64.0 ],
"ruler" : 0,
"selectioncolor" : [ 0.960784, 0.827451, 0.156863, 1.0 ],
"setmode" : 1,
"setunit" : 3,
"vticks" : 0,
"waveformcolor" : [ 0.317647, 0.654902, 0.976471, 1.0 ]
}
}
, {
"box" : {
"hidden" : 1,
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 8.75, 6.0, 79.0, 21.0 ],
"text" : "loadmess 50"
}
}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "number",
"minimum" : 2,
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 8.75, 39.0, 50.0, 21.0 ],
"presentation" : 1,
"presentation_rect" : [ 0.416666001081467, 0.333332985639572, 50.0, 21.0 ]
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-9", 0 ],
"hidden" : 1,
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-17", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-17", 0 ],
"source" : [ "obj-18", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-5", 0 ],
"source" : [ "obj-25", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"source" : [ "obj-25", 3 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-25", 2 ],
"hidden" : 1,
"source" : [ "obj-29", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-25", 3 ],
"hidden" : 1,
"source" : [ "obj-30", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"source" : [ "obj-9", 0 ]
}
}
],
"styles" : [ {
"name" : "newobjBlue-1",
"default" : {
"accentcolor" : [ 0.317647, 0.654902, 0.976471, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "newobjYellow-1",
"default" : {
"accentcolor" : [ 0.82517, 0.78181, 0.059545, 1.0 ],
"fontsize" : [ 12.059008 ]
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "numberGold-1",
"default" : {
"accentcolor" : [ 0.764706, 0.592157, 0.101961, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
],
"bgfillcolor_type" : "gradient",
"bgfillcolor_color1" : [ 0.376471, 0.384314, 0.4, 1.0 ],
"bgfillcolor_color2" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_color" : [ 0.290196, 0.309804, 0.301961, 1.0 ]
}
}
@@ -0,0 +1,415 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 175.0, 201.0, 640.0, 600.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"boxes" : [ {
"box" : {
"id" : "obj-54",
"maxclass" : "newobj",
"numinlets" : 3,
"numoutlets" : 4,
"outlettype" : [ "signal", "signal", "signal", "signal" ],
"patching_rect" : [ 25.5, 437.0, 76.0, 22.0 ],
"style" : "",
"text" : "svf~ 500 0.5"
}
}
, {
"box" : {
"id" : "obj-51",
"maxclass" : "button",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"patching_rect" : [ 216.0, 80.0, 24.0, 24.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-45",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"patching_rect" : [ 25.5, 308.0, 43.0, 22.0 ],
"style" : "",
"text" : "zl sort"
}
}
, {
"box" : {
"id" : "obj-44",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"patching_rect" : [ 25.5, 268.0, 63.0, 22.0 ],
"style" : "",
"text" : "zl group 2"
}
}
, {
"box" : {
"id" : "obj-43",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "int", "int" ],
"patching_rect" : [ 28.0, 198.0, 29.5, 22.0 ],
"style" : "",
"text" : "t i i"
}
}
, {
"box" : {
"id" : "obj-37",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 25.5, 235.0, 126.0, 22.0 ],
"style" : "",
"text" : "expr random($f1\\, $f2)"
}
}
, {
"box" : {
"id" : "obj-26",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "bang", "bang" ],
"patching_rect" : [ 28.0, 96.0, 34.0, 22.0 ],
"style" : "",
"text" : "t b b"
}
}
, {
"box" : {
"id" : "obj-25",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 25.5, 487.0, 44.0, 22.0 ],
"style" : "",
"text" : "out~ 1"
}
}
, {
"box" : {
"id" : "obj-22",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "bang", "bang" ],
"patching_rect" : [ 28.0, 51.0, 143.75, 22.0 ],
"style" : "",
"text" : "t b b"
}
}
, {
"box" : {
"id" : "obj-21",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 132.5, 151.0, 46.0, 22.0 ],
"style" : "",
"text" : "v rMax"
}
}
, {
"box" : {
"id" : "obj-20",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 28.0, 151.0, 43.0, 22.0 ],
"style" : "",
"text" : "v rMin"
}
}
, {
"box" : {
"id" : "obj-18",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 25.5, 339.0, 81.0, 22.0 ],
"style" : "",
"text" : "prepend start"
}
}
, {
"box" : {
"id" : "obj-15",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 28.0, 17.0, 30.0, 22.0 ],
"style" : "",
"text" : "in 1"
}
}
, {
"box" : {
"id" : "obj-13",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 150.25, 449.0, 61.0, 22.0 ],
"style" : "",
"text" : "mute 0, 1"
}
}
, {
"box" : {
"id" : "obj-11",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 218.25, 449.0, 61.0, 22.0 ],
"style" : "",
"text" : "mute 1, 0"
}
}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"patching_rect" : [ 218.25, 415.0, 60.0, 22.0 ],
"style" : "",
"text" : "loadbang"
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "int", "int" ],
"patching_rect" : [ 150.25, 487.0, 58.0, 22.0 ],
"style" : "",
"text" : "thispoly~"
}
}
, {
"box" : {
"id" : "obj-7",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "signal", "bang" ],
"patching_rect" : [ 25.5, 374.0, 81.0, 22.0 ],
"style" : "",
"text" : "play~ jongles"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-8", 0 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 0 ],
"source" : [ "obj-13", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-22", 0 ],
"source" : [ "obj-15", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"source" : [ "obj-18", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-43", 0 ],
"source" : [ "obj-20", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-37", 1 ],
"source" : [ "obj-21", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-13", 0 ],
"source" : [ "obj-22", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-26", 0 ],
"source" : [ "obj-22", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-20", 0 ],
"source" : [ "obj-26", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-21", 0 ],
"source" : [ "obj-26", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-44", 0 ],
"source" : [ "obj-37", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-37", 0 ],
"source" : [ "obj-43", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-37", 0 ],
"source" : [ "obj-43", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-45", 0 ],
"source" : [ "obj-44", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-18", 0 ],
"source" : [ "obj-45", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-22", 0 ],
"source" : [ "obj-51", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-25", 0 ],
"source" : [ "obj-54", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"source" : [ "obj-7", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-54", 0 ],
"source" : [ "obj-7", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"source" : [ "obj-9", 0 ]
}
}
]
}
}
@@ -0,0 +1,145 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 59.0, 103.0, 640.0, 480.0 ],
"bglocked" : 0,
"openinpresentation" : 1,
"default_fontsize" : 11.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 0,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"boxes" : [ {
"box" : {
"comment" : "",
"id" : "obj-4",
"index" : 0,
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 107.0, 289.0, 30.0, 30.0 ],
"style" : ""
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-2",
"index" : 0,
"maxclass" : "inlet",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 107.0, 132.0, 30.0, 30.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 107.0, 59.0, 77.0, 21.0 ],
"style" : "",
"text" : "loadmess -70"
}
}
, {
"box" : {
"channels" : 1,
"id" : "obj-50",
"maxclass" : "live.gain~",
"numinlets" : 1,
"numoutlets" : 4,
"outlettype" : [ "signal", "", "float", "list" ],
"parameter_enable" : 1,
"patching_rect" : [ 107.0, 182.0, 50.0, 83.0 ],
"presentation" : 1,
"presentation_rect" : [ -5.0, 3.0, 50.0, 83.0 ],
"saved_attribute_attributes" : {
"valueof" : {
"parameter_longname" : "live.gain~[1]",
"parameter_shortname" : "Volume",
"parameter_type" : 0,
"parameter_mmin" : -70.0,
"parameter_mmax" : 6.0,
"parameter_initial" : [ 0.0 ],
"parameter_unitstyle" : 4
}
}
,
"varname" : "live.gain~[1]"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-50", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-50", 0 ],
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-50", 0 ]
}
}
],
"parameters" : {
"obj-50" : [ "live.gain~[1]", "Volume", 0 ]
}
,
"dependency_cache" : [ ],
"autosave" : 0,
"bgfillcolor_type" : "gradient",
"bgfillcolor_color1" : [ 0.376471, 0.384314, 0.4, 1.0 ],
"bgfillcolor_color2" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_color" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_angle" : 270.0,
"bgfillcolor_proportion" : 0.39
}
}
@@ -0,0 +1,144 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 42.0, 213.0, 640.0, 480.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 11.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 0,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"boxes" : [ {
"box" : {
"id" : "obj-6",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 17.0, 136.0, 56.0, 21.0 ],
"style" : "",
"text" : "fftout~ 1"
}
}
, {
"box" : {
"id" : "obj-5",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "signal" ],
"patching_rect" : [ 17.0, 98.0, 56.0, 21.0 ],
"style" : "",
"text" : "cartopol~"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "signal" ],
"patching_rect" : [ 17.0, 60.0, 56.0, 21.0 ],
"style" : "",
"text" : "poltocar~"
}
}
, {
"box" : {
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "signal", "signal", "signal" ],
"patching_rect" : [ 17.0, 22.0, 93.0, 21.0 ],
"style" : "",
"text" : "fftin~ 1"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-4", 1 ],
"source" : [ "obj-3", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-5", 1 ],
"source" : [ "obj-4", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-5", 0 ],
"source" : [ "obj-4", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-6", 1 ],
"source" : [ "obj-5", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"source" : [ "obj-5", 0 ]
}
}
],
"dependency_cache" : [ ],
"autosave" : 0,
"bgfillcolor_type" : "gradient",
"bgfillcolor_color1" : [ 0.376471, 0.384314, 0.4, 1.0 ],
"bgfillcolor_color2" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_color" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_angle" : 270.0,
"bgfillcolor_proportion" : 0.39
}
}
@@ -0,0 +1,189 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 0,
"revision" : 6,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ 59.0, 104.0, 640.0, 480.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"boxes" : [ {
"box" : {
"id" : "obj-14",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "bang", "bang" ],
"patching_rect" : [ 50.0, 100.0, 32.0, 22.0 ],
"text" : "t b b"
}
}
, {
"box" : {
"id" : "obj-13",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 50.0, 135.0, 81.0, 22.0 ],
"text" : "clean, wclose"
}
}
, {
"box" : {
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 50.0, 167.0, 84.0, 22.0 ],
"text" : "s wclose_msg"
}
}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 141.0, 227.0, 51.0, 22.0 ],
"text" : "pcontrol"
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 141.0, 135.0, 178.5, 22.0 ],
"text" : "#1"
}
}
, {
"box" : {
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 141.0, 167.0, 57.0, 22.0 ],
"text" : "tosymbol"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 141.0, 198.0, 79.0, 22.0 ],
"text" : "prepend load"
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-4",
"index" : 1,
"maxclass" : "inlet",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 50.0, 40.0, 30.0, 30.0 ]
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-9", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"source" : [ "obj-13", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-13", 0 ],
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 0 ],
"source" : [ "obj-14", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"source" : [ "obj-4", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-3", 0 ],
"source" : [ "obj-8", 0 ]
}
}
]
}
}
@@ -0,0 +1,404 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 34.0, 78.0, 892.0, 788.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-40",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "signal", "" ],
"patching_rect" : [ 409.0, 129.0, 130.0, 22.0 ],
"style" : "",
"text" : "jit.peek~ oneframe 1 0"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-39",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "signal", "" ],
"patching_rect" : [ 465.0, 170.0, 130.0, 22.0 ],
"style" : "",
"text" : "jit.peek~ oneframe 1 1"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-38",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 465.0, 206.0, 84.0, 22.0 ],
"style" : "",
"text" : "frameaccum~"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-37",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "signal" ],
"patching_rect" : [ 409.0, 238.0, 75.0, 22.0 ],
"style" : "",
"text" : "poltocar~"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-36",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 409.0, 270.0, 75.0, 22.0 ],
"style" : "",
"text" : "fftout~ 1"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-35",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patching_rect" : [ 158.0, 238.0, 124.0, 22.0 ],
"style" : "",
"text" : "jit.catch~ 2 @mode 2"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-34",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ],
"patching_rect" : [ 158.0, 270.0, 189.0, 22.0 ],
"style" : "",
"text" : "jit.matrix oneframe 2 float32 2048"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-31",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 263.0, 206.0, 76.0, 22.0 ],
"style" : "",
"text" : "phasewrap~"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-30",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 263.0, 170.0, 74.0, 22.0 ],
"style" : "",
"text" : "framedelta~"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-29",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 19.5, 174.0, 77.0, 22.0 ],
"style" : "",
"text" : "prepend dim"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-28",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 38.0, 129.0, 110.0, 22.0 ],
"style" : "",
"text" : "prepend framesize"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-26",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 4,
"outlettype" : [ "int", "int", "int", "int" ],
"patching_rect" : [ 6.0, 43.0, 59.5, 22.0 ],
"style" : "",
"text" : "fftinfo~"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-25",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "signal" ],
"patching_rect" : [ 158.0, 129.0, 124.0, 22.0 ],
"style" : "",
"text" : "cartopol~"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-24",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "signal", "signal", "signal" ],
"patching_rect" : [ 158.0, 43.0, 47.0, 22.0 ],
"style" : "",
"text" : "fftin~ 1"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-23",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 225.0, 206.0, 30.0, 22.0 ],
"style" : "",
"text" : "in 1"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-35", 0 ],
"source" : [ "obj-23", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-25", 1 ],
"source" : [ "obj-24", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-25", 0 ],
"source" : [ "obj-24", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-39", 0 ],
"order" : 0,
"source" : [ "obj-24", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-40", 0 ],
"order" : 1,
"source" : [ "obj-24", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-30", 0 ],
"source" : [ "obj-25", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 0 ],
"source" : [ "obj-25", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-28", 0 ],
"order" : 0,
"source" : [ "obj-26", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-29", 0 ],
"order" : 1,
"source" : [ "obj-26", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 0 ],
"source" : [ "obj-28", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-34", 0 ],
"source" : [ "obj-29", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-31", 0 ],
"source" : [ "obj-30", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 1 ],
"source" : [ "obj-31", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-34", 0 ],
"source" : [ "obj-35", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-36", 1 ],
"source" : [ "obj-37", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-36", 0 ],
"source" : [ "obj-37", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-37", 1 ],
"source" : [ "obj-38", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-38", 0 ],
"source" : [ "obj-39", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-37", 0 ],
"source" : [ "obj-40", 0 ]
}
}
]
}
}
@@ -0,0 +1,185 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 3,
"revision" : 4,
"architecture" : "x64",
"modernui" : 1
}
,
"rect" : [ 59.0, 103.0, 640.0, 480.0 ],
"bglocked" : 0,
"openinpresentation" : 1,
"default_fontsize" : 11.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 0,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"boxes" : [ {
"box" : {
"comment" : "",
"id" : "obj-5",
"index" : 0,
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 138.0, 289.0, 30.0, 30.0 ],
"style" : ""
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-4",
"index" : 0,
"maxclass" : "outlet",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 107.0, 289.0, 30.0, 30.0 ],
"style" : ""
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-3",
"index" : 0,
"maxclass" : "inlet",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 138.0, 132.0, 30.0, 30.0 ],
"style" : ""
}
}
, {
"box" : {
"comment" : "",
"id" : "obj-2",
"index" : 0,
"maxclass" : "inlet",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 107.0, 132.0, 30.0, 30.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 107.0, 59.0, 77.0, 21.0 ],
"style" : "",
"text" : "loadmess -70"
}
}
, {
"box" : {
"id" : "obj-50",
"maxclass" : "live.gain~",
"numinlets" : 2,
"numoutlets" : 5,
"outlettype" : [ "signal", "signal", "", "float", "list" ],
"parameter_enable" : 1,
"patching_rect" : [ 107.0, 182.0, 50.0, 83.0 ],
"presentation" : 1,
"presentation_rect" : [ -5.0, 3.0, 50.0, 83.0 ],
"saved_attribute_attributes" : {
"valueof" : {
"parameter_longname" : "live.gain~[1]",
"parameter_shortname" : "Volume",
"parameter_type" : 0,
"parameter_mmin" : -70.0,
"parameter_mmax" : 6.0,
"parameter_initial" : [ 0.0 ],
"parameter_unitstyle" : 4
}
}
,
"varname" : "live.gain~[1]"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-50", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-50", 0 ],
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-50", 1 ],
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-50", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-5", 0 ],
"source" : [ "obj-50", 1 ]
}
}
],
"parameters" : {
"obj-50" : [ "live.gain~[1]", "Volume", 0 ]
}
,
"dependency_cache" : [ ],
"autosave" : 0,
"bgfillcolor_type" : "gradient",
"bgfillcolor_color1" : [ 0.376471, 0.384314, 0.4, 1.0 ],
"bgfillcolor_color2" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_color" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_angle" : 270.0,
"bgfillcolor_proportion" : 0.39
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,13 @@
0, _1_Tutorial_0.maxpat;
1, _2_What_is_FrameLib.maxpat;
2, _3_Key_Concepts.maxpat;
3, _4_Converting_between_FrameLib_and_Max.maxpat;
4, _5_Generators.maxpat;
5, _6_Your_First_FrameLib.maxpat;
6, _7_FFT_in_FrameLib.maxpat;
7, _8_Multi-stream.maxpat;
8, _9_Multi-resolution_FFT.maxpat;
9, _10_IRSpectral.maxpat;
10, _11_NRT_Mode.maxpat;
11, _12_Threading.maxpat;
12, _13_export.maxpat;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,143 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 0,
"revision" : 6,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ 34.0, 79.0, 980.0, 671.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 11.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"showrootpatcherontab" : 0,
"showontab" : 0,
"boxes" : [ {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 0,
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 0,
"revision" : 6,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ 34.0, 105.0, 980.0, 645.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "default",
"showontab" : 1,
"title" : "Non-realtime basics",
"boxes" : [ ],
"lines" : [ ],
"styles" : [ {
"name" : "newobjBlue-1",
"default" : {
"accentcolor" : [ 0.317647, 0.654902, 0.976471, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "newobjYellow-1",
"default" : {
"fontsize" : [ 12.059008 ],
"accentcolor" : [ 0.82517, 0.78181, 0.059545, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
, {
"name" : "numberGold-1",
"default" : {
"accentcolor" : [ 0.764706, 0.592157, 0.101961, 1.0 ]
}
,
"parentstyle" : "",
"multi" : 0
}
]
}
,
"patching_rect" : [ 21.0, 582.0, 115.0, 21.0 ],
"saved_object_attributes" : {
"description" : "",
"digest" : "",
"globalpatchername" : "",
"tags" : ""
}
,
"text" : "p Non-realtime basics"
}
}
],
"lines" : [ ],
"dependency_cache" : [ ],
"autosave" : 0,
"bgfillcolor_type" : "gradient",
"bgfillcolor_color1" : [ 0.376471, 0.384314, 0.4, 1.0 ],
"bgfillcolor_color2" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
"bgfillcolor_color" : [ 0.290196, 0.309804, 0.301961, 1.0 ]
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorials: Table of Contents">
<h1>
FrameLib Tutorials - Table of Contents
</h1>
<p>
<!-- Beginner Tutorials-->
<h2>
Beginner
</h2>
<ul>
<li>
<link type="tutorial" module="FrameLib" name="01_fl_introduction" diff="Beginner" digest="A general introduction to FrameLib and some foundation DSP concepts.">Tutorial 1: An introduction to FrameLib and frame based processing.</link>
</li>
<li>
<link type="tutorial" module="FrameLib" name="02_fl_whatis" diff="Beginner" digest="Getting familiar with the FrameLib library.">Tutorial 2: Getting to grips with frame based processing.</link>
</li>
<li>
<link type="tutorial" module="FrameLib" name="03_fl_concepts" diff="Beginner" digest="The key concepts of FrameLib, such as its timing and patching architecture.">Tutorial 3: Key Concepts.</link>
</li>
<li>
<link type="tutorial" module="FrameLib" name="04_fl_conversion" diff="Beginner" digest="Methods for converting data between the Max and FrameLib domains.">Tutorial 4: Converting data between FrameLib and Max.</link>
</li>
<li>
<link type="tutorial" module="FrameLib" name="05_fl_generators" diff="Beginner" digest="An overview of 'generator' objects belonging to the FrameLib eco-system.">Tutorial 5: Generator objects.</link>
</li>
<li>
<link type="tutorial" module="FrameLib" name="06_fl_firstproject" diff="Beginner" digest="A step-by-step guide on building a granular synth from scratch.">Tutorial 6: Your first FrameLib project - Building a granulator from scratch.</link>
</li>
</ul>
<!-- Intermediate Tutorials-->
<h2>
Intermediate
</h2>
<ul>
<li>
<link type="tutorial" module="FrameLib" name="07_fl_fft" diff="Intermediate" digest="The Basics of FFT/STFT processing in FrameLib">Tutorial 7: FFT with FrameLib.</link>
</li>
<li>
<link type="tutorial" module="FrameLib" name="08_fl_multistream" diff="Intermediate" digest="Similar to 'mc' objects, multi-streaming allows you to manipulate multiple streams with a single set of processors.">Tutorial 8: Multi-stream processing.</link>
</li>
</ul>
<h2>
Advanced
</h2>
<ul>
<li>
<link type="tutorial" module="FrameLib" name="09_fl_multiresfft" diff="Advanced" digest="Constructing multi-resolution FFT processes in FrameLib.">Tutorial 9: Multi-resolution FFT.</link>
</li>
<li>
<link type="tutorial" module="FrameLib" name="10_fl_ir" diff="Advanced" digest="A small overview of working with impulse responses and convolution.">Tutorial 10: Working with impulse responses (IR) in FrameLib.</link>
</li>
<li>
<link type="tutorial" module="FrameLib" name="11_fl_nrt" diff="Advanced" digest="Designing, converting and understanding FrameLib networks in the non-realtime mode.">Tutorial 11: Non-realtime networks in FrameLib.</link>
</li>
<li>
<link type="tutorial" module="FrameLib" name="12_fl_threading" diff="Advanced" digest="How to manage threads, multi-threading and the concept of a 'context'.">Tutorial 12: Threading and 'contexts'.</link>
</li>
<li>
<link type="tutorial" module="FrameLib" name="13_fl_export" diff="Advanced" digest="Exporting your FrameLib networks from Max to C++ to be used in other environments and applications.">Tutorial 13: Exporting FrameLib in Max to C++.</link>
</li>
</ul>
</p>
</chapter>
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 1: Introduction">
<next name="02_fl_concepts">Key Concepts</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
An introduction to FrameLib.
</h1>
<h2>
What is FrameLib?
</h2>
<p>
FrameLib is a DSP system designed to allow quick modular constructions of frame-based networks. A frame is a self contained group of samples not dissimilar to a grain in granulation or an FFT frame. These networks can resolve time at a highly accurate subsample level and can run at different rates, and with different frame sizes.
Within a single FrameLib network you are able to mix different representations (such as time and frequency-based), efficiently process them and maintaing tightly-timed DSP constructs. A group of FrameLib objects resulting in a processing chain can be referred to as a 'network'.
If you don't know what these terms mean or are not sure if FrameLib could be useful for you rest assured it will make sense as the tutorials progress.
</p>
<h2>
What is possible?
</h2>
<p>
In most realtime audio environments, audio processing is built on the model of grouping continuous streams of samples into small consecutive blocks of equal size for the purpose of calculation. Whilst this offers an appropriate model to represent continuous analog signals, it is less suited to processing that functions on chunks, or frames, of audio in which the position of a sample in the frame is meaningful (e.g spectral representations), or in which the frame might be considered as a whole (e.g granular synthesis).
FrameLib brings a wealth of processing techniques into the Max environment where rapid prototyping and experimentation is readily available to the user. Advanced multi-rate processing, based on DSP graphs that operate on frames of different sizes is not currently supported natively within Max which is where a frame based tool kit like FrameLib excels. If this doesn't make sense to you now, these tutorials will introduce you to these concepts.
If you don't know where to start, navigating through the tabs above demonstrate what you might want to do with FrameLib.
</p>
</chapter>
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 2: Getting to grips with frame based processing">
<next name="03_fl_concepts">Key Concepts</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
Getting to grips with frame based processing
</h1>
<h2>
What is FrameLib?
</h2>
<p>
PLACEHOLDER
</p>
<h2>
PLACEHOLDER
</h2>
<p>
MORE PLACEHOLDER
</p>
</chapter>
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 3: Key Concepts">
<next name="04_fl_conversion">Conversion</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
FrameLib: Key Concepts
</h1>
<h2>
Schedulers and Timing
</h2>
<p>
The most important concepts to understand in FrameLib:
<br></br>
<br></br>
1. EVERYTHING is strongly timed.
<br></br>
2. NOTHING happens without a FrameLib timing source otherwise known as a 'scheduler'.
<br></br>
<br></br>
Schedulers create trigger frames - think of them like the bang of FrameLib. Under the hood, a trigger frame is just an empty or zero length frame that contains no samples. Frames containing samples can also act as trigger frames, but these won't exist until you've used a scheduler somewhere in the network.
</p>
<h2>
Parameters and Tagging
</h2>
<p>
FrameLib objects have a unique system for managing parameters at instantiation and with real-time control. It is is not dissimilar to max messages but there are some differences.
There are two ways to assign parameters to a FrameLib object at load time. Like many Max objects you can input values in the order of the arguments you want to address. Additionally you can directly address parameters through the "/parameter [value]" syntax. This is similar to the "@attribute" system in Max, however FrameLib objects cannot be addressed through the 'attrui' object. The /parameter syntax is a more direct way of addressing each parameter and is particularly useful in two scenarios.
<br></br>
<br></br>
1. The default parameters are useful apart from one specific parameter you would like to change.
<br></br>
2. Making parameter configurations explicit and easy to read.
<br></br>
<br></br>
Real-time control is managed through a 'parameter update' inlet which receives special 'tagged frames'. Because frames are used to change the parameters, the configuration of the object is tightly synchronised to the network. More details can be found in the corresponding tabs above.
</p>
<h2>
How to Get Help
</h2>
<p>
Like all Max objects there are help files that can be accessed for reference. You can also send FrameLib objects some reserved messages which post extra information to the max console.
<bullet> info: Prints all information to max console </bullet>
<bullet> info description: Prints the description </bullet>
<bullet> info inputs: Prints information about the inputs </bullet>
<bullet> info outputs: Prints information about the outputs </bullet>
<bullet> info io: Prints info on inputs and outputs </bullet>
<bullet> info parameters: Prints parameters for the object </bullet>
<bullet> info quick: Provides a quick summary </bullet>
</p>
</chapter>
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 4: Data Conversion">
<next name="05_fl_generators">Generators</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
FrameLib: Data Conversion
</h1>
<h2>
Basics of Conversion
</h2>
<p>
Directly connecting FrameLib objects from Max to FrameLib is not possible. There are a selection of objects that allow control and audio data to pass into FrameLib as well as be passed out back into Max which are the exceptions to this.
Move through the tabs of this tutorial to understand how control and audio data is allowed in and out of FrameLib.
</p>
<h2>
Heading 2
</h2>
<p>
</p>
<h2>
Heading 3
</h2>
<p>
</p>
</chapter>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 5: Generators">
<next name="06_fl_firstproject">Your first FrameLib project - Building a granulator</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
FrameLib: Generator Objects
</h1>
<h2>
Heading 1
</h2>
<p>
Para 1
</p>
<h2>
Heading 2
</h2>
<p>
Para 2
</p>
<h2>
Heading 3
</h2>
<p>
Para 3
</p>
</chapter>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 6: Your first FrameLib project - Building a granulator from scratch.">
<next name="06_fl_fft">FFT in FrameLib</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
FrameLib: Your first FrameLib project
</h1>
<h2>
Heading 1
</h2>
<p>
Para 1
</p>
<h2>
Heading 2
</h2>
<p>
Para 2
</p>
<h2>
Heading 3
</h2>
<p>
Para 3
</p>
</chapter>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 7: FFT in FrameLib">
<next name="08_fl_multistream">Multi-stream processing</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
FrameLib: FFT in FrameLib
</h1>
<h2>
Basics of FrameLib FFT
</h2>
<p>
Para 1
</p>
<h2>
Heading 2
</h2>
<p>
Para 2
</p>
<h2>
Heading 3
</h2>
<p>
Para 3
</p>
</chapter>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 8: Multi-stream processing">
<next name="09_fl_multiresfft">Multi-resolution FFT</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
FrameLib: Multi-stream processing
</h1>
<h2>
Basics of Conversion
</h2>
<p>
Para 1
</p>
<h2>
Heading 2
</h2>
<p>
Para 2
</p>
<h2>
Heading 3
</h2>
<p>
Para 3
</p>
</chapter>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 9: Multi-resolution FFT">
<next name="10_fl_ir">Working with Impulse Responses in FrameLib</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
FrameLib: Multi-resolution FFT
</h1>
<h2>
Basics of Conversion
</h2>
<p>
Para 1
</p>
<h2>
Heading 2
</h2>
<p>
Para 2
</p>
<h2>
Heading 3
</h2>
<p>
Para 3
</p>
</chapter>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 10: Working with impulse responses (IR) in FrameLib">
<next name="11_fl_nrt">Non-realtime FrameLib networks</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
FrameLib: IR
</h1>
<h2>
Basics of Conversion
</h2>
<p>
Para 1
</p>
<h2>
Heading 2
</h2>
<p>
Para 2
</p>
<h2>
Heading 3
</h2>
<p>
Para 3
</p>
</chapter>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 11: Non-realtime networks in FrameLib">
<next name="12_fl_threading">Threading and Contexts</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
FrameLib: NRT
</h1>
<h2>
Basics of Conversion
</h2>
<p>
Para 1
</p>
<h2>
Heading 2
</h2>
<p>
Para 2
</p>
<h2>
Heading 3
</h2>
<p>
Para 3
</p>
</chapter>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 12: Threading and 'contexts'">
<next name="13_fl_export">Code Export</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
FrameLib: Threading
</h1>
<h2>
Basics of Conversion
</h2>
<p>
Para 1
</p>
<h2>
Heading 2
</h2>
<p>
Para 2
</p>
<h2>
Heading 3
</h2>
<p>
Para 3
</p>
</chapter>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_tut.xsl" type="text/xsl"?>
<chapter name="FrameLib Tutorial 13: Exporting Code to C++">
<next name="13_fl_export">Code Export</next>
<parent name="00_fl_index">FrameLib tutorials</parent>
<h1>
FrameLib: Code Export Feature
</h1>
<h2>
Basics of Conversion
</h2>
<p>
Para 1
</p>
<h2>
Heading 2
</h2>
<p>
Para 2
</p>
<h2>
Heading 3
</h2>
<p>
Para 3
</p>
</chapter>
@@ -0,0 +1,143 @@
<?xml version="1.0"?>
<!--
Copyright (c) 2012 Cycling '74
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies
or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:strip-space elements="*"/>
<xsl:preserve-space elements="body bullet techdetail"/>
<xsl:variable name="doctype" select="'tutorial'"/>
<xsl:include href='../_c74_platform.xsl'/>
<xsl:variable name="jargon_enable">
<xsl:choose>
<xsl:when test="$compliant=1">
<xsl:value-of select="document('../_c74_common.xml')/root/setting[@name='jargon_enable']/@value"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="document('../../_c74_common.xml')/root/setting[@name='jargon_enable']/@value"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="jargon_mouseover">
<xsl:choose>
<xsl:when test="$compliant=1">
<xsl:value-of select="document('../_c74_common.xml')/root/setting[@name='jargon_mouseover']/@value"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="document('../../_c74_common.xml')/root/setting[@name='jargon_mouseover']/@value"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="refs_root_loc">
<xsl:choose>
<xsl:when test="$compliant=1">
<xsl:value-of select="'./refpages'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'../../refpages'"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="refs_root_link" select="'../../refpages'"/>
<xsl:variable name="patchname" select="/chapter/openfile/@name"/> <!-- for openfilefront -->
<xsl:variable name="patchfile" select="/chapter/openfile/@patch"/> <!-- for openfilefront -->
<xsl:template match="/">
<html>
<head>
<link rel="stylesheet" type="text/css" href="../../_c74_common.css"/>
<title><xsl:value-of select="/chapter/@name"/></title>
</head>
<body>
<!--
Go and apply all the templates for the root
-->
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<!--
Body styles
-->
<xsl:template match="openpatchlink">
<xsl:if test="$patchfile != ''">
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('max:openfilefront/', $patchname, '/', $patchfile)"/>
</xsl:attribute>
<xsl:apply-templates />
</a>
</xsl:if>
</xsl:template>
<xsl:template match="chapter">
<div class="basestyle">
<xsl:apply-templates/>
</div>
</xsl:template>
<!--
markup elements
-->
<xsl:template match="o">
<xsl:call-template name="object_link">
<xsl:with-param name="objname">
<xsl:if test="@objname"><xsl:value-of select="@objname"/></xsl:if>
</xsl:with-param>
<xsl:with-param name="name">
<xsl:value-of select="."/>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<!-- <xsl:template match="seealsolist">
<div class="header2">
<xsl:apply-templates/>
</div>
</xsl:template> -->
<xsl:template match="methodlist">
<div class="boxedtext">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="example">
<div class="body">
<img>
<xsl:attribute name="src">
<xsl:value-of select="@name"/>
</xsl:attribute>
</img>
<br />
</div>
<span class="caption"><xsl:value-of select="."/></span>
</xsl:template>
</xsl:stylesheet>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,766 @@
{
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
79.0,
662.0,
793.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showrootpatcherontab": 0,
"showontab": 0,
"boxes": [
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
662.0,
767.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showontab": 1,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-1",
"linecount": 7,
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"patching_rect": [
626.0,
63.0,
19.0,
102.0
],
"text": "loadbang"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpdetails.js",
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": "fl.abs~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
630.0,
150.0
]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-3",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
400.0,
735.0,
245.0,
21.0
],
"text": "Traverse the tabs for more information!",
"textjustification": 2
}
},
{
"box": {
"bgmode": 0,
"border": 0,
"clickthrough": 0,
"enablehscroll": 0,
"enablevscroll": 0,
"id": "obj-128",
"lockeddragscroll": 0,
"maxclass": "bpatcher",
"name": "fldocs.getparams.maxpat",
"numinlets": 1,
"numoutlets": 0,
"offset": [
0.0,
0.0
],
"patching_rect": [
15.0,
167.0,
630.0,
565.0
],
"viewvisibility": 1
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-128",
0
],
"hidden": 1,
"midpoints": [
635.5,
168.0,
657.0,
168.0,
657.0,
166.0,
24.5,
166.0
],
"source": [
"obj-1",
0
]
}
}
]
},
"patching_rect": [
2.0,
5.0,
38.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p info"
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
0.0,
26.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [],
"lines": []
},
"patching_rect": [
540.0,
230.0,
25.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p ?"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 13.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [
{
"box": {
"id": "obj-1",
"maxclass": "ezdac~",
"numinlets": 2,
"numoutlets": 0,
"patching_rect": [
15.0,
344.0,
45.0,
45.0
]
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-24",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
140.25,
247.5,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-25",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
202.5,
244.0,
183.0,
21.0
],
"text": "Convert to absolute value"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-14",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
96.0,
190.5,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-23",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
158.25,
187.0,
207.0,
21.0
],
"text": "Frame containing a single -1 value"
}
},
{
"box": {
"format": 6,
"id": "obj-21",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
91.0,
315.0,
50.0,
23.0
]
}
},
{
"box": {
"format": 6,
"id": "obj-19",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
315.0,
50.0,
23.0
]
}
},
{
"box": {
"id": "obj-16",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
150.0,
54.0,
23.0
],
"text": "fl.once~"
}
},
{
"box": {
"id": "obj-15",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
282.0,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-34",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
91.0,
282.0,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-32",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
91.0,
244.0,
47.0,
23.0
],
"text": "fl.abs~"
}
},
{
"box": {
"id": "obj-13",
"maxclass": "newobj",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
187.0,
85.0,
23.0
],
"text": "fl.uniform~ -1"
}
},
{
"box": {
"id": "obj-4",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
105.0,
108.0,
23.0
],
"text": "fl.interval~ 44100"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpname.js",
"id": "obj-3",
"ignoreclick": 1,
"jsarguments": [
"fl.abs~"
],
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
435.0,
75.0
]
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-15",
0
],
"order": 1,
"source": [
"obj-13",
0
]
}
},
{
"patchline": {
"destination": [
"obj-32",
0
],
"order": 0,
"source": [
"obj-13",
0
]
}
},
{
"patchline": {
"destination": [
"obj-19",
0
],
"source": [
"obj-15",
0
]
}
},
{
"patchline": {
"destination": [
"obj-13",
0
],
"source": [
"obj-16",
0
]
}
},
{
"patchline": {
"destination": [
"obj-34",
0
],
"source": [
"obj-32",
0
]
}
},
{
"patchline": {
"destination": [
"obj-21",
0
],
"source": [
"obj-34",
0
]
}
}
],
"styles": [
{
"name": "newobjBlue-1",
"default": {
"accentcolor": [
0.317647,
0.654902,
0.976471,
1.0
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "newobjYellow-1",
"default": {
"fontsize": [
12.059008
],
"accentcolor": [
0.82517,
0.78181,
0.059545,
1.0
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "numberGold-1",
"default": {
"accentcolor": [
0.764706,
0.592157,
0.101961,
1.0
]
},
"parentstyle": "",
"multi": 0
}
]
},
"patching_rect": [
271.0,
230.0,
47.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"fontsize": 13.0,
"globalpatchername": "",
"tags": ""
},
"text": "p basic"
}
}
],
"lines": [],
"dependency_cache": [
{
"name": "fldocs.getparams.maxpat",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "JSON",
"implicit": 1
},
{
"name": "fl.getname.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
},
{
"name": "fl.helpdetails.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
}
],
"autosave": 0
}
}
@@ -0,0 +1,439 @@
{
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
79.0,
662.0,
793.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showrootpatcherontab": 0,
"showontab": 0,
"boxes": [
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
662.0,
767.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showontab": 1,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-1",
"linecount": 7,
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"patching_rect": [
626.0,
63.0,
19.0,
102.0
],
"text": "loadbang"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpdetails.js",
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": "fl.accumpoint~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
630.0,
150.0
]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-3",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
400.0,
735.0,
245.0,
21.0
],
"text": "Traverse the tabs for more information!",
"textjustification": 2
}
},
{
"box": {
"bgmode": 0,
"border": 0,
"clickthrough": 0,
"enablehscroll": 0,
"enablevscroll": 0,
"id": "obj-128",
"lockeddragscroll": 0,
"maxclass": "bpatcher",
"name": "fldocs.getparams.maxpat",
"numinlets": 1,
"numoutlets": 0,
"offset": [
0.0,
0.0
],
"patching_rect": [
15.0,
167.0,
630.0,
565.0
],
"viewvisibility": 1
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-128",
0
],
"hidden": 1,
"midpoints": [
635.5,
168.0,
657.0,
168.0,
657.0,
166.0,
24.5,
166.0
],
"source": [
"obj-1",
0
]
}
}
]
},
"patching_rect": [
2.0,
5.0,
38.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p info"
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
0.0,
26.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [],
"lines": []
},
"patching_rect": [
540.0,
230.0,
25.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p ?"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 13.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [
{
"box": {
"id": "obj-4",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
105.0,
108.0,
23.0
],
"text": "fl.interval~ 44100"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpname.js",
"id": "obj-3",
"ignoreclick": 1,
"jsarguments": "fl.accumpoint~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
435.0,
75.0
]
}
}
],
"lines": []
},
"patching_rect": [
271.0,
230.0,
47.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"fontsize": 13.0,
"globalpatchername": "",
"tags": ""
},
"text": "p basic"
}
}
],
"lines": [],
"dependency_cache": [
{
"name": "fldocs.getparams.maxpat",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "JSON",
"implicit": 1
},
{
"name": "fl.getname.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
},
{
"name": "fl.helpdetails.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
}
],
"autosave": 0
}
}
@@ -0,0 +1,753 @@
{
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
79.0,
662.0,
793.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showrootpatcherontab": 0,
"showontab": 0,
"boxes": [
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
662.0,
767.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showontab": 1,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-1",
"linecount": 7,
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"patching_rect": [
626.0,
63.0,
19.0,
102.0
],
"text": "loadbang"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpdetails.js",
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": "fl.acosh~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
630.0,
150.0
]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-3",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
400.0,
735.0,
245.0,
21.0
],
"text": "Traverse the tabs for more information!",
"textjustification": 2
}
},
{
"box": {
"bgmode": 0,
"border": 0,
"clickthrough": 0,
"enablehscroll": 0,
"enablevscroll": 0,
"id": "obj-128",
"lockeddragscroll": 0,
"maxclass": "bpatcher",
"name": "fldocs.getparams.maxpat",
"numinlets": 1,
"numoutlets": 0,
"offset": [
0.0,
0.0
],
"patching_rect": [
15.0,
167.0,
630.0,
565.0
],
"viewvisibility": 1
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-128",
0
],
"hidden": 1,
"midpoints": [
635.5,
168.0,
657.0,
168.0,
657.0,
166.0,
24.5,
166.0
],
"source": [
"obj-1",
0
]
}
}
]
},
"patching_rect": [
2.0,
5.0,
38.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p info"
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
0.0,
26.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [],
"lines": []
},
"patching_rect": [
540.0,
230.0,
25.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p ?"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 13.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [
{
"box": {
"format": 6,
"id": "obj-30",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
330.0,
50.0,
23.0
]
}
},
{
"box": {
"format": 6,
"id": "obj-28",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
150.0,
50.0,
23.0
]
}
},
{
"box": {
"id": "obj-26",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
105.0,
79.0,
23.0
],
"text": "loadmess 1."
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-38",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
94.0,
199.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-31",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
240.0,
61.0,
23.0
],
"text": "fl.acosh~"
}
},
{
"box": {
"id": "obj-20",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
285.0,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-13",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
106.5,
105.0,
75.0,
23.0
],
"text": "fl.perblock~"
}
},
{
"box": {
"id": "obj-12",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
195.0,
77.0,
23.0
],
"text": "fl.frommax~"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-24",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
67.0,
334.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-25",
"linecount": 2,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
129.25,
323.5,
172.0,
36.0
],
"text": "Hyperbolic arccosine of input frame's values"
}
},
{
"box": {
"id": "obj-23",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
156.25,
196.0,
211.0,
21.0
],
"text": "Frame containing values to test"
}
},
{
"box": {
"id": "obj-11",
"maxclass": "ezdac~",
"numinlets": 2,
"numoutlets": 0,
"patching_rect": [
15.0,
362.75,
50.0,
50.0
]
}
},
{
"box": {
"border": 0,
"filename": "fl.helpname.js",
"id": "obj-3",
"ignoreclick": 1,
"jsarguments": [
"fl.acosh~"
],
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
435.0,
75.0
]
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-31",
0
],
"source": [
"obj-12",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"midpoints": [
116.0,
180.0,
24.5,
180.0
],
"source": [
"obj-13",
0
]
}
},
{
"patchline": {
"destination": [
"obj-30",
0
],
"source": [
"obj-20",
0
]
}
},
{
"patchline": {
"destination": [
"obj-28",
0
],
"source": [
"obj-26",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"source": [
"obj-28",
0
]
}
},
{
"patchline": {
"destination": [
"obj-20",
0
],
"source": [
"obj-31",
0
]
}
}
],
"styles": [
{
"name": "newobjBlue-1",
"default": {
"accentcolor": [
0.317647,
0.654902,
0.976471,
1.0
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "newobjYellow-1",
"default": {
"accentcolor": [
0.82517,
0.78181,
0.059545,
1.0
],
"fontsize": [
12.059008
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "numberGold-1",
"default": {
"accentcolor": [
0.764706,
0.592157,
0.101961,
1.0
]
},
"parentstyle": "",
"multi": 0
}
]
},
"patching_rect": [
271.0,
230.0,
47.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"fontsize": 13.0,
"globalpatchername": "",
"tags": ""
},
"text": "p basic"
}
}
],
"lines": [],
"dependency_cache": [
{
"name": "fldocs.getparams.maxpat",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "JSON",
"implicit": 1
},
{
"name": "fl.getname.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
},
{
"name": "fl.helpdetails.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
}
],
"autosave": 0
}
}
@@ -0,0 +1,752 @@
{
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
79.0,
662.0,
793.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showrootpatcherontab": 0,
"showontab": 0,
"boxes": [
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
662.0,
767.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showontab": 1,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-1",
"linecount": 7,
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"patching_rect": [
626.0,
63.0,
19.0,
102.0
],
"text": "loadbang"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpdetails.js",
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": "fl.acos~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
630.0,
150.0
]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-3",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
400.0,
735.0,
245.0,
21.0
],
"text": "Traverse the tabs for more information!",
"textjustification": 2
}
},
{
"box": {
"bgmode": 0,
"border": 0,
"clickthrough": 0,
"enablehscroll": 0,
"enablevscroll": 0,
"id": "obj-128",
"lockeddragscroll": 0,
"maxclass": "bpatcher",
"name": "fldocs.getparams.maxpat",
"numinlets": 1,
"numoutlets": 0,
"offset": [
0.0,
0.0
],
"patching_rect": [
15.0,
167.0,
630.0,
565.0
],
"viewvisibility": 1
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-128",
0
],
"hidden": 1,
"midpoints": [
635.5,
168.0,
657.0,
168.0,
657.0,
166.0,
24.5,
166.0
],
"source": [
"obj-1",
0
]
}
}
]
},
"patching_rect": [
2.0,
5.0,
38.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p info"
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
0.0,
26.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [],
"lines": []
},
"patching_rect": [
540.0,
230.0,
25.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p ?"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 13.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [
{
"box": {
"format": 6,
"id": "obj-30",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
277.0,
50.0,
23.0
]
}
},
{
"box": {
"format": 6,
"id": "obj-28",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
135.0,
50.0,
23.0
]
}
},
{
"box": {
"id": "obj-26",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
105.0,
79.0,
23.0
],
"text": "loadmess -1"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-38",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
94.0,
179.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-31",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
211.25,
54.0,
23.0
],
"text": "fl.acos~"
}
},
{
"box": {
"id": "obj-20",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
243.0,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-13",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
106.5,
105.0,
75.0,
23.0
],
"text": "fl.perblock~"
}
},
{
"box": {
"id": "obj-12",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
175.0,
77.0,
23.0
],
"text": "fl.frommax~"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-24",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
75.0,
277.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-25",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
135.0,
274.0,
199.0,
21.0
],
"text": "Arccosine of input frame's values"
}
},
{
"box": {
"id": "obj-23",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
156.25,
175.0,
211.0,
21.0
],
"text": "Frame containing values to test"
}
},
{
"box": {
"id": "obj-11",
"maxclass": "ezdac~",
"numinlets": 2,
"numoutlets": 0,
"patching_rect": [
15.0,
318.75,
50.0,
50.0
]
}
},
{
"box": {
"border": 0,
"filename": "fl.helpname.js",
"id": "obj-3",
"ignoreclick": 1,
"jsarguments": [
"fl.acos~"
],
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
435.0,
75.0
]
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-31",
0
],
"source": [
"obj-12",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"midpoints": [
116.0,
162.0,
24.5,
162.0
],
"source": [
"obj-13",
0
]
}
},
{
"patchline": {
"destination": [
"obj-30",
0
],
"source": [
"obj-20",
0
]
}
},
{
"patchline": {
"destination": [
"obj-28",
0
],
"source": [
"obj-26",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"source": [
"obj-28",
0
]
}
},
{
"patchline": {
"destination": [
"obj-20",
0
],
"source": [
"obj-31",
0
]
}
}
],
"styles": [
{
"name": "newobjBlue-1",
"default": {
"accentcolor": [
0.317647,
0.654902,
0.976471,
1.0
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "newobjYellow-1",
"default": {
"accentcolor": [
0.82517,
0.78181,
0.059545,
1.0
],
"fontsize": [
12.059008
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "numberGold-1",
"default": {
"accentcolor": [
0.764706,
0.592157,
0.101961,
1.0
]
},
"parentstyle": "",
"multi": 0
}
]
},
"patching_rect": [
271.0,
230.0,
47.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"fontsize": 13.0,
"globalpatchername": "",
"tags": ""
},
"text": "p basic"
}
}
],
"lines": [],
"dependency_cache": [
{
"name": "fldocs.getparams.maxpat",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "JSON",
"implicit": 1
},
{
"name": "fl.getname.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
},
{
"name": "fl.helpdetails.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
}
],
"autosave": 0
}
}
@@ -0,0 +1,752 @@
{
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
79.0,
662.0,
793.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showrootpatcherontab": 0,
"showontab": 0,
"boxes": [
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
662.0,
767.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showontab": 1,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-1",
"linecount": 7,
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"patching_rect": [
626.0,
63.0,
19.0,
102.0
],
"text": "loadbang"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpdetails.js",
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": "fl.and~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
630.0,
150.0
]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-3",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
400.0,
735.0,
245.0,
21.0
],
"text": "Traverse the tabs for more information!",
"textjustification": 2
}
},
{
"box": {
"bgmode": 0,
"border": 0,
"clickthrough": 0,
"enablehscroll": 0,
"enablevscroll": 0,
"id": "obj-128",
"lockeddragscroll": 0,
"maxclass": "bpatcher",
"name": "fldocs.getparams.maxpat",
"numinlets": 1,
"numoutlets": 0,
"offset": [
0.0,
0.0
],
"patching_rect": [
15.0,
167.0,
630.0,
565.0
],
"viewvisibility": 1
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-128",
0
],
"hidden": 1,
"midpoints": [
635.5,
168.0,
657.0,
168.0,
657.0,
166.0,
24.5,
166.0
],
"source": [
"obj-1",
0
]
}
}
]
},
"patching_rect": [
2.0,
5.0,
38.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p info"
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
0.0,
26.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [],
"lines": []
},
"patching_rect": [
540.0,
230.0,
25.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p ?"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 13.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [
{
"box": {
"id": "obj-45",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
114.0,
105.0,
97.0,
23.0
],
"text": "loadmess 0 1 1"
}
},
{
"box": {
"id": "obj-44",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
105.0,
97.0,
23.0
],
"text": "loadmess 0 0 1"
}
},
{
"box": {
"id": "obj-27",
"linecount": 5,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
193.0,
154.75,
161.0,
79.0
],
"text": "Values are tested to be non-zero. Therefore, the object tests whether either of the pair-wise inputs satisfy these conditions."
}
},
{
"box": {
"id": "obj-14",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
114.0,
154.75,
77.0,
23.0
],
"text": "fl.frommax~"
}
},
{
"box": {
"id": "obj-40",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
154.75,
77.0,
23.0
],
"text": "fl.frommax~"
}
},
{
"box": {
"id": "obj-22",
"maxclass": "message",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
286.75,
55.0,
23.0
],
"text": "0. 0. 1."
}
},
{
"box": {
"id": "obj-12",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
210.16668701171875,
105.0,
54.0,
23.0
],
"text": "fl.once~"
}
},
{
"box": {
"id": "obj-10",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
246.75,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-16",
"maxclass": "newobj",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
202.75,
118.0,
23.0
],
"text": "fl.and~"
}
},
{
"box": {
"id": "obj-11",
"maxclass": "ezdac~",
"numinlets": 2,
"numoutlets": 0,
"patching_rect": [
15.0,
316.25,
50.0,
50.0
]
}
},
{
"box": {
"border": 0,
"filename": "fl.helpname.js",
"id": "obj-3",
"ignoreclick": 1,
"jsarguments": [
"fl.and~"
],
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
435.0,
75.0
]
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-22",
1
],
"source": [
"obj-10",
0
]
}
},
{
"patchline": {
"destination": [
"obj-14",
0
],
"midpoints": [
219.66668701171875,
140.75,
123.5,
140.75
],
"order": 0,
"source": [
"obj-12",
0
]
}
},
{
"patchline": {
"destination": [
"obj-40",
0
],
"midpoints": [
219.66668701171875,
140.75,
24.5,
140.75
],
"order": 1,
"source": [
"obj-12",
0
]
}
},
{
"patchline": {
"destination": [
"obj-16",
1
],
"source": [
"obj-14",
0
]
}
},
{
"patchline": {
"destination": [
"obj-10",
0
],
"source": [
"obj-16",
0
]
}
},
{
"patchline": {
"destination": [
"obj-16",
0
],
"source": [
"obj-40",
0
]
}
},
{
"patchline": {
"destination": [
"obj-40",
0
],
"source": [
"obj-44",
0
]
}
},
{
"patchline": {
"destination": [
"obj-14",
0
],
"source": [
"obj-45",
0
]
}
}
],
"styles": [
{
"name": "newobjBlue-1",
"default": {
"accentcolor": [
0.317647,
0.654902,
0.976471,
1.0
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "newobjYellow-1",
"default": {
"accentcolor": [
0.82517,
0.78181,
0.059545,
1.0
],
"fontsize": [
12.059008
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "numberGold-1",
"default": {
"accentcolor": [
0.764706,
0.592157,
0.101961,
1.0
]
},
"parentstyle": "",
"multi": 0
}
]
},
"patching_rect": [
271.0,
230.0,
47.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"fontsize": 13.0,
"globalpatchername": "",
"tags": ""
},
"text": "p basic"
}
}
],
"lines": [],
"dependency_cache": [
{
"name": "fldocs.getparams.maxpat",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "JSON",
"implicit": 1
},
{
"name": "fl.getname.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
},
{
"name": "fl.helpdetails.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
}
],
"autosave": 0
}
}
@@ -0,0 +1,684 @@
{
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
79.0,
662.0,
793.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showrootpatcherontab": 0,
"showontab": 0,
"boxes": [
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
662.0,
767.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showontab": 1,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-1",
"linecount": 7,
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"patching_rect": [
626.0,
63.0,
19.0,
102.0
],
"text": "loadbang"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpdetails.js",
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": "fl.argmax~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
630.0,
150.0
]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-3",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
400.0,
735.0,
245.0,
21.0
],
"text": "Traverse the tabs for more information!",
"textjustification": 2
}
},
{
"box": {
"bgmode": 0,
"border": 0,
"clickthrough": 0,
"enablehscroll": 0,
"enablevscroll": 0,
"id": "obj-128",
"lockeddragscroll": 0,
"maxclass": "bpatcher",
"name": "fldocs.getparams.maxpat",
"numinlets": 1,
"numoutlets": 0,
"offset": [
0.0,
0.0
],
"patching_rect": [
15.0,
167.0,
630.0,
565.0
],
"viewvisibility": 1
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-128",
0
],
"hidden": 1,
"midpoints": [
635.5,
168.0,
657.0,
168.0,
657.0,
166.0,
24.5,
166.0
],
"source": [
"obj-1",
0
]
}
}
]
},
"patching_rect": [
2.0,
5.0,
38.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p info"
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
0.0,
26.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [],
"lines": []
},
"patching_rect": [
540.0,
230.0,
25.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p ?"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 13.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [
{
"box": {
"id": "obj-4",
"maxclass": "ezdac~",
"numinlets": 2,
"numoutlets": 0,
"patching_rect": [
15.0,
293.0,
45.0,
45.0
]
}
},
{
"box": {
"id": "obj-17",
"maxclass": "message",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
261.5,
50.0,
23.0
],
"text": "1023."
}
},
{
"box": {
"id": "obj-14",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
222.5,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-12",
"maxclass": "newobj",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
144.5,
236.0,
23.0
],
"text": "fl.ramp~ /length 1024 /scale normalised"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-38",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
253.0,
148.5,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-20",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
183.5,
70.0,
23.0
],
"text": "fl.argmax~"
}
},
{
"box": {
"id": "obj-13",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
105.0,
54.0,
23.0
],
"text": "fl.once~"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-24",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
67.0,
267.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-25",
"linecount": 2,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
129.25,
259.0,
311.0,
36.0
],
"text": "The last value of fl.ramp~ will always be the maximum so we would expect (length - 1) for output."
}
},
{
"box": {
"id": "obj-23",
"linecount": 2,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
315.25,
140.5,
166.0,
36.0
],
"text": "Frame counting from 0 to 1 with 1024 discrete points."
}
},
{
"box": {
"border": 0,
"filename": "fl.helpname.js",
"id": "obj-3",
"ignoreclick": 1,
"jsarguments": [
"fl.argmax~"
],
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
435.0,
75.0
]
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-20",
0
],
"source": [
"obj-12",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"source": [
"obj-13",
0
]
}
},
{
"patchline": {
"destination": [
"obj-17",
1
],
"source": [
"obj-14",
0
]
}
},
{
"patchline": {
"destination": [
"obj-14",
0
],
"source": [
"obj-20",
0
]
}
}
],
"styles": [
{
"name": "newobjBlue-1",
"default": {
"accentcolor": [
0.317647,
0.654902,
0.976471,
1.0
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "newobjYellow-1",
"default": {
"accentcolor": [
0.82517,
0.78181,
0.059545,
1.0
],
"fontsize": [
12.059008
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "numberGold-1",
"default": {
"accentcolor": [
0.764706,
0.592157,
0.101961,
1.0
]
},
"parentstyle": "",
"multi": 0
}
]
},
"patching_rect": [
271.0,
230.0,
47.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"fontsize": 13.0,
"globalpatchername": "",
"tags": ""
},
"text": "p basic"
}
}
],
"lines": [],
"dependency_cache": [
{
"name": "fldocs.getparams.maxpat",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "JSON",
"implicit": 1
},
{
"name": "fl.getname.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
},
{
"name": "fl.helpdetails.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
}
],
"autosave": 0
}
}
@@ -0,0 +1,752 @@
{
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
79.0,
662.0,
793.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showrootpatcherontab": 0,
"showontab": 0,
"boxes": [
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
662.0,
767.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showontab": 1,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-1",
"linecount": 7,
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"patching_rect": [
626.0,
63.0,
19.0,
102.0
],
"text": "loadbang"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpdetails.js",
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": "fl.argmin~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
630.0,
150.0
]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-3",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
400.0,
735.0,
245.0,
21.0
],
"text": "Traverse the tabs for more information!",
"textjustification": 2
}
},
{
"box": {
"bgmode": 0,
"border": 0,
"clickthrough": 0,
"enablehscroll": 0,
"enablevscroll": 0,
"id": "obj-128",
"lockeddragscroll": 0,
"maxclass": "bpatcher",
"name": "fldocs.getparams.maxpat",
"numinlets": 1,
"numoutlets": 0,
"offset": [
0.0,
0.0
],
"patching_rect": [
15.0,
167.0,
630.0,
565.0
],
"viewvisibility": 1
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-128",
0
],
"hidden": 1,
"midpoints": [
635.5,
168.0,
657.0,
168.0,
657.0,
166.0,
24.5,
166.0
],
"source": [
"obj-1",
0
]
}
}
]
},
"patching_rect": [
2.0,
5.0,
38.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p info"
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
0.0,
26.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [],
"lines": []
},
"patching_rect": [
540.0,
230.0,
25.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p ?"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 13.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-4",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
85.0,
199.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-5",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
147.25,
195.0,
255.0,
21.0
],
"presentation_linecount": 2,
"text": "Add 37 to every value in the input frame."
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
195.0,
68.0,
23.0
],
"text": "fl.plus~ 37"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "ezdac~",
"numinlets": 2,
"numoutlets": 0,
"patching_rect": [
15.0,
347.5,
45.0,
45.0
]
}
},
{
"box": {
"id": "obj-17",
"maxclass": "message",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
318.0,
50.0,
23.0
],
"text": "0."
}
},
{
"box": {
"id": "obj-14",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
279.0,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-12",
"maxclass": "newobj",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
144.5,
236.0,
23.0
],
"text": "fl.ramp~ /length 1024 /scale normalised"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-38",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
253.0,
148.5,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-20",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
240.0,
66.0,
23.0
],
"text": "fl.argmin~"
}
},
{
"box": {
"id": "obj-13",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
105.0,
54.0,
23.0
],
"text": "fl.once~"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-24",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
67.0,
323.5,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-25",
"linecount": 5,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
129.25,
315.5,
260.0,
79.0
],
"text": "The first value of fl.ramp~ will always be the minimum so we would expect 0 for output.\n\nRemember, argmin returns the position of the minimum, not the minimum itself."
}
},
{
"box": {
"id": "obj-23",
"linecount": 2,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
315.25,
140.5,
166.0,
36.0
],
"text": "Frame counting from 0 to 1 with 1024 discrete points."
}
},
{
"box": {
"border": 0,
"filename": "fl.helpname.js",
"id": "obj-3",
"ignoreclick": 1,
"jsarguments": [
"fl.argmin~"
],
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
435.0,
75.0
]
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-2",
0
],
"source": [
"obj-12",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"source": [
"obj-13",
0
]
}
},
{
"patchline": {
"destination": [
"obj-17",
1
],
"midpoints": [
24.5,
309.5,
55.5,
309.5
],
"source": [
"obj-14",
0
]
}
},
{
"patchline": {
"destination": [
"obj-20",
0
],
"source": [
"obj-2",
0
]
}
},
{
"patchline": {
"destination": [
"obj-14",
0
],
"source": [
"obj-20",
0
]
}
}
],
"styles": [
{
"name": "newobjBlue-1",
"default": {
"accentcolor": [
0.317647,
0.654902,
0.976471,
1.0
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "newobjYellow-1",
"default": {
"accentcolor": [
0.82517,
0.78181,
0.059545,
1.0
],
"fontsize": [
12.059008
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "numberGold-1",
"default": {
"accentcolor": [
0.764706,
0.592157,
0.101961,
1.0
]
},
"parentstyle": "",
"multi": 0
}
]
},
"patching_rect": [
271.0,
230.0,
47.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"fontsize": 13.0,
"globalpatchername": "",
"tags": ""
},
"text": "p basic"
}
}
],
"lines": [],
"dependency_cache": [
{
"name": "fldocs.getparams.maxpat",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "JSON",
"implicit": 1
},
{
"name": "fl.getname.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
},
{
"name": "fl.helpdetails.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
}
],
"autosave": 0
}
}
@@ -0,0 +1,752 @@
{
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
79.0,
662.0,
793.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showrootpatcherontab": 0,
"showontab": 0,
"boxes": [
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
662.0,
767.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showontab": 1,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-1",
"linecount": 7,
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"patching_rect": [
626.0,
63.0,
19.0,
102.0
],
"text": "loadbang"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpdetails.js",
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": "fl.asinh~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
630.0,
150.0
]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-3",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
400.0,
735.0,
245.0,
21.0
],
"text": "Traverse the tabs for more information!",
"textjustification": 2
}
},
{
"box": {
"bgmode": 0,
"border": 0,
"clickthrough": 0,
"enablehscroll": 0,
"enablevscroll": 0,
"id": "obj-128",
"lockeddragscroll": 0,
"maxclass": "bpatcher",
"name": "fldocs.getparams.maxpat",
"numinlets": 1,
"numoutlets": 0,
"offset": [
0.0,
0.0
],
"patching_rect": [
15.0,
167.0,
630.0,
565.0
],
"viewvisibility": 1
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-128",
0
],
"hidden": 1,
"midpoints": [
635.5,
168.0,
657.0,
168.0,
657.0,
166.0,
24.5,
166.0
],
"source": [
"obj-1",
0
]
}
}
]
},
"patching_rect": [
2.0,
5.0,
38.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p info"
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
0.0,
26.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [],
"lines": []
},
"patching_rect": [
540.0,
230.0,
25.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p ?"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 13.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [
{
"box": {
"id": "obj-1",
"maxclass": "ezdac~",
"numinlets": 2,
"numoutlets": 0,
"patching_rect": [
15.0,
375.0,
45.0,
45.0
]
}
},
{
"box": {
"format": 6,
"id": "obj-30",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
330.0,
50.0,
23.0
]
}
},
{
"box": {
"format": 6,
"id": "obj-28",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
150.0,
50.0,
23.0
]
}
},
{
"box": {
"id": "obj-26",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
105.0,
79.0,
23.0
],
"text": "loadmess 1."
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-38",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
94.0,
199.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-31",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
240.0,
57.0,
23.0
],
"text": "fl.asinh~"
}
},
{
"box": {
"id": "obj-20",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
285.0,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-13",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
106.5,
105.0,
75.0,
23.0
],
"text": "fl.perblock~"
}
},
{
"box": {
"id": "obj-12",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
195.0,
77.0,
23.0
],
"text": "fl.frommax~"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-24",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
67.0,
334.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-25",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
129.25,
330.0,
249.0,
21.0
],
"text": "Hyperbolic arcsine of input frame's values"
}
},
{
"box": {
"id": "obj-23",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
156.25,
195.0,
211.0,
21.0
],
"text": "Frame containing values to test"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpname.js",
"id": "obj-3",
"ignoreclick": 1,
"jsarguments": [
"fl.asinh~"
],
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
435.0,
75.0
]
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-31",
0
],
"source": [
"obj-12",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"midpoints": [
116.0,
180.0,
24.5,
180.0
],
"source": [
"obj-13",
0
]
}
},
{
"patchline": {
"destination": [
"obj-30",
0
],
"source": [
"obj-20",
0
]
}
},
{
"patchline": {
"destination": [
"obj-28",
0
],
"source": [
"obj-26",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"source": [
"obj-28",
0
]
}
},
{
"patchline": {
"destination": [
"obj-20",
0
],
"source": [
"obj-31",
0
]
}
}
],
"styles": [
{
"name": "newobjBlue-1",
"default": {
"accentcolor": [
0.317647,
0.654902,
0.976471,
1.0
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "newobjYellow-1",
"default": {
"accentcolor": [
0.82517,
0.78181,
0.059545,
1.0
],
"fontsize": [
12.059008
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "numberGold-1",
"default": {
"accentcolor": [
0.764706,
0.592157,
0.101961,
1.0
]
},
"parentstyle": "",
"multi": 0
}
]
},
"patching_rect": [
271.0,
230.0,
47.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"fontsize": 13.0,
"globalpatchername": "",
"tags": ""
},
"text": "p basic"
}
}
],
"lines": [],
"dependency_cache": [
{
"name": "fldocs.getparams.maxpat",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "JSON",
"implicit": 1
},
{
"name": "fl.getname.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
},
{
"name": "fl.helpdetails.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
}
],
"autosave": 0
}
}
@@ -0,0 +1,752 @@
{
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
79.0,
662.0,
793.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showrootpatcherontab": 0,
"showontab": 0,
"boxes": [
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
662.0,
767.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showontab": 1,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-1",
"linecount": 7,
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"patching_rect": [
626.0,
63.0,
19.0,
102.0
],
"text": "loadbang"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpdetails.js",
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": "fl.asin~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
630.0,
150.0
]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-3",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
400.0,
735.0,
245.0,
21.0
],
"text": "Traverse the tabs for more information!",
"textjustification": 2
}
},
{
"box": {
"bgmode": 0,
"border": 0,
"clickthrough": 0,
"enablehscroll": 0,
"enablevscroll": 0,
"id": "obj-128",
"lockeddragscroll": 0,
"maxclass": "bpatcher",
"name": "fldocs.getparams.maxpat",
"numinlets": 1,
"numoutlets": 0,
"offset": [
0.0,
0.0
],
"patching_rect": [
15.0,
167.0,
630.0,
565.0
],
"viewvisibility": 1
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-128",
0
],
"hidden": 1,
"midpoints": [
635.5,
168.0,
657.0,
168.0,
657.0,
166.0,
24.5,
166.0
],
"source": [
"obj-1",
0
]
}
}
]
},
"patching_rect": [
2.0,
5.0,
38.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p info"
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
0.0,
26.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [],
"lines": []
},
"patching_rect": [
540.0,
230.0,
25.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p ?"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 13.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [
{
"box": {
"format": 6,
"id": "obj-30",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
330.0,
50.0,
23.0
]
}
},
{
"box": {
"format": 6,
"id": "obj-28",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
150.0,
50.0,
23.0
]
}
},
{
"box": {
"id": "obj-26",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
105.0,
79.0,
23.0
],
"text": "loadmess 1."
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-38",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
88.5,
198.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-31",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
240.0,
50.0,
23.0
],
"text": "fl.asin~"
}
},
{
"box": {
"id": "obj-20",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
285.0,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-13",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
106.5,
105.0,
75.0,
23.0
],
"text": "fl.perblock~"
}
},
{
"box": {
"id": "obj-12",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
195.0,
77.0,
23.0
],
"text": "fl.frommax~"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-24",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
68.5,
333.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-25",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
130.75,
330.0,
185.0,
21.0
],
"text": "Arcsine of input frame's values"
}
},
{
"box": {
"id": "obj-23",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
150.75,
195.0,
211.0,
21.0
],
"text": "Frame containing values to test"
}
},
{
"box": {
"id": "obj-11",
"maxclass": "ezdac~",
"numinlets": 2,
"numoutlets": 0,
"patching_rect": [
15.0,
371.0,
50.0,
50.0
]
}
},
{
"box": {
"border": 0,
"filename": "fl.helpname.js",
"id": "obj-3",
"ignoreclick": 1,
"jsarguments": [
"fl.asin~"
],
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
435.0,
75.0
]
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-31",
0
],
"source": [
"obj-12",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"midpoints": [
116.0,
180.0,
24.5,
180.0
],
"source": [
"obj-13",
0
]
}
},
{
"patchline": {
"destination": [
"obj-30",
0
],
"source": [
"obj-20",
0
]
}
},
{
"patchline": {
"destination": [
"obj-28",
0
],
"source": [
"obj-26",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"source": [
"obj-28",
0
]
}
},
{
"patchline": {
"destination": [
"obj-20",
0
],
"source": [
"obj-31",
0
]
}
}
],
"styles": [
{
"name": "newobjBlue-1",
"default": {
"accentcolor": [
0.317647,
0.654902,
0.976471,
1.0
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "newobjYellow-1",
"default": {
"accentcolor": [
0.82517,
0.78181,
0.059545,
1.0
],
"fontsize": [
12.059008
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "numberGold-1",
"default": {
"accentcolor": [
0.764706,
0.592157,
0.101961,
1.0
]
},
"parentstyle": "",
"multi": 0
}
]
},
"patching_rect": [
271.0,
230.0,
47.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"fontsize": 13.0,
"globalpatchername": "",
"tags": ""
},
"text": "p basic"
}
}
],
"lines": [],
"dependency_cache": [
{
"name": "fldocs.getparams.maxpat",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "JSON",
"implicit": 1
},
{
"name": "fl.getname.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
},
{
"name": "fl.helpdetails.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
}
],
"autosave": 0
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,753 @@
{
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
79.0,
662.0,
793.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showrootpatcherontab": 0,
"showontab": 0,
"boxes": [
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
662.0,
767.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showontab": 1,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-1",
"linecount": 7,
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"patching_rect": [
626.0,
63.0,
19.0,
102.0
],
"text": "loadbang"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpdetails.js",
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": "fl.atanh~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
630.0,
150.0
]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-3",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
400.0,
735.0,
245.0,
21.0
],
"text": "Traverse the tabs for more information!",
"textjustification": 2
}
},
{
"box": {
"bgmode": 0,
"border": 0,
"clickthrough": 0,
"enablehscroll": 0,
"enablevscroll": 0,
"id": "obj-128",
"lockeddragscroll": 0,
"maxclass": "bpatcher",
"name": "fldocs.getparams.maxpat",
"numinlets": 1,
"numoutlets": 0,
"offset": [
0.0,
0.0
],
"patching_rect": [
15.0,
167.0,
630.0,
565.0
],
"viewvisibility": 1
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-128",
0
],
"hidden": 1,
"midpoints": [
635.5,
168.0,
657.0,
168.0,
657.0,
166.0,
24.5,
166.0
],
"source": [
"obj-1",
0
]
}
}
]
},
"patching_rect": [
2.0,
5.0,
38.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p info"
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
0.0,
26.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [],
"lines": []
},
"patching_rect": [
540.0,
230.0,
25.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p ?"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 13.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [
{
"box": {
"id": "obj-4",
"maxclass": "ezdac~",
"numinlets": 2,
"numoutlets": 0,
"patching_rect": [
15.0,
375.0,
45.0,
45.0
]
}
},
{
"box": {
"format": 6,
"id": "obj-30",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
330.0,
50.0,
23.0
]
}
},
{
"box": {
"format": 6,
"id": "obj-28",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
150.0,
50.0,
23.0
]
}
},
{
"box": {
"id": "obj-26",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
105.0,
86.0,
23.0
],
"text": "loadmess 0.8"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-38",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
94.0,
199.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-31",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
240.0,
59.0,
23.0
],
"text": "fl.atanh~"
}
},
{
"box": {
"id": "obj-20",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
284.75,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-13",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
106.5,
105.0,
75.0,
23.0
],
"text": "fl.perblock~"
}
},
{
"box": {
"id": "obj-12",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
195.0,
77.0,
23.0
],
"text": "fl.frommax~"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-24",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
68.5,
333.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-25",
"linecount": 2,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
130.75,
322.5,
185.0,
36.0
],
"text": "Hyperbolic arctangent of input frame's values"
}
},
{
"box": {
"id": "obj-23",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
156.25,
196.0,
211.0,
21.0
],
"text": "Frame containing values to test"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpname.js",
"id": "obj-3",
"ignoreclick": 1,
"jsarguments": [
"fl.atanh~"
],
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
435.0,
75.0
]
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-31",
0
],
"source": [
"obj-12",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"midpoints": [
116.0,
180.0,
24.5,
180.0
],
"source": [
"obj-13",
0
]
}
},
{
"patchline": {
"destination": [
"obj-30",
0
],
"source": [
"obj-20",
0
]
}
},
{
"patchline": {
"destination": [
"obj-28",
0
],
"source": [
"obj-26",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"source": [
"obj-28",
0
]
}
},
{
"patchline": {
"destination": [
"obj-20",
0
],
"source": [
"obj-31",
0
]
}
}
],
"styles": [
{
"name": "newobjBlue-1",
"default": {
"accentcolor": [
0.317647,
0.654902,
0.976471,
1.0
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "newobjYellow-1",
"default": {
"accentcolor": [
0.82517,
0.78181,
0.059545,
1.0
],
"fontsize": [
12.059008
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "numberGold-1",
"default": {
"accentcolor": [
0.764706,
0.592157,
0.101961,
1.0
]
},
"parentstyle": "",
"multi": 0
}
]
},
"patching_rect": [
271.0,
230.0,
47.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"fontsize": 13.0,
"globalpatchername": "",
"tags": ""
},
"text": "p basic"
}
}
],
"lines": [],
"dependency_cache": [
{
"name": "fldocs.getparams.maxpat",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "JSON",
"implicit": 1
},
{
"name": "fl.getname.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
},
{
"name": "fl.helpdetails.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
}
],
"autosave": 0
}
}
@@ -0,0 +1,753 @@
{
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
79.0,
662.0,
793.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showrootpatcherontab": 0,
"showontab": 0,
"boxes": [
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
662.0,
767.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showontab": 1,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-1",
"linecount": 7,
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"patching_rect": [
626.0,
63.0,
19.0,
102.0
],
"text": "loadbang"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpdetails.js",
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": "fl.atan~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
630.0,
150.0
]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-3",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
400.0,
735.0,
245.0,
21.0
],
"text": "Traverse the tabs for more information!",
"textjustification": 2
}
},
{
"box": {
"bgmode": 0,
"border": 0,
"clickthrough": 0,
"enablehscroll": 0,
"enablevscroll": 0,
"id": "obj-128",
"lockeddragscroll": 0,
"maxclass": "bpatcher",
"name": "fldocs.getparams.maxpat",
"numinlets": 1,
"numoutlets": 0,
"offset": [
0.0,
0.0
],
"patching_rect": [
15.0,
167.0,
630.0,
565.0
],
"viewvisibility": 1
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-128",
0
],
"hidden": 1,
"midpoints": [
635.5,
168.0,
657.0,
168.0,
657.0,
166.0,
24.5,
166.0
],
"source": [
"obj-1",
0
]
}
}
]
},
"patching_rect": [
2.0,
5.0,
38.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p info"
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
0.0,
26.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [],
"lines": []
},
"patching_rect": [
540.0,
230.0,
25.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p ?"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 13.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [
{
"box": {
"id": "obj-4",
"maxclass": "ezdac~",
"numinlets": 2,
"numoutlets": 0,
"patching_rect": [
15.0,
375.0,
45.0,
45.0
]
}
},
{
"box": {
"format": 6,
"id": "obj-30",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
330.0,
50.0,
23.0
]
}
},
{
"box": {
"format": 6,
"id": "obj-28",
"maxclass": "flonum",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
"bang"
],
"parameter_enable": 0,
"patching_rect": [
15.0,
150.0,
50.0,
23.0
]
}
},
{
"box": {
"id": "obj-26",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
105.0,
86.0,
23.0
],
"text": "loadmess 0.8"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-38",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
94.0,
199.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-31",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
240.0,
52.0,
23.0
],
"text": "fl.atan~"
}
},
{
"box": {
"id": "obj-20",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
285.0,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-13",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
106.5,
105.0,
75.0,
23.0
],
"text": "fl.perblock~"
}
},
{
"box": {
"id": "obj-12",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
195.0,
77.0,
23.0
],
"text": "fl.frommax~"
}
},
{
"box": {
"arrows": 1,
"border": 4.0,
"id": "obj-24",
"maxclass": "live.line",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
68.5,
333.0,
60.25,
15.0
]
}
},
{
"box": {
"id": "obj-25",
"linecount": 2,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
135.0,
322.5,
183.0,
36.0
],
"text": "Arctangent (in radians) of input frame's values"
}
},
{
"box": {
"id": "obj-23",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
156.25,
195.0,
211.0,
21.0
],
"text": "Frame containing values to test"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpname.js",
"id": "obj-3",
"ignoreclick": 1,
"jsarguments": [
"fl.atan~"
],
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
435.0,
75.0
]
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-31",
0
],
"source": [
"obj-12",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"midpoints": [
116.0,
180.0,
24.5,
180.0
],
"source": [
"obj-13",
0
]
}
},
{
"patchline": {
"destination": [
"obj-30",
0
],
"source": [
"obj-20",
0
]
}
},
{
"patchline": {
"destination": [
"obj-28",
0
],
"source": [
"obj-26",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"source": [
"obj-28",
0
]
}
},
{
"patchline": {
"destination": [
"obj-20",
0
],
"source": [
"obj-31",
0
]
}
}
],
"styles": [
{
"name": "newobjBlue-1",
"default": {
"accentcolor": [
0.317647,
0.654902,
0.976471,
1.0
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "newobjYellow-1",
"default": {
"accentcolor": [
0.82517,
0.78181,
0.059545,
1.0
],
"fontsize": [
12.059008
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "numberGold-1",
"default": {
"accentcolor": [
0.764706,
0.592157,
0.101961,
1.0
]
},
"parentstyle": "",
"multi": 0
}
]
},
"patching_rect": [
271.0,
230.0,
47.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"fontsize": 13.0,
"globalpatchername": "",
"tags": ""
},
"text": "p basic"
}
}
],
"lines": [],
"dependency_cache": [
{
"name": "fldocs.getparams.maxpat",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "JSON",
"implicit": 1
},
{
"name": "fl.getname.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
},
{
"name": "fl.helpdetails.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
}
],
"autosave": 0
}
}
@@ -0,0 +1,866 @@
{
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
79.0,
662.0,
793.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showrootpatcherontab": 0,
"showontab": 0,
"boxes": [
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
662.0,
767.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "nobars",
"showontab": 1,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-1",
"linecount": 7,
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"patching_rect": [
626.0,
63.0,
19.0,
102.0
],
"text": "loadbang"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpdetails.js",
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": "fl.audiotrigger~",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
630.0,
150.0
]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-3",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
400.0,
735.0,
245.0,
21.0
],
"text": "Traverse the tabs for more information!",
"textjustification": 2
}
},
{
"box": {
"bgmode": 0,
"border": 0,
"clickthrough": 0,
"enablehscroll": 0,
"enablevscroll": 0,
"id": "obj-128",
"lockeddragscroll": 0,
"maxclass": "bpatcher",
"name": "fldocs.getparams.maxpat",
"numinlets": 1,
"numoutlets": 0,
"offset": [
0.0,
0.0
],
"patching_rect": [
15.0,
167.0,
630.0,
565.0
],
"viewvisibility": 1
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-128",
0
],
"hidden": 1,
"midpoints": [
635.5,
168.0,
657.0,
168.0,
657.0,
166.0,
24.5,
166.0
],
"source": [
"obj-1",
0
]
}
}
]
},
"patching_rect": [
2.0,
5.0,
38.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p info"
}
},
{
"box": {
"id": "obj-2",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
0.0,
26.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 12.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 1,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 1,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [],
"lines": []
},
"patching_rect": [
540.0,
230.0,
25.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"globalpatchername": "",
"tags": ""
},
"text": "p ?"
}
},
{
"box": {
"id": "obj-1",
"maxclass": "newobj",
"numinlets": 0,
"numoutlets": 0,
"patcher": {
"fileversion": 1,
"appversion": {
"major": 8,
"minor": 0,
"revision": 6,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [
34.0,
105.0,
652.0,
761.0
],
"bglocked": 0,
"openinpresentation": 0,
"default_fontsize": 13.0,
"default_fontface": 0,
"default_fontname": "Arial",
"gridonopen": 2,
"gridsize": [
15.0,
15.0
],
"gridsnaponopen": 2,
"objectsnaponopen": 1,
"statusbarvisible": 2,
"toolbarvisible": 1,
"lefttoolbarpinned": 0,
"toptoolbarpinned": 0,
"righttoolbarpinned": 0,
"bottomtoolbarpinned": 0,
"toolbars_unpinned_last_save": 0,
"tallnewobj": 0,
"boxanimatetime": 200,
"enablehscroll": 1,
"enablevscroll": 1,
"devicewidth": 0.0,
"description": "",
"digest": "",
"tags": "",
"style": "",
"subpatcher_template": "",
"showontab": 1,
"boxes": [
{
"box": {
"id": "obj-1",
"maxclass": "ezdac~",
"numinlets": 2,
"numoutlets": 0,
"patching_rect": [
15.0,
450.0,
45.0,
45.0
]
}
},
{
"box": {
"id": "obj-37",
"linecount": 2,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
15.0,
105.0,
150.0,
36.0
],
"text": "Using noise and logic for random triggers"
}
},
{
"box": {
"id": "obj-36",
"linecount": 2,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [
238.0,
105.0,
174.0,
36.0
],
"text": "A simple way of translating max bang into trigger frames"
}
},
{
"box": {
"id": "obj-30",
"maxclass": "button",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"bang"
],
"parameter_enable": 0,
"patching_rect": [
238.0,
144.0,
24.0,
24.0
]
}
},
{
"box": {
"id": "obj-28",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"signal"
],
"patching_rect": [
238.0,
185.0,
41.0,
23.0
],
"text": "click~"
}
},
{
"box": {
"id": "obj-34",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
238.0,
226.0,
95.0,
23.0
],
"text": "fl.audiotrigger~"
}
},
{
"box": {
"candycane": 3,
"ghostbar": 90,
"id": "obj-31",
"maxclass": "multislider",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
""
],
"parameter_enable": 0,
"patching_rect": [
238.0,
360.0,
215.0,
69.0
],
"setminmax": [
0.0,
1.0
],
"size": 512
}
},
{
"box": {
"id": "obj-32",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
238.0,
315.0,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-33",
"maxclass": "newobj",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
238.0,
270.0,
138.0,
23.0
],
"text": "fl.random~ /length 512"
}
},
{
"box": {
"id": "obj-27",
"maxclass": "newobj",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [
"signal"
],
"patching_rect": [
15.0,
185.0,
45.0,
23.0
],
"text": ">~ 0.5"
}
},
{
"box": {
"id": "obj-22",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
"signal"
],
"patching_rect": [
15.0,
144.0,
60.0,
23.0
],
"text": "rand~ 10"
}
},
{
"box": {
"id": "obj-14",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
226.0,
95.0,
23.0
],
"text": "fl.audiotrigger~"
}
},
{
"box": {
"candycane": 3,
"ghostbar": 90,
"id": "obj-13",
"maxclass": "multislider",
"numinlets": 1,
"numoutlets": 2,
"outlettype": [
"",
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
360.0,
215.0,
69.0
],
"setminmax": [
0.0,
1.0
],
"size": 512
}
},
{
"box": {
"id": "obj-10",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
315.0,
62.0,
23.0
],
"text": "fl.tomax~"
}
},
{
"box": {
"id": "obj-12",
"maxclass": "newobj",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [
""
],
"patching_rect": [
15.0,
270.0,
138.0,
23.0
],
"text": "fl.random~ /length 512"
}
},
{
"box": {
"border": 0,
"filename": "fl.helpname.js",
"id": "obj-3",
"ignoreclick": 1,
"jsarguments": [
"fl.audiotrigger~"
],
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [
""
],
"parameter_enable": 0,
"patching_rect": [
15.0,
15.0,
435.0,
75.0
]
}
}
],
"lines": [
{
"patchline": {
"destination": [
"obj-13",
0
],
"source": [
"obj-10",
0
]
}
},
{
"patchline": {
"destination": [
"obj-10",
0
],
"source": [
"obj-12",
0
]
}
},
{
"patchline": {
"destination": [
"obj-12",
0
],
"source": [
"obj-14",
0
]
}
},
{
"patchline": {
"destination": [
"obj-27",
0
],
"source": [
"obj-22",
0
]
}
},
{
"patchline": {
"destination": [
"obj-14",
0
],
"source": [
"obj-27",
0
]
}
},
{
"patchline": {
"destination": [
"obj-34",
0
],
"source": [
"obj-28",
0
]
}
},
{
"patchline": {
"destination": [
"obj-28",
0
],
"source": [
"obj-30",
0
]
}
},
{
"patchline": {
"destination": [
"obj-31",
0
],
"source": [
"obj-32",
0
]
}
},
{
"patchline": {
"destination": [
"obj-32",
0
],
"source": [
"obj-33",
0
]
}
},
{
"patchline": {
"destination": [
"obj-33",
0
],
"source": [
"obj-34",
0
]
}
}
],
"styles": [
{
"name": "newobjBlue-1",
"default": {
"accentcolor": [
0.317647,
0.654902,
0.976471,
1.0
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "newobjYellow-1",
"default": {
"accentcolor": [
0.82517,
0.78181,
0.059545,
1.0
],
"fontsize": [
12.059008
]
},
"parentstyle": "",
"multi": 0
},
{
"name": "numberGold-1",
"default": {
"accentcolor": [
0.764706,
0.592157,
0.101961,
1.0
]
},
"parentstyle": "",
"multi": 0
}
]
},
"patching_rect": [
271.0,
230.0,
47.0,
22.0
],
"saved_object_attributes": {
"description": "",
"digest": "",
"fontsize": 13.0,
"globalpatchername": "",
"tags": ""
},
"text": "p basic"
}
}
],
"lines": [],
"dependency_cache": [
{
"name": "fldocs.getparams.maxpat",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "JSON",
"implicit": 1
},
{
"name": "fl.getname.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
},
{
"name": "fl.helpdetails.js",
"bootpath": "~/FrameLib/Current Test Version/FrameLib/misc",
"patcherrelativepath": "../../../Current Test Version/FrameLib/misc",
"type": "TEXT",
"implicit": 1
}
],
"autosave": 0
}
}

Some files were not shown because too many files have changed in this diff Show More