Skip to content

Commit

Permalink
Updated News and Readme
Browse files Browse the repository at this point in the history
  • Loading branch information
malloch committed Sep 20, 2023
1 parent 95088f8 commit 8863bb1
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 6 deletions.
22 changes: 22 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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.

Expand Down Expand Up @@ -66,12 +67,14 @@ python setup.py py2app

<img height="60px" style="padding:0px;vertical-align:middle" src="./doc/screenshots/file_io.png">

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

<img height="60px" style="padding:0px;vertical-align:middle" src="./doc/screenshots/signal_filter.png">
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 8863bb1

Please sign in to comment.