22.1 Differences to version 1.18
- new set of sensor objects. See section 15 p.135.
- update to guido engine 1.63
sections or math expressions. Output of pre-processing is printed to the log window. See section 8.1
p.76 and 9 p.85.
- environement variables introduced in scripting environment (OSName and OSId). See section 17.5
- new math expressions introduced in scripting context. See section 18 p.184.
- new syncFrame synchronisation mode. See section 13.1.3 p.110 and 13.1.4 p.111.
- the events system has been extended to any object attribute and supports user defined events. This
change comes also with a one tick delay introduced to handle all the events (i.e. the event associated
messages are processed by the next time task): this is intended to avoid freezing the system in case of
loops. See section 16.2 p.164 and 16.3 p.165.
- lua support has been dropped (compilation was optional, never embedded into a distribution)
- parser strategy changed: now each message is processed one by one to ensure the system consistency,
especially for message based variables: an object state remains now consistent from one message to
- new arc object. See section 5.4 p.40 and 7.8 p.68.
- new radius message supported by rectangles. See section 7.7 p.68.
- new edit message supported by all objects: opens a small messages editor. See section 2.6 p.27.
- new level message supported by the log window and extended debugging support. See section 8.5.3
- new video specific messages and management: the video time is now independent from the inscore
object time. See section 7.5 p.66.
- gmn objects set: output correct error message in case of syntax error
- bug in debug name corrected (was not removed from graphic space)
- bug in polygon and curve position corrected (was not centered on 0 0) - use /ITL compatibility
to preserve previous behaviour
- crash bug corrected: occured when lauching inscore from a secondary screen
- new write message supported by text based objects. See section 7.11.2 p.73.
22.2 Differences to version 1.17
- new tempo message supported by all objects. See section 3.2 p.31.
- new pageCount event supported by symbolic score objects. See section 16.1.6 p.163.
- new error event supported at application level. See section 16.1.6 p.163.
- new browse message at application level to open a document in a web browser. See section 8.3 p.79.
- web api documentation included in package
22.3 Differences to version 1.15
- support animated svg using the new animate message. See section 7.6 p.67.
- Carlito Regular open source font is embedded in the application ressources and used as a default font.
See at https://fontlibrary.org/fr/font/carlito for more information.
- symbolic notation support extended with score expressions. See section 19 p.201.
- new newData event. See section 16.1.5 p.162.
- rootPath message can be called without parameter to clear a scene rootPath. See section 9 p.85.
- log window supports the foreground message. See section 8.5.3 p.82.
- user actions on windows are generating foreground messages.
- application quit when the last scene is closed (even when the log window is opened)
- new lock message supported by all objects to prevent an object deletion. See section 2 p.10.
- OSC output buffer has been enlarged to 32768. Note that sending large messages works on localhost
but are likely to face the MTU on real network.
- crash bug corrected: outgoing OSC messages are now handling buffer overflow exceptions.
- support for multi touch events. See section 16.1.2 p.160.
- new radialgraph signal representation. See section 14.3 p.123.
- httpd object is visible as a qrcode giving the server url.
- httpd object is now part of the library (not a plugin any more) (not available on Windows, Android
- frameless and fullscreen modes management revised at view level and are now now exclusive at
- String without spaces in INScore scripts no longer need to be quoted.
22.4 Differences to version 1.12
- new frame query method: get frame gives the coordinates of 4 points that represent the object
frame, expressed in the scene local coordinates system and including all the graphic transformations
(scaling, rotations on the 3 axis, shear etc.)
- pen messages are now accepted by all the components. Thie extension is provided to display any
object bounding box. Note that for rects, ellipses etc. the previous behavior is preserved.
- pianoroll support. See section 5.2 p.37 and 7.4 p.63.
- Add web Api to expose inscore on the web with websocket or http.
- Add change tab on mobile with three digits gesture.
- add new object filter at application and scene level to filter forwarded messages.
- sending to broadcast address is enabled
- add forward and filter messages to the scene to handle messages forwarding at scene level. See
section 10 p.90.
- default port to forward messages is now 7000.
- add new optional tab at startup with a menu for ios and android.
- add zoom and move capabilities at scene level using scale, OSCxorigin and OSCyorigin. This is
intended to support two fingers gesture on mobile device.
- bug with lines corrected: a line in non-square parent was rotated when the parent’s width was smaller
than its height.
- bug with eval forwarding corrected: forwarded messages were triggering a syntax error due to a
misinterpreted incorrect args count
22.5 Differences to version 1.08
- line objects: color message is now an alias of penColor.
- foreground method at scene level to put a scene window in foreground. See section 9 p.85.
- text items support font spec with new fontSize, fontFamily, fontStyle and fontWeight
messages. See section 7.11.1 p.71.
- new compatibility method at application level, provided to preserve previous behaviors. See
section 8.1 p.76.
- default size of guido item is increased: the ratio to the previous size is 8.
- force default size and font to text items in order to get equivelent rendering on different platforms
(default to Arial 13px).
- new arrows attribute for line objects. See section 7.10 p.70.
- the export message supports multiple file paths. See section 2 p.10.
- new exportAll message to export an object with its children. See section 2 p.10.
- incoming messages buffer size increased to 10.000
- url support for inscore files (load message)
- new common queries (get message) : count and rcount that give the enclosed objects count and
recursive count. The messages are supported at scene and application level as well. See section 9.2
- new memimg object that capture the image of any object hierarchy including scenes. See section 5.6
- supports relative OSC addresses that are evaluated in the context of the target object (i.e. a scene for
drag and drop operations, arbitrary objects with the eval method). See section 17.2 p.175.
- new eval method that takes a message list as argument, provided as a context for relative addresses
evaluation. See section 4 p.34.
- new httpd object that implements an http server providing images of the scene to remote clients. See
section 5.10 p.49 and section 20.3 p.223.
- new websocket object that implements a websocket server providing images of the scene to remote
clients but also changes notifications. See section 5.10 p.49.
- Files objects can receive URL as path. See section 5.8 p.45.
- new intermediate object for the URL (waiting for the data to be downloaded to create the real object)
- new events associated to url based objects: success, error, cancel. See section 16.1.4 p.161.
- support for int values as parameters of the set method of rect shape and polygon objects
- the clear message addressed to a gmnstream object clears also the view. The change was not
previously reflected until a new valid string was posted to the object.
- bug in export item corrected : child scaling was not applied.
- bug correction: for multiple exports, only the last one was done.
- bug in extended address support corrected: extended address was ignored for messages dropped to a
- bug in window color corrected: black color was not correctly set due to an incorrect color information
returned by Qt.
- bug with ’line’ initialization corrected: wrong position and orientation with negative coordinates (was
previously corrected but reintroduced), incorrect initialization in layers.
22.6 Differences to version 1.07
- new __END__ marker supported to end a script parsing at arbitrary location (see section 17.1 p.175).
- when displaying the mapping, the map dates are not printed any more by default (due to size and
collisions). The debug map parameter change from boolean to int value: 1 to activate the mapping
display, 2 to have also the dates displayed (see section 7.12 p.74).
- the signal node is available at any level of the hierarchy (as well as the sync node)
- new connect and disconnect messages for the signal node to support signal connection to objects
graphic attributes (see section 14.2 p.121).
- a slave can have several masters
- no more side effects for synchronized objects (position change, scaling)
22.7 Differences to version 1.06
- bug with ’line’ initialization corrected: wrong position and orientation with negative coordinates.
- new plugins static node at application level to provide a user path to look for pugins (see section
- explicit objects for musicxml scores (musicxml and musicxmlf types) (see section 5.1 p.36).
- new faustdsp object, charging libfaust as a plugin to compile faust DSP on-the-fly (see section 5.5
- exception catched when sending osc messages: was a potential crash, e.g. in case of get message
sent to a signal with a large buffer -> out of buffer memory
- new write method supported by the ’log’ window (see section 8.5.3 p.82)
- variable addresses are evaluated in message based variables
- supports relative rotations on x and y axis
22.8 Differences to version 1.05
- save message can now take an optional list of attributes to be saved (see section 2 p.10)
- variables are now evaluated and expanded inside strings. Thus interaction variables can now be passed
- corrects musicxml-version output
- log window is put to front when the show menu is recalled
- object aliases are removed when the object is deleted
22.9 Differences to version 1.03
- incorrect error message for watch messages corrected
- log window is now available from the application ’Tools’ menu
- new brushStyle attribute (see section 7.1 p.55)
- new layer object (see section 5.7 p.44)
- new save method specific to the log window: saves the window content to a file (see section 8.5.3
- new event method supported at object level for UI events simulation
- new del watchable event: sent when deleting an object (see section 16.1.5 p.162)
- new gmnstream guido stream object (see section 5.1 p.36)
22.10 Differences to version 1.0
- log window utility provided as a new static node at application level (/ITL/log) (see section 8.5.3
- new systemCount read only attribute for Guido scores (see section 7.3 p.61)
- IRCAM gesture follower support (see section 20.2 p.214)
’run’ method (see section 17.7.1 p.181)
- new export event (see section 16.1.5 p.162)
- new endPaint event at scene level (see section 16.1.5 p.162)
- new windowOpacity method at scene level (see section 9 p.85)
- bug correction: error messages not generated for dropped files (actually for the scene load method)
- bug correction: possible infinite loop in QStretchTilerItem::paint method
- bug correction: incorrect get alias output (all the aliases were dumped out in a single message)
22.11 Differences to version 0.98
- bug correction in streching very small objects (due to approximations)
- bug correction in $sx and $sy computation (xorigin and yorigin was not taken into account)
- new ’ticks’ message at application level for querying or setting the current count of time tasks (see
section 8.1 p.76)
- new ’time’ message at application level for querying or setting the current time (see section 8.1 p.76)
- new ’forward’ message at application level for messages forwarding to remote hosts (see section 8.1
- new ’relative | absolute’ synchronization mode (see section 13.1 p.107)
- ’rename’ message not supported any more
- a scene accepts multiple dropped files
- significant extension and syntax changes in inscore script files (see Scripting documentation section
- fileWatcher methods renamed and simplified (see section 16.7 p.172)
- ’click’ and ’select’ messages are not supported any more.
- new ’stats’ virtual node at application level (address /ITL/stats), supports ’get’ and ’reset’ messages
the node gives statistics about the incoming messages (see section 8.5.2 p.81)
- crash bug in signal creation corrected: a signal size created with an incorrect stream (e.g. a string
value) was 0 and no buffer was allocated.
- extension of the time related events to duration: new ’durEnter’ and ’durLeave’ watchable events (see
section 16.1.3 p.160)
- new ’absolutexy’ message at scene level to switch to absolute coordinates (in pixels) (see section 9
- new ’push’ and ’pop’ messages to store and restore current watched events and associated messages
(see section 16.6 p.171)
- internal change: mappings are now implemented as a separable library strictly complying to the
- new %f format for the date variable to request a float value (instead a rational value) (see section
- dates may be specified as rational strings (see section 3 p.30).
- interaction messages are not any more generated when the date can’t be resolved.
- new rate message at application level to control the time task rate (see section 8 p.76)
- new frameless message at scene level to switch to frameless or normal window (see section 9 p.85)
22.12 Differences to version 0.97
- new fastgraph object for graphic signals fast rendering (see section 5 p.36)
- $date variable overflow catched
- files dropped on application icon correctly opened when the application is not running
- supports drag and drop of textual osc message strings
- osc error stream normalized: the message address is ’error:’ or ’warning:’ followed by a single
(see section 17.7 p.180)
22.13 Differences to version 0.96
- objects position, date and watched events preserved through type change
- bug in quantified dates corrected (null denominator set to the quantified value)
- new ’alias’ message providing arbitrary OSC addresses support
- bug in parser corrected: \ escape only ’ and " chars, otherwise it is literal
- guido score map makes use of the new guidolib extended mapping API for staff and system
- chords map correction (corrected by guido engine)
22.14 Differences to version 0.95
- lua not embedded by default
22.15 Differences to version 0.92
- new ’mouse’ ’show/hide’ message supported at application level (see section 8 p.76)
- graphic signal supports alpha messages at object level
- bug correction in sync delete (introduced with version 0.90)
22.16 Differences to version 0.91
- bug corrected: crash with messages addressed to a signal without argument
- date and duration messages support one arg form using 1 as implicit denominator value the one arg
form accepts float values (see section 3 p.30).
22.17 Differences to version 0.90
- bug in sync management corrected (introduced with the new sync parsing scheme)
22.18 Differences to version 0.82
- at application level: osc debug is now ’on’ by default
- new scripting features (variables) (see section 17.4 p.177).
- ITL file format change:
- semicolon added at the end of each message
- ’//’ comment not supported any more
- ’%’ comment char replaced by ’!’
- new variables scripting features
- single quote support for strings
- messages addressed to sync node must use the string format
- new ’grid’ object for automatic segmentation and mapping
22.19 Differences to version 0.81
- new Faust plugins for signals processing
- colors management change: all the color models (RGBA and HSBA) accept now float values that are
interpreted in the common [-1,1] range. For the hue value, 0 always corresponds to ’red’ whatever the
- stretch adjustment for video objects (corrects gaps in sync h mode)
- support for opening inscore files on the command line
- system mapping correction
- splash screen and about menu implemented by the viewer
22.20 Differences to version 0.80
- behavior change with synchronization without stretch: now the system looks also in the slave map
for a segment corresponding to the master date.
- $date variable change: the value is now (0,0) when no date is available and $date is time shifted
according to the object date.
- date message change: the date 0 0 is ignored
22.21 Differences to version 0.79
- corrects the map not saved by the save message issue
- corrects get map output: 2D segments were not correctly converted to string
22.22 Differences to version 0.78
- crash bug corrected for the ’save’ message addressed to ’/ITL’
- message policy change: relaxed numeric parameters policy (float are accepted for int and int for float)
- bug in get watch for time events corrected (incorrect reply)
- map not saved by the save message
22.23 Differences to version 0.77
- guido system map extended: supports flat map or subdivided map (see section 12.4 p.102).
- new shear and rotate transformations messages (see section 2.2 p.15).
- new rename message to change an object name (and thus its OSC address) (see section 2 p.10).
- relaxed bool parameter policy: objects accept float values for bool parameters
- automatic numbering of exports when destination file is not completely specified i.e. no name, no
extension. (see section 2 p.10).
- quantification introduced to $date variable (see section 16.5 p.167).
- reset message addressed to a scene clears the scene rootPath
22.24 Differences to version 0.76
- get guido-version and musicxml-version messages supported by the application (see section 8
- save message bug correction - introduced with version 0.70: only partial state of objects was saved
- rootPath message introduced at scene level (see section 9 p.85).
- scene name translation strategy change: only the explicit ’scene’ name is translated by the scene load
message handler into the current scene name, other names are left unchanged.
- bitmap copy adjustment in sync stretched mode is now only made for images
22.25 Differences to version 0.75
- new require message supported by the /ITL node (see section 8 p.76).
- new event named newElement supported at scene level (see section 16.1.3 p.160).
- new name and address variables (see section 16.5 p.167).
- new system map computation making use of the new slices map provided by the guidolib version
- INScore API: the newMessage method sets now the message src IP to localhost With the previous
version and the lack of src IP, replies to queries or error messages could be sent to undefined addresses
(and mostly lost).
- bug corrected with ellipse and rect : integer graphic size computation changed to float (prevents
objects disappearance with small width or height)
- bug in scene export: left and right borders could be cut, depending on the scene size corrected by
rendering the QGraphicsView container instead the QGraphicsScene
- crash bug with $date:name corrected: crashed when there is no mapping named name.
22.26 Differences to version 0.74
- new map+ message (see section 12.2 p.102).
- the click and select messages are deprecated (but still supported). They will be removed in a future
22.27 Differences to version 0.63
- new dpage message accepted by gmn objects (see section 7.3 p.61).
- x and y variables: automatic range type detection (int | float)
- set txt message: accepts polymorphic stream like parameters (see section 5 p.36).
- drag and drop files support in INScore viewer
- interaction variables extension: $sx, $sy variables added to support scene coordinate space (see
section 16.5 p.167).
- automatic range mapping for $x, $y variables.
- new $self and $scene variables in the address field (see section 16.5.7 p.171).
- OSC identifiers characters set extended with ’_’ and ’-’ (see section 1 p.3).
- support for multiple scenes: new, del and foreground messages (see section 9 p.85).
- load message supported at scene level (see section 9 p.85).
- get watch implemented.
- watch message without argument to clear all the watched events (see section 16.5 p.167).
- order of rendering and width, height update corrected (may lead to incorrect rendering)
- bug with gmn score corrected: missing update for page, columns and rows changes.
- package delivered with the Guido Engine version 1.41 that corrects minimum staves distance and
incorrect mapping when optimum page fill is off.
22.28 Differences to version 0.60
- new ’mousemove’ event (see section 16.1.1 p.158).
- interaction messages accept variables ($x, $y, $date...) (see section 16.5 p.167).
- SVG code and files support (see section 5.9 p.46).
- set line message change: the x y form is deprecated, it is replaced by the following forms:
’xy’ x y (equivalent to the former form) and ’wa’ width angle (see section 5 p.36).
- new ’effect’ message (section 2.5 p.24).
- utf8 support on windows corrected
- transparency support for stretched synchronized objects corrected
- multiple application instances supported with dynamic udp port number allocation.
- command line option with –port portnumber option to set the receive udp port number at startup.
22.29 Differences to version 0.55
- new ’xorigin’ and ’yorigin’ messages (section 2.1.3 p.15).
- new interaction messages set (section 16 p.157).
- alpha channel handled by images and video
- bug correction in line creation corrected (false incorrect parameter returned)
- bug correction in line ’get’ message handling
- memory leak correction (messages not deleted)
- incorrect graphic rendering when ’sync a b’ is changed to ’sync b a’ in the same update loop
- incorrect nested synchronization when master is horizontaly stretched,
22.30 Differences to version 0.53
- ITL parser corrected to support regexp in message string (used by messages addressed to sync node)
- format of mapping files and strings changed (section 12.1 p.96).
- format of sync messages extended to include map name (section 13 p.106).
- signal node: ’garbage’ message removed
- new ’reset’ message for the scene (/ITL/scene) (section 9 p.85).
- new ’version’ message for the application (/ITL) (section 8 p.76).
- new ’reset’ message for signals (section 14.1.1 p.116).
- bug parsing messages without params corrected
- slave segmentation used for synchronization
- new H synchronization mode (preserves slave segmentation)
- crash bug corrected for load message and missing ITL files
22.31 Differences to version 0.50
- Graphic signal thickness is now symmetrically drawn around y position.
- ITL file format supports regular expressions in OSC addresses.
- IP of a message sender is now used for the reply or for error reporting.
- new line object (section 5 p.36).
- new penStyle message for vectorial graphics (section 7 p.55).
- new color messages red, green, blue, alpha, dcolor, dred, dgreen, dblue (section 2
p.10 and 2.1.2 p.13).
- color values for objects are bounded to [0,255]
- get map message behaves according to new map message (section 6 p.52).
- get width and get height is now supported by all objects (section 6 p.52).
- bug in signal projection corrected (index 0 rejected)
- bug in signals default value delivery corrected
- new pageCount message for guido scores
- debug nodes modified state propagated to parent node (corrects the debug informations graphic
- rational values catch null denominator (to prevents divide by zero exceptions).
22.32 Differences to version 0.42
- identifier specification change (section 1 p.3).
- new application hello and defaultShow messages (section 8 p.76).
- new load and save messages (sections 8 p.76 and 2 p.10).
- click and select messages:
- rightbottom and leftbottom modes renamed to bottomright and bottomleft
- new center mode for the click message
- query mode sent back with the reply both for click and select messages
- new file, html and htmlf types for the set message (section 5 p.36).
- get syntax change for the scene.
- fileWatcher messages completely redesigned.
- mappings can be identified by names (section 12.1 p.96).
- rect, ellipse, curve, line and polygon object support graphic to relative-time mapping
- new synchronization modes for Guido scores: voice1, voice2, ... , staff1, staff2, ... , system,
- Guido mapping manages repeat bars.
- Graphic signals messages design (section 14.3 p.123).