Skip to content

How to play collectively on NTSS - remote control or shared server? #1

Description

@adcxyz

We want to enable several people to play on the NTSS at the same time:
They get e.g. 2 audio inputs for their sound/s and 2 PMC channels,
which allows e.g. 8 people to play.

Each playing station should have:

  • a selection of channels to control
  • local guis for them, and possibly controllers to play with them
  • representation of overall state / the big mixer?

How best? OPTIONS

Option 1

  • everything runs on main machine,
  • others mirror state and allow remote control.

Option 2:

  • setup with multiple clients on same server,
  • client 0 gets mainfx, all others get e.g. 2 mixerchannels each

Sketch remote version

// load remote version like this:
NTSS.runRemote;

Questions:

  • How to keep Proxymeter for chains alive when no local gui?
  • should receivers be proxies with slient sound functions with copied params?

Every channel broadcasts its full state ...
at receiver, state stays in dicts,
so the same gui can use them

  • disable/hide all the unsupported NdefGui buttons?

-- The State to mirror for each srcproxy:

  • halo: micChan, ndef, soundfile
  • active slots
  • settings // assume we have the specs
  • playState: isActive isPlaying
    proxymeter level, even if no gui
    panproxy:
  • panName
  • settings
  • playstate
  • support send button
    proxymeter level, even if no gui
    // on pchain:
    q.pchains[0].getHalo
    q.pchains[0].slotsInUse
    q.pchains[0].proxy.getKeysValues
    q.pchains[0].proxy.isPlaying
    q.pchains[0].proxy.monitor.isPlaying
    q.pchains[0].proxy.monitor.vol
    ProxyMeter.all.detect {|meter| meter.arProxy === q.pchains[0].proxy }.ampVals;
    // on panner:
    q.pchains[0].getHalo(\panName)
    q.pchains[0].getHalo(\panner).isPlaying
    q.pchains[0].getHalo(\panner).getKeysValues
    q.pchains[0].getHalo(\panner).monitor.isPlaying
    q.pchains[0].getHalo(\panner).monitor.vol
    ProxyMeter.all.detect {|meter| meter.arProxy === q.pchains[0].getHalo(\panner) }.ampVals;

Possibly also mirror spatioscope?
q.spat.amps;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions