Professional Documents
Culture Documents
v0.7.9b
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
- bach.roll, bach.score Using arrows to modify pitches won't cause notes to change
voice (if too low or too high).
Use Shift+Ctrl as modifiers on Mac to allow voice change.
***********************
*** VERSION CHANGES ***
***********************
- bach.roll, bach.score Fixed memory leaks, also causing the objects progressively
slowing down over time
Fixed bug causing crashes and data corruption with list
attributes such as �voicespacing�
Now multiple notes/chords/measures selection via message is
allowed (e.g. sel note (3 2 1) (3 2 2) (4 2 2)...)
Now markers can have lllls as names, such as "(foo 1) (bar 2)"
New "nameappend" message
New "clearnames" message
New label family support added (and corresponding visualization
algorithms)
New "progeny" specification for the "name" message
Move voice up/down added in contextual voice menu
Fixed bug causing wrong voice popup menu behavior when voices
where hidden
Fixed bug causing weird solo/lock/mute status upon drag across
voices
Fixed bug causing weird undo on lock/solo/mute flags
Fixed bug causing wrong saving of command hotkeys
Fixed selection mechanism when selecting both breakpoints and
notes
Fixed bad behavior of feedback delete messages
Fixed bug causing misfunctioning of @autosize attribute in
certain cases
Fixed possibly wrong display when segment curve = 1. or -1.
New cursors interface implemented
Now the sample message also accepts a millisecond interval or a
timepoint interval (for score)
Fixed bug causing wrong background painting of spat slot nodes
New "deletevoice" and "insertvoice" messages.
Improved solo handling and displaying (fixed quirks)
Fixed wrong voice offset when using "sel note if voice == "
Improved breakpoints and duration lines display and interface
Fixed bug causing wrong results near chord onsets with
"getcurrentchord" message
Now "cut slot" works on all the selected notes if no slot window
is open
Now numvoices and clefs attributes are properly parsed even when
written inside the object box
New "glissando" message (similar to the "legato" message, but
also changing duration lines to build glissandi).
New "realtime" message to set realtime attributes at once.
"sel marker if" implemented (just as "sel note if")
Now can snap markers to chords and note tails by keeping Shift
pressed while dragging
Greatly improved undo speed while un-deleting markers.
Improved temporal accuracy in MIDI export
Now "sel/unsel/select markers" works as any other
sel/unsel/select (and not just forcing the selection of all markers.
Added "sel/unsel/select notes" or equivalently "sel/unsel/select
chords", and also added "sel/unsel/select breakpoints" messages
to select/unselect all notes or all pitch breakpoints
"sel breakpoint if" conditional selection added
"clearbreakpoints": new message
- bach.score Figures longer than one whole note are correctly exported
to XML
Mordents are correctly exported and imported to and from XML
Tempo changes are correctly imported from XML
Time signatures are correctly exported to MIDI
Potential stability and data corruption issues related to MIDI
export of time signatures have been fixed
Now independent tempi in different staves are properly exported
to Lilypond (and Lilypond pdf)
Now rallentandi and accelerandi are properly exported to Lilypond
(and Lilypond pdf)
Fixed ceilmeasures crashes
Fixed bug causing lazy refresh after "keys" attribute was changed
Fixed wrong duration export and wrong syncopation handling with
notes carrying two or more dots
Fixed bug causing crashes during merge or split
Fixed bug while exporting to Lilypond (and Lilypond pdf), due to
the presence of F8, G8, F15, G15 clefs
�singleslotfortiednotes� now affects also directions and dynamics
exported into MusicXML
New "timepoint" message to perform conversions between timepoint
syntax and millisecond positions
Fixed potential crashes while dealing with rhythmic trees
Fixed wrong lyrics import from XML for tied notes
�directionslots� now works
"setcursor" now accepts the timepoint syntax as expected
"tie": new message to assign ties (as for "velocity", "cents",
etc.)
Fixed bug causing wrong ties upon undo
Fixed bug causing wrong or awkward tuplets simplifications
Fixed hangs with setcursor message
New "measureinfo" message to change measureinfo for selected
measures
Attributes have been recategorized (especially some Appearance
attribute have been put under Notation)
Now the "showtails" attribute properly works
New "showstems", "showflags", "showdots", "showties", "showbeams"
and "showrests" attributes
Fixed bug causing wrong beaming in certain situations involving
rests at the very end of a beam
"edittiedelementstogether", "dlspansties": new attributes
New "playtempi" and "playmeasures" attributes to sequence
tempi/measures
New ability to clear/delete measure from contextual menu
New "tempodigits" attribute
New "deletemeasures" message
Fixed graphic quirks in tuplet representation
Fixed error causing wrong updates during copy-paste of measures
having different time signatures
Fixed measure copy-paste bugs from messages
Fixed consistency of some behaviors of measure-attached markers
Fixed positioning of accents
New "articulationsfont" attribute
Fixed issue causing wrong alignment in proportional mode with
large vzoom
- bach.beatbox, bach.beatunbox
Fixed bug causing wrong results when dealing with Extras
- bach.group Fixed bug causing wrong results and hangs when count is a
list
v0.7.8.1b
******************
*** KNOWN BUGS ***
******************
***********************
*** VERSION CHANGES ***
***********************
v0.7.8b
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
******************
*** KNOWN BUGS ***
******************
***********************
*** VERSION CHANGES ***
***********************
- bach.swap, bach.llll2dict
New externals
- bach.score, bach.roll The Windows keyboard shortcut for opening the bach
inspector is now ctrl+alt+I
======
v0.7.7b
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
- bach.slot No longer has bordercolor: inherits the border color from the
currently open slot.
However, bach.slot now has a @bgcolor attribute.
***********************
*** VERSION CHANGES ***
***********************
- bach.convertbase, bach.funnel
New abstractions
- bach.mapelem Is an external now
- bach.arithmser Fixed a bug causing the series to contain one less element on
some occasions if the step was not set
- bach.geomser Now works correctly with factors whose absolute value is >
0 and < 1
-----------------------------
v0.7.6.2b
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
***********************
*** VERSION CHANGES ***
***********************
-----------------------------
v0.7.6.1b
***********************
*** VERSION CHANGES ***
***********************
-----------------------------
v0.7.6b
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
***********************
*** VERSION CHANGES ***
***********************
- bach.partition, bach.divisors
New abstractions
- bach.roll No more pitch snapping with @snappitch 1 when the slot windows
are open
- bach.thin Doesn�t output anymore an empty llll from the first lambda outlet
before outputting the thinned llll from the leftmost outlet
-----------------------------
v0.7.5b
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
***********************
*** VERSION CHANGES ***
***********************
- bach.score Fixed bug causing crashes when playing the last note of a
score tied to nothing
Fixed XML export of ties
Fixed XML import of tuplets whose normal figure differs from the
first figure
(e.g. an eight tuplet starting with a quarter note)
60 bpm MIDI tempo at the beginning of a score is now correctly
exported
-----------------------------
v0.7.4b
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
- bach.prepend Now @inwrap does not wrap the element set as argument
(unless anything comes in in the right inlet), as for
bach.append
- bach.pad Now the default padding repeats the ending element. Check
your older patches if you hadn't put any argument for bach.pad!
- bach.tree Now using up/down arrows does not automatically open nodes
which were closed.
Add the Shift key to have such behavior
- Maximum allowed length of *text* lllls raised to 32767 atoms (of course, native
lllls still have no limit)
- all abstractions containing [uzi] object do not depend on its middle outlet any
more (such outlet is buggy in Max 6.1.6)
- bach.roll, bach.score Fixed bug causing wrong handling of the space after
the last voice
It didn't show up in the voicespacing attribute
It could cause wrong zoom when a patch was reloaded.
No more dilation rectangle quirks when dragging or
stretching up/down to change pitch
Dragging selection doesn't cause selection onset collapsing
any more when approaching 0ms barrier
Selection dragging mechanism improved
Markers with no name are now properly saved and dealt with
Fixed crashes for "sendcommand" message when no command was
defined and the object was just instantiated.
Fixed bug causing slight shifts in background slot
functions drawing
New "dump separate" message to only dump separate outlets
(and not the leftmost one)
Now you can substitute voice number with a list of voices
for sel/unsel/select messages
Fixed bug causing possible crashes while sequencing
"offline" play mode added (add "offline" as first argument
for "play" or "playselection").
Fixed bad behavior when zoom was Auto but practically zero
(very thin objects)
Now "getcurrentchord" works properly also during playback
Fixed bug causing weird note tail displayed when
durationlinewidth was big
- bach.score Fixed bug causing crashes when playing and the last
note of a voice is tied to nothing
Now "dump measureinfo" works as expected
New "exportlilypond" message to export to LilyPond
New "exportlilypondpdf" message to export to PDF via
LilyPond (if installed)
Fixed bug causing (harmless) "wrong undo data" error
messages in max window when shifting pitches
Now a partial note is correctly output from playout with
onset corresponding to the playhead start point.
New "join" message implemented (corresponding to the
Cmd+Shift+Y key combination)
New "domain" message implemented (as for bach.roll)
Non-integer tempos are now correctly exported in XML
- bach.portal, bach.args Now work correctly when typed into a patcher (and not
only when loaded from disk)
- bach.iter, bach.step "maxdepth 0" now returns the base llll, together with
a null address and a "root" command
Only the "bang" and "stop" messages now can stop iteration
New "lambda" attribute
-----------------------------
v0.7.3b
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
- bach.roll The "sel note" and "sel chord" syntaxes have changed!!!
Now (optional) voice number is FIRST argument (no longer the
last).
Please update your patches
***********************
*** VERSION CHANGES ***
***********************
- bach.pad Fixed bug causing wrong output for lists having exactly the
output size
- bach.counter Now sending integers to increment individual indices
does not send minimum configuration any more
e.g. if starting configuration is 0 0 0 0, sending
[1] will already output 1 0 0 0, and so on
"setnext" message behavior fixed
-----------------------------
v0.7.2b
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
- bach.slot A middle inlet has been added!!! Please modify all your
patches using the right inlet ("bang when changed").
The "done" message is now sent through this inlet (as well
as other notifications and queries).
A "slot" router has been added at the beginning of each
"dump" (as for bach.roll and bach.score)
- bach.perm Now the first permutation in the output llll is the input
llll
"order" attribute has been suppressed; the only optional
argument is now maxcount.
- bach.cartesianprod Now only works at the root level (and therefore the
maxdepth attribute doesn't exist anymore)
- bach.roll Now Cmd+V pastes the content at the MOUSE position, and
Cmd+Shift+V paste the content in the ORIGINAL position
- bach.args lllls received before the object goes into "open" state are
discarded. Anyway, this should never happen if bach.args is used orthodoxly.
***********************
*** VERSION CHANGES ***
***********************
- all objects bach now works under Max 6.1 in 64-bit mode
- all objects llll attributes can now be set through native lllls (only
relevant when set via messages)
- bach.dict2llll, bach.prepend
New abstractions
- bach.arithmser, bach.geomser
Are now externals
- bach.expr "maxvar" is now a static attribute, i.e. it can only be set from
the object box.
- bach.msort, bach.ssort
Deprecated. Still fuctional as of v0.7.2b, but development might
be dropped in further releases of bach.
Please use bach.sort instead (it has been vastly optimized, so it
is no longer significantly outperformed by bach.ssort).
- bach.print, bach.post Symbols containing spaces are now output with double quotes
- bach.depth, bach.length
Fixed assistance
- bach.submatrix Now arguments are correctly: start row, start col, end row, end
col
- bach.counter Now works as expected with two arguments (size and maximum)
- bach.drip Has one more outlet: now sends a bang out the right outlet when
the dripping is over
- bach.scale If all the elements to scale are the same, now they're
replaced by the mean of new minimum and maximum
-------------------------------------
v0.7.1b
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
***********************
*** VERSION CHANGES ***
***********************
- bach.autoscale if all the elements to scale are the same, now they're
replaced by the mean of new minimum and maximum
-------------------------------------
v0.7b
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
- bach.roll Now if you don't define all onsets, the last one is
repeated (so you can enter (0 1000) to have (0 1000 2000 3000�))
If you don't define any onset, new onsets by default are
1000 ms wide
If you don't define any duration, new durations by default
are 500 ms
- bach.print, bach.post name attribute doesn't exist anymore. name can only
be set as an argument
- bach.beatunbox Inlets & Outlets have radically changed! Now by default you
just have a single input to be linked to bach.score's dump, and you also have a
Measureinfo outlet (for symmetry with bach.beatbox).
You can still have the old
beatunboxing of each separate parameter by setting an
argument "separate" when you create the [bach.beatunbox] (see helpfile)
Be sure to review all your patches containing
bach.beatunbox!!!
- bach.mono To resume notes, now you need to set the attribute @resume
1. The simple argument "1" no longer works.
- bach.find now lllls output from the lambda outlet have always the
size defined by the "size" attribute
- bach.filter now r and rat also select integers, and R and Rat
only select rationals
*** THESE CHANGES MODIFY SOME PREVIOUSLY DEFINED INTERFACE COMMANDS ***
*** THESE CHANGES MODIFY SOME BEHAVIORS OF THE PRIVATE 0.6.99 PRERELEASE ***
***********************
*** VERSION CHANGES ***
***********************
bach has switched to static linkage. This makes the bundle a little bit heavier,
but allows to create standalone application without bothering about versioning or
frameworks.
- new tutorials: The World Outside, Inspector As A Gadget, Beams Through The
Trees, A Mazing Grace, Edit Path, God Solve The Queens
- bach.omtree2bachtree, bach.bachtree2omtree
new externals converting OpenMusic trees and bach-style
rhythmic trees
- bach.beatunbox Inlets & Outlets have radically changed! Now by default you
just have a single input to be linked to bach.score's dump, and you also have a
Measureinfo outlet (for symmetry with bach.beatbox).
You can still have the old
beatunboxing of each separate parameter by setting an
argument "separate" when you create the [bach.beatunbox] (see helpfile)
Be sure to review all your patches containing
bach.beatunbox!!!
- bach.nth () are not output for non-existing elements, unless the new
"nils" attribute is set
- bach.circle you can assign a name to each point
- bach.quantize can handle grace notes (e.g. can turn small events
into grace notes)
new easier syntax for dynamic minimal units
Smart Mix Mode added
new "autoceil" attribute
now deals with preserving the header information (clefs,
keys, �)
now by default outputs gathered syntax (inlets and outlets
have been radically changed!)
give a "separate" parameter, such as [bach.quantize
separate], in order to revert to old quantization style.
- bach.print, bach.post name attribute doesn't exist anymore - name can only
be set as an argument
now name is always correctly printed
- bach.nth fixed bug causing wrong results when 0th was requested in a
range
- bach.filter now r and rat also select integers, and R and Rat
only select rationals
-------------------------------------
v0.6.7a
***********************
*** VERSION CHANGES ***
***********************
- bach.score fixed bug causing weird spacing and values when some
accelerandi/rallentandi were given
fixed bug causing crash when asking to show tuplets with
ratios-and-figure
now play correctly works on all platforms
-------------------------------------
v0.6.6a
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
- all the UI objects check attribute is now saved with the patcher
- bach.roll, bach.score now vertical zoom (vzoom) is correctly saved, but you
might need to check it for the previous patches
***********************
*** VERSION CHANGES ***
***********************
- bach.score "select if" now works properly (also "sel if" and
"unsel if" work)
fixed a bug causing Max to hang when playing
-------------------------------------
v0.6.5a
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
***********************
*** VERSION CHANGES ***
***********************
---------------------------------------
v0.6.4a
---------------------------------------
v0.6.3a
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
***********************
*** VERSION CHANGES ***
***********************
v0.6.2a
*****************
*** IMPORTANT ***
*****************
*** THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES ***
***********************************
*** IMPORTANT INTERFACE CHANGES ***
***********************************
*** THESE CHANGES WON'T BREAK COMPATIBILITY WITH OLDER PATCHES, BUT WILL CHANGE THE
WAY TO INTERACT WITH GRAPHICAL OBJECTS ***
- bach.roll, bach.score To edit a text or llll slot, double click on it. Use
Shift+Click to open external editor!
When a slot window is open, use Cmd+doubleclick (mac) or
Ctrl+doubleclick (win) to delete the whole slot content.
double click on voice names, marker names, text or llll
slots to edit them
right click on voices, measures, notes, selections,
barlines, background to open the contextual menu
shift+drag a barline to increase measure width, select the
barline and shift+Backspace to revert to default spacing
***********************
*** VERSION CHANGES ***
***********************
- bach.slot2function, bach.combinevoices
new abstractions
- bach.roll, bach.score fixed bug causing wrong slot width for NONE-type
slots at the initialization
return key now sets the cursor at the beginning
dragging the playhead cursor now scrolls the score
accordingly
domain is correctly output upon play or
inscreen/inscreenpos messages
new voicenames attribute: now voices can have names
it also entails the new voicenamesalignment
voicenamesfontsize showvoicenames attributes
and you can doubleclick on the name (or at the
beginning of a voice if there's no name) in order to modify it
now subscore can dump keys too
popup menus have been defined for
clefs/keys/notehead/measures. Right-click on them to pop them out.
rightclickslot attribute added, to directly popup a slot
with the right click
midichannels are now a real attribute in the inspector
(like clefs and keys)
the attributes in the inspector have been re-categorized
new "lambda" message accepted; you can now dump a whole
bunch chords or notes, but still change each one of them separately
via the usual change commands ("cents" "onset"
"duration" "addslot" "changeslotvalue" and so on)
just add a "lambda" before them to make them act this
way: "lambda cents" "lambda onset"...
continuouslyoutputbangifchanged attribute added. By default
it is 0, if it is 1, a bang through the last inlet is sent also while mousedragging
new slotbgfontsize attribute (default 7)
support added for clefs: G8, F8, G15, F15, Soprano, Mezzo,
Alto, Tenor, Barytone, Percussion
improved voice interface and selection; now voices can be
locked and muted too
new solo mode introduced; things can be also "soloed"
by default dblclicksendsvalues is now 0 (no more 1)
new "markersfontsize" attribute
clefcolor attribute now works properly
solved issues in chord appearance when particular graphic
extras were defined (e.g. chords like D# Ebb)
improved accidentals positioning
"showplayhead" is now a real attribute
"getcurrentchord" message added
"snappitchtogridondrag" is replaced by
"snappitchtogridwhenediting" (so it snaps also on mousedown)
---------------------------------------
v0.6.1a
*****************
*** IMPORTANT ***
*****************
- bach.slot2line, bach.slot2curve
added 3rd inlet for setting default argument, so lambda
inlet is now number 4!
- bach.ezmidiplay
now is capable to deal with microtonality. To accomplish
that, the "message to noteout" inlet (which used to be the 2nd)
has been shifted to the third place. Please verify your
patches, should you have used that inlet.
Second inlet (or argument) is now for microtonal grid; an
outlet has been added to deal with the number of free channels.
***********************
*** VERSION CHANGES ***
***********************
- bach.slot2line, bach.slot2curve
added 3rd inlet for setting default argument
- bach.roll fixed bug causing wrong chord gluing upon gluechord command
subroll now dumps also partial notes. put "onset" as first
argument to avoid this
now you can stretch a note without stretching accordingly
its temporal content (breakpoints, slots of type function) by using
- Alt + click and drag the tail
- Alt + left/right arrows if the tail is selected
- select the note and then Ctrl+Alt+left/right arrows
(in these 2 cases Shift works as usual to make
changes faster)
- bach.primeform fixed bug causing crashes when "getlist" message was sent
with no arguments
---------------------------------------
v0.6a
***************************
*** EXTREMELY IMPORTANT ***
***************************
- most objects:
Since this version, everything that can be counted is counted starting from 1. This
includes elements, inlets, outlets, the base for bach.msort and so on. For example,
if you used to write [bach.nth 0], you'll have to switch to [bach.nth 1] to take
the 1st element of a llll.
And might break compatibility with some objects outputting paths (if you used the
path outlet):
- bach.minmax
- bach.iter
- bach.step
- bach.find
- bach.sort
- bach.msort (base has changed)
Please notice that if you objects in combinations (like bach.find and then
bach.subs) the compatibility should be preserved.
- bach.find, bach.ezfind
bach.ezfind NO LONGER EXISTS: bach.find has one more outlet, and thus makes
the task of both objects:
left outlet is for Found Data, middle outlet is for Found Addresses
Please consider searching in your patches all the occurrences of bach.find
and bach.ezfind in order to re-cable them properly.
- bach.mapelem
"pick" attribute is now called "unwrap" attribute, for compatibility with
[bach.pick]
- bach.flat
new minlevel and maxlevel attributes. maxdepth attribute doesn't exist
anymore (maxlevel replaces its behavior)
*****************
*** IMPORTANT ***
*****************
- new installation procedure for the OSX version. Administrator privileges are
required. It is strongly recommended using the automated installer.
- slotinfo, midichannels and commands are by default no more output upon dump.
You can use the new sendslotinfothrougdump, sendcommandsthroughdump,
sendmidichannelsthroughdump attributes to restore this behavior
***********************
*** VERSION CHANGES ***
***********************
- bach.slot2line, bach.slot2curve
new lambda inlet/outlet
- bach.roll, bach.score llll slots now work properly also via the interface
editor
there's a new user-friendly syntax for slotinfo. Old syntax
is still accepted in input for compatibility.
in function slots, you can decide elements to be snapped
to. Define, e.g. (slotinfo (1 (ysnap (0 64 127)))),
fixed bug causing crashes upon dragging of locked notes
sendslotinfothrougdump, sendcommandsthroughdump,
sendmidichannelsthroughdump attributes added:
now the data out of the first outlet by default is
just the RAW object data:
if one wants some of the headers to be output, just
set the proper attribute to 1
now matrix slots work properly also if num cols != num rows
then dragging a point with Shift+Alt pressed will
force the point to be on one of those snap values.
now zooming with Cmd+Mousewheel preserves the mouse
position point
Shift+click on the keys and drag to respace voices
(Ctrl+Shift+Click to handle space AFTER voices)
Cmd+Shift+click on a slot window to delete the whole slot
content
for llll-slots: "null" does not appear in slot editor for
null lolls
changes in a roll/score set the patcher dirty flag (then
ask to save when the patch is closed)
dump mechanism have changed. No more "Send � through dump"
attributes are present, but you can send a complex dump command, like
"dump" -> dump all
"dump body" -> dump body only
"dump keys midichannels body"
"dump keys clefs" �
subroll and subscores messages change accordingly, adding
as a last (optional!) parameter a list of things to dump, e.g. (keys body)
dragging notes outside the object window is no more
possible
--------------------------------------------------------------------
v0.5a
*****************
*** IMPORTANT ***
*****************
THESE CHANGES MIGHT BREAK COMPATIBILITY WITH OLDER PATCHES
- the format for text lllls has slightly changed. see the "elements" subpatch of
bach.overview for more details
- a middle inlet has been added to bach.find, bach.ezfind, bach.replace,
bach.sieve.
- bach.iter and bach.step: the possible values and behaviors for the spikemode
attribute have changed (see help files).
- bach.wrap: the default for the levels attribute is now 1
***********************
*** VERSION CHANGES ***
***********************
- bach.iter, bach.step the possible values and behaviors for the spikemode
attribute have changed (see help files)
===================================================================================
==
v0.4a
- bach.lookup works properly upon bang, and finally has its own
help file!
- bach.grouplist now is included in the overview, and has its own help file!
v0.3a
===================================================================================
==
v0.2.3a
===================================================================================
==
v0.2.2a
===================================================================================
==
v0.2.1a
********************************************
*** KNOWN BUGS AND OTHER IMPORTANT STUFF ***
********************************************
*** symbols containing double quotes are not correctly parsed, please avoid them
***
***********************
*** VERSION CHANGES ***
***********************
- all objects Windows version
fixed memory leak with text input
- bach.roll and .score fixed a bug preventing from repaint upon mousewheel
fixed a bug causing wrong first amplitude slot output in the case
of a played partial note
fixed small bug causing slotwindow to remain painted upon clear
added "sendcommand" message (send nth i-th command to the
selection)
fixed a bug causing wrong voice placement or rest transformation
upon drag (for very low notes on the staff)
fixed thread safety bugs
fixed some memory leaks (ram increased while redrawing and
calculating)
added "linknotecolortoslot" attribute
default velocity value is now 100 (and no more 127)
added the "sendclefsupondump" attribute (handling the clefs
reconstruction)
when import/export/read/write, clefs are saved with the data (as
a new part of the header)
some optimization has been done
play improved with float-millisecond precision
improved interface and selection system
measure numbers now are 1-based
removed data size limitation in preset saving
- bach.chordrot,
bach.restrot: fixed behaviour upon bang
===================================================================================
==
v0.2a
- most objects: removed double output for lllls
- most objects: added out attribute
- most objects: changed output format for native lllls
- fixed and added several abstractions
- fixed a ton of major and minor bugs
- abstractions now have bach. prefix instead of llll.
- added collection of tutorial patches
- bach.roll: undo/redo is allowed (20 steps).
"select" command introduced (voices, start_ms, end_ms as arguments)
changed graphical parameters recomputation policy
"merge" command introduced
*** known bug: Sonora Font may not work ***
"Boulez" font supported (freely downloadable at
http://www.musicabella.com/boulez/)
"Engraver Font Set" font supported
"Petrucci" font supported
Save Data With Patcher attribute
added lock and mute mechanisms
added "playselection" command
improved message functionality (selection handling/modifying)
up to 5 user-definable commands introduced
graphcal slope algorithm changed
- bach.sort added outlet for indices
- bach.msort added outlet for indices
- bach.find added idxreject, depthreject and maxcount attributes
- bach.iter added stop inlet
- bach.expr now inlet number is variable
expr message is now threadsafe
- bach.append added triggers attribute
- bach.collect now clearall works correctly if an invalid collection is selected
- bach.pick now assistance gives meaningful information
===================================================================================
==
v0.1a-incr.1
- bach.roll: fixed bug causing crashes when recalling presets
fixed bug causing crashes with wrong llll in the first inlet