-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathHISTORY.txt
More file actions
106 lines (64 loc) · 9.96 KB
/
HISTORY.txt
File metadata and controls
106 lines (64 loc) · 9.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
(BEFORE UPDATING, MAKE SURE YOU DON'T HAVE ANY PAST VERSION OF MOZ'LIB ON YOUR MACHINE !)
version changes :
v.1.3.0
A looot of things for this new version... In particular, I decided to make some big cleanup on Github and clarify how the sources (i.e. the original MOZ package for macOS) and the Windows version (now found under Releases) are displayed.
This will hopefully help me keep better track of versioning
Among new features :
- user-libraries (found in Extras) allow to load more easily your own PWforMax libraries outside of the MOZ'Lib package itself. If you did use those a lot, this will make your life much easier
- a few experimental modules : PMClooper and CLUSTERlooper (both based on lisp.iterate) which hugely simplify iterative processes involving constraints
- lisp.antenna ! If you like to use Lisp scripting boxes for patching in Lisp, you need to check it out.
- a new engine joins the PWConstraints menu : Kilian Sprotte's SMCengine, based on Screamer, which accepts every rule modules compatible with PMC syntax (true/false, heuristic, JBS-rules...)
- visuals of the original MOZ modules as well as basic PWforMax (PMC etc.) are now compatible with the default (dark) theme of Max 9. This means that everything incl. the bpatcher modules, help files and tutorials will display correctly everywhere, and adapt to your theme.
- many tutorials have been updated since last number updated, so much that it would be impossible to keep track... keep exploring the overview to see more !
- the new module CLUSTERcollect allows to easily include one or more rules either from Lisp functions (for instance Torsten Ander's Cluster-Rules) or from accessor modules. This allows for instance to generate x variants of a same rule (ex: Index rules) with bach.iter and collect / apply all those rules at once. See the "Loop & Collect" example in the Overview (PWforMax Libraries > CLUSTERengine > Rules Interface).
v.1.2.8
- lisp.iterate : A whole new suite of objects dedicated to "Lisp-side" iteration in PWforMax, based on the Iterate construct for Common Lisp.
- The tutorials have been totally revamped and gathered into a single window, the MOZ'Lib Overview, which uses the same mechanics as bach's help center. This will help in particular to accelerate the loading time of many patches using pw.eval-box (especially the tutorials of CLUSTERengine) which has become HUGE since the Windows port.
CLUSTERengine's documentation was completely ported from the old dedicated overview to the new global Overview system.
- Guest libraries :
After the success of CLUSTERengine, I decided I would like to bring more and more of such guest libraries to the official distribution of MOZ. This is now the case with some very special guests :
• Jean-Baptiste Barrière's Chréode & Kaija Saariaho's Transkaija, which have both been revamped and fully documented for the occasion !
• Jacopo Baboni Schilingi's JBScmi, JBSprofile and JBSconstraints, which were hidden inside the MOZ core since the very beginning, have finally been properly documented.
- MOZ editors (CHORDview, TIMEview & SCOREview) and similar now have a new simple (but possibly life-changing) feature. When hovering over a module's title (where one would already click to toggle 'collapse' modes), you can now type the space bar to play / stop the bach.roll/score contained in that module. This allows to save a lot of time when evaluating many results on the fly with key_trigger in your main patch, since you won't need to 1) click inside the roll/score to bring it in focus / 2) click outside of the module to recover your key_trigger ability...
v.1.2
WARNING : In this new version, the MOZ modules (i.e. bpatchers interfaces) have all been renamed with the moz. prefix to avoid eventual conflicts with other libraries. This will break previous patches you made with those modules, including patchcord connections. I know this is frustrating but it is for everyone's good eventually (I regret I didn't do this earlier...). A suggestion to fix your patches, first back them up then open them with a text editor : this way it will be possible to add the prefix to all names of modules you used, either manually or with typical search & replace function.
MAJOR ADDITIONS in 1.2 :
- PWforMax is now compatible with Windows 10, thanks to Matteo Marson and Juan Vassallo!
See the dedicated READ-ME for more information about installation.
- a new, HUGE family of modules was added to PWforMax : the polyphonic constraint solver CLUSTERengine by Örjan Sandred, originally written in Lisp for PWGL, is now fully ported to MOZ'Lib with a very similar workflow to chainedPMC. More details in the dedicated overview in Extras menu -> MOZ'Lib ! Note is is highly recommended to be familiar with concepts of chainedPMC before diving in this new engine.
- added 3 utility modules to the Utilities (ex-"In&Out") category of MOZ modules:
* @textToggle which allows every bach objects to switch automatically between native and text modes. This can be very helpful while debugging simple patches;
* moz.safe, a sort of "gate-protected" bach.reg-based memory holder, and an attempt to reproduce the idea of "locking" a part of a patch similar to PWGL and OM environments
* moz.bell, a very simple module which will ring when a long calculation is over...
- added the GraphView module (Editors category) based on bach.graph, which attempts to mimic the behavior of PWGL's 2D-Editor or OpenMusic's BPF. For now it allows to display (not edit yet) multiple breakpoint functions in overlay, as well as basic zooming in and scrolling. This module is mostly aimed for schematic representation of compositional parameters or behaviors, or for analysis purpose. It is still very experimental, but more of this kind will probably appear in MOZ'Lib along the development of the dada package.
- added a PMCrule-tester module to the PWConstraints family, which mimics behavior of the new CLUSTER.lambda-rule-tester module for rules written in the original PMC syntax.
minor updates in 1.2 :
- from now on, PWforMax relies on SBCL version 2.1.1. If you need to produce another SBCL core with additional functions or libraries, please first see the /sources folder and especially the __INSTALL_SBCL_FROM_SOURCES.txt
- now every big MOZ modules can be "collapsed" (made smaller) by clicking their title (re-clicking brings back the full size) or by sending the message 'collapse 1' (default 0). To know if a module can be collapsed... just try :) If you have a special request for a module that does not allow it yet, shoot me an email.
- PMCrule & heuristic rule modules now allow to include a comment symbol (25 char. max, ideally a spaceless symbol) in the end of a rule code, that will be automatically displayed in red inside the module, without affecting the applied rule code. PMC and JBS rules, when they receive the message cluster_format, return their code part (with additional :true/false or :heuristic flag) which makes them compatible with CLUSTERengine's cluster.r-pmc-one-engine and cluster.set-ranges modules :)
- pw.eval-box, lisp.quickeval, chainedPMC and CLUSTERengine now all accept a message with the code_snippet prefix. This allows your to include manually more Lisp code to take into account before evaluation : define functions, change global variables, you name it... Unfortunately defining a new package is not possible at the moment.
- a new object joins the family of Lisp scripting boxes... lisp.print !
It is just like print and bach.print in Max... but in Lisp. Just give it an argument and all printed values will show it as their label in the Max window. See the dedicated tab in the PWforMax Intro to see how it works !
- CHORDview can now accept... actual chords ! just add a layer of brackets around a group of midicents instead of sending a flat list. Chords behave exactly the same as individual notes so they can be moved around freely and swaped just like before.
- PMCdomain will now adapt its length automatically based on length of candidates in a shaping message
- PMC rule modules (true/false and heuristic) now blink when there is a parentheses mistake. When in doubt, always check your code with a good lisp editor like Clozure CL :)
- fixed a bug/feature where DRAWnotes would output a result twice on mouse down then mouse up, now only on mouse up (multislider ♥ mousefilter...)
- fixed several initialization errors in helpfiles
- the graphic issue with jweb (used for lisp.docstring and LISPlore module) was fixed by Cycling'74 in Max 8.1.4
v.1.0b-rc0.95
- first of all, GREAT NEWS : MOZ'Lib (including PWforMax) is fully compatible with macOS Catalina ;)
- added MOZfinder in extras menu, another way to explore existing modules
- help files now take the screen resolution into account for better display on small screens
- final touches to the documentation
- KNOWN ISSUE in last versions of Max 8 : a new bug/feature of jweb impacts the display of text in LISPlore (reported to Cycling'74)
v.1.0b-rc0.86
- fixed a few bugs here and there
- added a "debugspeed $1" message to the first inlet on chainedPMC, to slow down printing for long computations. It takes a value in milliseconds (default 0 ms, basically there's a speedlim inside :)
- added also the object reconstruct-lllls-from-print inside the chainedPMC :
(an attempt to fix the display of the debug mode in the Max window, when very long solutions are being constructed...)
- added MIDI-conversion functions to the core, in both PWGL midi-float (approx-midi, m->f, f->m) and OM/bach midicents (approx-mc, mc->f, f->mc)
- added randompath message for pw.eval-box and chainedPMC module + similar @randompath attribute to lisp.quickeval
(see explanation in PWforMax Overview -> "Lisp scripting boxes" tab -> @randompath subpatch).
This fixes the recurring issue of inconsistent results for multiple instances of those objects used simultaneously, especially in real-time context.
v.1.0b-rc0.7
first beta sent — MOZ'Lib has been completely revamped and documented, and now includes a direct access to the LISP system via SBCL and shell (see PWforMax Overview)