Changes list

Version 1.34 vs version 1.31

  • new scount query at application level (/ITL): gives the scenes count. See section ITLQuery
  • new scenes message at application level (/ITL). See section applmgmt
  • new errorAddress message at application level (/ITL): set the OSC address of error messages. See section applmgmt
  • forward message behavior change: append addresses to destination list, broadcast addresses are explicitly rejected and trigger an error.
  • extend newElement event to application level (/ITL). See section typespecevents
  • add support for get 'date%a' query: gives the absolute date in seconds (assumes the tempo is 60 bpm).
  • add event handlers portrait and landscape for screen orientation change (triggered only by the web version)
  • supports dynamic scene relative dimensions and positions. See section srelpos and whcontrol
  • add IP query to application level (/ITL). See section ITLQuery
  • add text query to txt objects.
  • allows negative date messages.
  • fix evaluation of args variables (n) in javascript run method.
  • fix crash bug with OSC bundles.

Web Specific Changes

  • new init message for audioInput objects, must be called before using the audio input.
  • new autoOff message supported by faust objects to automatically set ui buttons to 0 after a 1 value.
  • support portrait and landscape events.
  • prevent default keydown event on window (avoid scrolling).
  • fix media end event.
  • fix concurrent faustw objects creation.

Version 1.31 vs version 1.28

  • add support for get 'date%f' query
  • add midi node at application level, supported by the native app for compatibility reasons (works only with the web version)
  • new keyDown and keyUp events. See section keyevents
  • fix $date quantification
  • fix 'event' messages forwarding
  • fix $date%f detection in javascript run method
  • fix non visible mapping for images
  • fix incorrect $x et $y variables value for proportional dimension objects
  • fix missing curve rendering
  • fix guido score scaling issue

Web Specific Changes

  • new 'compute' message supported by faust objects
  • new form of the 'connect' message (to address individual channels)
  • font size unit changed to 'vw' (relative to viewport width)
  • load message implemented
  • new faustw object (precompiled faust dsp)
  • new midi events

Version 1.28 vs version 1.27

  • new dvolume method for media objects
  • new ssl static application node for ssl certificates management
  • new cert key cacert messages to manage ssl certificates and keys. See section SSL
  • new get clients messages at application level
  • add https support to forwarding mechanism. See section Forwarding

Web Specific Changes

  • fix ready event for audio objects

Version 1.27 vs version 1.24

Web Specific Changes

  • new faust object (web version)
  • new connect method (web version)
  • forwarding mechanism extended with http and ws support. See section Forwarding

Version 1.24 vs version 1.22

  • new inscore2 scripting language
  • log window supports the scale message. See section ITLlog
  • colors: supports html color names and hex values with 0x as prefix. See section colormsg
  • supports absolute time segments in mappings. See section segdefs
  • tempo is now a floating point value
  • fix touch events with edit dialog
  • add 'inscore2' extension to files filter (mobile version)
  • update to guido engine 1.66
  • edit message supports set as argument. See section editmsg
  • edit new reset argument to clear the edit string in the object cache. See section editmsg
  • new dshear method. See section transform
  • fix bug with javascript runtime variable (passed as argument to run)
  • fix synchronization issue with arcs (not visible when synchronized)
  • fix crash bug with set messages addressed to /ITL/*/anobject

Version 1.22 vs version 1.21

  • new opengl message supported at scene level for optional OpenGl graphics rendering. Improves significantly the cpu use for graphics operations but at the cost of poorer rendering for text and symbolic scores
  • fix potential issue with dates: dates expressed with big values for the numerator or the denominator may result in overflow

Version 1.21 vs version 1.18

  • new set of sensor objects. See section sensors.
  • update to guido engine 1.63
  • new preprocess message supported at application and scene level intended to debug javascript sections or math expressions. Output of pre-processing is printed to the log window. See section applmgmt and scene.
  • environement variables introduced in scripting environment (OSName and OSId). See INScoreLang documentation.
  • new math expressions introduced in scripting context. See INScoreLang documentation.

  • new syncFrame synchronisation mode. See section syncPos and syncFrame.

  • 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 attributeevents and userevents.
  • 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 another.
  • new arc object. See section vgraphscore and arcobjects.
  • new radius message supported by rectangles. See section rectobjects.
  • new edit message supported by all objects: opens a small messages editor. See section editmsg.
  • new level message supported by the log window and extended debugging support. See section ITLlog.
  • new video specific messages and management: the video time is now independent from the inscore object time. See section video.
  • gmn objects set: output correct error message in case of syntax error
  • save msg output changed: a scene emit the new message, static info nodes (log, stat, javascript...)
  • 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 txtwrite.

Version 1.18 vs version 1.17

  • new tempo message supported by all objects. See section tempo.
  • new pageCount event supported by symbolic score objects. See section typespecevents.
  • new error event supported at application level. See section typespecevents.
  • new browse message at application level to open a document in a web browser. See section system.
  • web api documentation included in package

Version 1.17 vs version 1.15

  • support animated svg using the new animate message. See section svgobjects.
  • messages list variables are exported to javascript as a string.
  • 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 scoreExpr.
  • new newData event. See section miscevents.
  • the javascript engine is shared between the application and the different scenes. Note that it may change a script behavior when exploiting the previous independance of the javascript engine environments.
  • new javascript osname function that gives the current operating system name. See INScoreLang documentation.
  • new javascript osid function that gives the current operating system as an id. See INScoreLang documentation.
  • rootPath message can be called without parameter to clear a scene rootPath. See section scene.
  • log window supports the foreground message. See section ITLlog.
  • 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 common.
  • 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 touchevents.

  • new radialgraph signal representation. See section gsignal.
  • 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 and iOS)
  • frameless and fullscreen modes management revised at view level and are now now exclusive at model level
  • String without spaces in INScore scripts no longer need to be quoted.

Version 1.15 vs 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 pianorollscore and pianoroll.
  • 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 \fullref{forwarding}.
  • 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, OSC{xorigin} and OSC{yorigin}. 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

Version 1.12 vs 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 scene.
  • text items support font spec with new fontSize, fontFamily, fontStyle and fontWeight messages. See section fontctrl.
  • new compatibility method at application level, provided to preserve previous behaviors. See section applmgmt.
  • 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 arrows.
  • the export message supports multiple file paths. See section common.
  • new exportAll message to export an object with its children. See section common.

  • 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 scenequery.

  • new memimg object that capture the image of any object hierarchy including scenes. See section imgscore.
  • 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).
  • new eval method that takes a message list as argument, provided as a context for relative addresses evaluation. See section miscmsgs.
  • new httpd object that implements an http server providing images of the scene to remote clients. See section webobjects and section Httpd.
  • new websocket object that implements a websocket server providing images of the scene to remote clients but also changes notifications. See section webobjects.

  • Files objects can receive URL as path. See section filebasedrsrc.

  • 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 urlevents.
  • 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 scene .
  • 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.

Version 1.08 vs version 1.07

  • new END marker supported to end a script parsing at arbitrary location (see INScoreLang documentation.).
  • 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 debugnode).
  • 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 signalcnx).
  • a slave can have several masters
  • no more side effects for synchronized objects (position change, scaling)

Version 1.07 vs 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 ITLplugins).
  • explicit objects for musicxml scores (musicxml and musicxmlf types) (see section symscore).
  • new faustdsp object, charging libfaust as a plugin to compile faust DSP on-the-fly (see section sigscore).
  • 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 javascript 'post' function for posting delayed messages (see INScoreLang documentation.)
  • new write method supported by the 'log' window (see section ITLlog)
  • variable addresses are evaluated in message based variables
  • supports relative rotations on x and y axis

Version 1.06 vs version 1.05

  • save message can now take an optional list of attributes to be saved (see section common)
  • variables are now evaluated and expanded inside strings. Thus interaction variables can now be passed as argument of javascript functions.
  • 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

Version 1.05 vs version 1.03

  • incorrect error message for watch messages corrected
  • new javascript readfile function (see INScoreLang documentation.)
  • log window is now available from the application 'Tools' menu
  • new brushStyle attribute (see section brush)
  • new layer object (see section miscscore)
  • new save method specific to the log window: saves the window content to a file (see section ITLlog)
  • new event method supported at object level for UI events simulation
  • new del watchable event: sent when deleting an object (see section miscevents)
  • new gmnstream guido stream object (see section symscore)

Version 1.03 vs version 1.0

  • log window utility provided as a new static node at application level (/ITL/log) (see section ITLlog).
  • new systemCount read only attribute for Guido scores (see section gmnpage)
  • IRCAM gesture follower support (see section GF)
  • javascript engine is available at the static address /ITL/scene/javascript and can be activated using a 'run' method (see INScoreLang documentation.)
  • new export event (see section miscevents)
  • new endPaint event at scene level (see section miscevents)
  • new windowOpacity method at scene level (see section scene)
  • 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)

Version 1.00 vs 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 applmgmt)
  • new 'time' message at application level for querying or setting the current time (see section applmgmt)
  • new 'forward' message at application level for messages forwarding to remote hosts (see section applmgmt)
  • new 'relative | absolute' synchronization mode (see section syncmode)
  • 'rename' message not supported any more
  • a scene accepts multiple dropped files
  • significant extension and syntax changes in inscore script files (see INScoreLang documentation.)
  • fileWatcher methods renamed and simplified (see section filewatch)
  • '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 ITLdebug)
  • 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 timeevents)
  • new 'absolutexy' message at scene level to switch to absolute coordinates (in pixels) (see section scene)
  • new 'push' and 'pop' messages to store and restore current watched events and associated messages (see section evtstate)
  • internal change: mappings are now implemented as a separable library strictly complying to the mappings formalism.
  • new
  • dates may be specified as rational strings (see section time).
  • 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 ITL)
  • new frameless message at scene level to switch to frameless or normal window (see section scene)

Version 0.98 vs version 0.97

  • new fastgraph object for graphic signals fast rendering (see section setsect)
  • $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 message string.
  • javascript and lua support: a single persistent context is created at application level and for each scene. (see section \fullref{scriptlang})

Version 0.97 vs 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)

Version 0.96 vs version 0.95

  • switch to v8 javascript engine
  • lua not embedded by default

Version 0.95 vs version 0.92

  • new 'mouse' 'show/hide' message supported at application level (see section ITL)
  • graphic signal supports alpha messages at object level
  • javascript and lua embedded and supported in inscore scripts.
  • bug correction in sync delete (introduced with version 0.90)

Version 0.92 vs 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 time).

Version 0.91 vs version 0.90

  • bug in sync management corrected (introduced with the new sync parsing scheme)

Version 0.90 vs version 0.82

  • at application level: osc debug is now 'on' by default
  • new scripting features (variables).
  • ITL file format change:
  • semicolon added at the end of each message
  • '//' comment not supported any more
  • '
  • 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

Version 0.82 vs 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 scale used.
  • 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

Version 0.81 vs 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

Version 0.80 vs 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

Version 0.79 vs 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)

Known issues:

  • map not saved by the save message

Version 0.78 vs version 0.77

  • guido system map extended: supports flat map or subdivided map (see section guidomap).
  • new shear and rotate transformations messages (see section transform).
  • new rename message to change an object name (and thus its OSC address) (see section common).
  • 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 common).
  • quantification introduced to $date variable (see section interactvar).
  • reset message addressed to a scene clears the scene rootPath

Version 0.77 vs version 0.76

  • get guido-version and musicxml-version messages supported by the application (see section ITL).
  • save message bug correction - introduced with version 0.70: only partial state of objects was saved
  • rootPath message introduced at scene level (see section scene).
  • 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

Version 0.76 vs version 0.75

  • new require message supported by the /ITL node (see section ITL).
  • new event named newElement supported at scene level (see section timeevents).
  • new name and address variables (see section interactvar).
  • new system map computation making use of the new slices map provided by the guidolib version 1.42
  • 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.

Version 0.75 vs version 0.74

  • new map+ message (see section mapAddMsg).
  • the click and select messages are deprecated (but still supported). They will be removed in a future version.

Version 0.74 vs version 0.63

  • new dpage message accepted by gmn objects (see section gmnpage).
  • x and y variables: automatic range type detection (int | float)
  • set txt message: accepts polymorphic stream like parameters (see section setsect).
  • drag and drop files support in INScore viewer
  • interaction variables extension: $sx, $sy variables added to support scene coordinate space (see section interactvar).
  • automatic range mapping for $x, $y variables.
  • new $self and $scene variables in the address field (see section oscvar).
  • OSC identifiers characters set extended with '_' and '-' (see section genformat).
  • support for multiple scenes: new, del and foreground messages (see section scene).
  • load message supported at scene level (see section scene).
  • get watch implemented.
  • watch message without argument to clear all the watched events (see section interactvar).
  • 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.

Version 0.63 vs version 0.60

  • new 'mousemove' event (see section uievents).
  • interaction messages accept variables ($x, $y, $date...) (see section interactvar).
  • SVG code and files support (see section setfile).
  • 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 setsect).
  • new 'effect' message (section effectmsg).
  • 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.

Version 0.60 vs version 0.55

  • new 'xorigin' and 'yorigin' messages (section origin).
  • new interaction messages set (section interaction).
  • 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)

Known issues:

  • 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,

Version 0.55 vs 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 mapMsg).
  • format of sync messages extended to include map name (section syncmsg).
  • signal node: 'garbage' message removed
  • new 'reset' message for the scene (/ITL/scene) (section scene).
  • new 'version' message for the application (/ITL) (section ITL).
  • new 'reset' message for signals (section ssignal).
  • 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

Version 0.53 vs 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 setsect).
  • new penStyle message for vectorial graphics (section specificMsg).
  • new color messages red, green, blue, alpha, dcolor, dred, dgreen, dblue (section common and relpos).
  • color values for objects are bounded to [0,255]
  • get map message behaves according to new map message (section getsect).
  • get width and get height is now supported by all objects (section getsect).
  • 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 update issue)
  • rational values catch null denominator (to prevents divide by zero exceptions).

Version 0.50 vs version 0.42

  • identifier specification change (section genformat).
  • new application hello and defaultShow messages (section ITL).
  • new load and save messages (sections ITL and common).
  • 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 setsect).

  • get syntax change for the scene.
  • fileWatcher messages completely redesigned.
  • mappings can be identified by names (section mapMsg).
  • rect, ellipse, curve, line and polygon object support graphic to relative-time mapping
  • new synchronization modes for Guido scores: voice1, voice2, ... , staff1, staff2, ... , system, page.
  • Guido mapping manages repeat bars.
  • Graphic signals messages design (section gsignal).