Table of Contents

Displaying MusicalEnvironment Content (In browser)

Overview: Imagine. One day, there was a guy named Tom. He created a very complicated MusicalEnvironment but did understand it completely and could not see what it did clearly. He also wanted to show his teammates his current MusicalEnvironment so that they could explain to him.

Things To Note: This tutorial assumes you have already installed Konduktiva successfully using the Konduktiva installation instructions and have read through and understood the first steps tutorial. The tutorial also assumes 2 things. One, Konduktiva has been assigned to the K variable. Two, user created a Musical Environment using the setUpMusicalEnvironment function using K.defaultConfigurationObject as the first argument and 'exampleMidiPlayer' as the third argument then, assigned the output to the e variable.

const K = require('konduktiva')
let e = K.setUpMusicalEnvironment(K.defaultConfigurationObject,4,'exampleMidiPlayer', K.exampleMusicalEnvironmentsExtraConfig)

Displaying Content Of MusicalEnvironment Through Web Sockets

Websockets protocol is used because it can be shared remotely over the internet as long as it is configured properly.

Activating WebSocket server

Will be automatically activated when Koduktiva module is loaded.

Connecting To The WebSocket Server

Wherever Konduktiva is installed, go there and open musical-environment-viewer/index.html in the browser.

It should look something like this:

Send MusicalEnvironment Information To The Browser

To send the MusicalEnvironment information use thesendClientEnvInfo method in the MusicalEnvironment class.

e.sendClientEnvInfo()
//undefined

This will send the information of e to all clients connected. The full documentation of how to use this method can be found here. (INSERT LINK after done)

The page will then automatically update to look something like this:

Using The Interface

The MusicalEnvironment viewer tool is useful for understanding the QuantizedMaps. It will display the QuantizedMaps in terms of graphs using the JavaScript Plotly Graphing library:

The search bar and item tab is also very useful for getting acquainted with the different variables in the musicalEnvironment:

Changing WebSocketServer Port

Use the function called changeWebsocketServerPort like so:

//assign the webscoket server to a variable:
K.wss = K.connectVariableToCurrentWss()
 
//Change the port:
 K.wss = K.changeWebsocketServerPort(8081, K.wss)

Remember You have to reassign K.wss for it to work. Also pass K.wss as the last argument. The first argument is the new port.

Next you will have to change the port the client listens to inside the file test.js line 25. It looks like this currently change it to the port you want to: ``` const serverPort = 8080; Replace with the port number on which the server is running ``` After that save and reload the client browser page.