diff --git a/NEWS.md b/NEWS.md index 4dcbfe5..7bf4f87 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,27 @@ # WebMapper News +## Version 2.4.4 + +We are pleased to announce the release of version 2.4.4 of WebMapper, a Python + HTML5 user interface for exploring and managing the distributed network formed by [libmapper](http://www.libmapper.org/)-enabled software and hardware. + +Changes since the last release include: + +- Improvements to drawing of maps in the Hive Plot and Paralle Coordinate Plot views. These improvments are especially noticeable when drawing convergent maps. +- Revision of the Saver/Loader widget in the top toolbar. This widget now displays all active mapping sessions in a drop-down menu, and enables 'unloading' each session individually. +- Fixes for display of vector signal extrema (minimum and maximum values) in the mouseover metadata table. + +## Version 2.4.3 + +We are pleased to announce the release of version 2.4.3 of WebMapper, a Python + HTML5 user interface for exploring and managing the distributed network formed by [libmapper](http://www.libmapper.org/)-enabled software and hardware. + +Since the release of version 2.3, a large number of improvements and bugfixes have been performed. Some of the more important changes are outlined below: + +- the Python backend was ported to use the new [mappersession](https://github.com/libmapper/mappersession) module. This work included standardisation of the mapping session file structure, improvements to loading legacy file versions, and the addition of libmapper control signals for loading and unloading session files. Some of the new features supported by mappersession are not yet used by webmapper but will support future improvements. +- simplification of the signal table view by moving some signal metadata into a tooltip. Configuration of which metadata are included in the table will be a user-defined preference in future versions. +- A simple plot of live signal values can be invoked from the List view. +- improvements to the CI and build scripts +- numerous small bugfixes and visual tweaks + ## Version 2.3 We are pleased to announce the release of version 2.3 of WebMapper, a Python + HTML5 user interface for exploring and managing the distributed network formed by [libmapper](http://www.libmapper.org/)-enabled software and hardware. This marks the first numbered (rather than dated) release of WebMapper, which will now be released regularly in sync with the libmapper repository. diff --git a/README.md b/README.md index e32e5b1..72937dc 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Webmapper aims to support the mapping task in three ways: 1. Aiding discovery and exploration of active devices and their signals. Currently 8 different "views" of the mapping network are available, each using a different visualization approach. 2. Providing an interactive graphical interface for creating, editing, and destroying data-streaming connections ("maps") between signals. -3. Supporting saving and loading of mapping sets, including support for mapping transportability (cf. the [GDIF project][GDIF]) +3. Supporting saving and loading of mapping sets (sometimes referred to as 'sessions'), including support for mapping transportability (cf. the [GDIF project][GDIF]) All libmapper-compatible GUIs function as “dumb terminals” — no handling of mapping commands takes place in the GUI, but rather they are only responsible for representing the current state of the network, and issuing commands on behalf of the user. This means that an arbitrary number of GUIs can be open simultaneously supporting both remote network management and collaborative creation and editing during the mapping task. @@ -31,10 +31,11 @@ Simply open the application. It should automatically scan the network for device Note: webmapper is developed and works with Chromium/Chrome. It may work with other browsers. -1. Build and install [libmapper][libmapper] -2. Run webmapper.py from terminal -3. Terminal will display "serving at port #####" -4. A browser window should be opened automatically and directed to the correct port. +1. Build and install [libmapper][libmapper] or `pip3 install libmapper` +2. Download [mappersession][mappersession] or `pip3 install mappersession` +3. Run webmapper.py from terminal +4. Terminal will display "serving at port #####" +5. A browser window should be opened automatically and directed to the correct port. If the browser doesn't open, open it manually and type "localhost:#####" into the address bar, where ##### is the same string of numbers displayed in the terminal. @@ -66,12 +67,14 @@ python setup.py py2app -Released versions of Webmapper use "naïve" file loading, in which maps specifications loaded from file are matched against all of the devices currently active on the network. This is intended to support *transportability* of mapping specifications between similar devices if their parameter spaces are structured similarly (cf. the [GDIF project][GDIF]). It also ensures that files will still load if a device receives a different ordinal id than the one used when the file was saved. Unfortunately, this naïve approach may also cause unintended consequences if a file is loaded when multiple instances of an involved device are present – to avoid these problems, see [hiding devices](#hiding_devices) in the description of the Chord View below. +Released versions of Webmapper use "naïve" file loading, in which maps specifications loaded from file are matched against all of the devices currently known to Webmapper that have not been 'hidden' using the Chord or Console views. This is intended to support *transportability* of mapping specifications between similar devices if their parameter spaces are structured similarly (cf. the [GDIF project][GDIF]). It also ensures that files will still load if a device receives a different ordinal id than the one used when the file was saved. Unfortunately, this naïve approach may also cause unintended consequences if a file is loaded when multiple instances of an involved device are present – to avoid these problems, see [hiding devices](#hiding_devices) in the description of the Chord View below. ### In development: map staging We are working on a new functionality called *map staging*. While the previous naïve approach loaded saved maps against all of the device names in the current tab, loading a file now switches to a new view showing only devices and network links. The file is parsed to retrieve the number of devices involved, and an interactive object is displayed allowing the user to assign device representations from the file to devices that are active on the network. Once the devices have been assigned, clicking on the central file representation launches an attempt to recreate the saved maps. +The [mappersession][mappersession] module currently supports including an optional "device map" argument when loading a file, specifying how devices in the file should be mapped onto currently active devices. A graphical interface for building this "device map" remains to be implemented. + ### Searching/filtering signals @@ -256,6 +259,7 @@ This view presents a "console" for performing text-based interaction with the ma Status: planning [libmapper]: https://github.com/libmapper/libmapper +[mappersession]: https://github.com/libmapper/mappersession [GDIF]: http://www.idmil.org/projects/gdif [ICon]: http://inputconf.sourceforge.net/ [DOT]: http://idmil.org/dot