Options
All
  • Public
  • Public/Protected
  • All
Menu

This class implements all general, shared functions that are needed to render a module, controller- and player-side. Class specific functions i.e. how a Slider1D looks on controller/player-side are implemented in the respective classes that inherit from this class.

Hierarchy

Index

Constructors

constructor

Properties

Private addOut_midiDevices

addOut_midiDevices: string[] = []

All output Midi Devices available (only needed on controller side).

Protected inputCallback

inputCallback: (s: ControllerInputType | PlayerInputType) => void = ...

Type declaration

Protected model

A Module View always holds a Module Model that has all the informations and settings.

Protected renderCallback

renderCallback: () => void = ...

Type declaration

    • (): void
    • This function is called when the model changes it's view has to be rerendered.

      Returns void

Accessors

midiDevices

  • set midiDevices(deviceList: string[]): void
  • Update the list of Midi output devices.

    Parameters

    • deviceList: string[]

    Returns void

Methods

Private addOut_channelSelect

  • addOut_channelSelect(aggSubId: string): string
  • The select element where information about an output channel (Osc, Midi or Log) can be read from after the user made it's input. Info is used to add a new Output.

    Parameters

    • aggSubId: string

      The aggregator subscription that shows a statistic about an aggregator value.

    Returns string

    A html-element Id string.

Private addOut_logFilename

  • addOut_logFilename(aggSubId: string): string
  • The text input field name where information about a log filename can be read from after the user made it's input. Info is used to add a new Output.

    Parameters

    • aggSubId: string

      The aggregator subscription that shows a statistic about an aggregator value.

    Returns string

    A html-element Id string.

Private addOut_midiChannelInput

  • addOut_midiChannelInput(aggSubId: string): string
  • The number input field name where information about a midi channel can be read from after the user made it's input. Info is used to add a new Output.

    Parameters

    • aggSubId: string

      The aggregator subscription that shows a statistic about an aggregator value.

    Returns string

    A html-element Id string.

Private addOut_midiControllerInput

  • addOut_midiControllerInput(aggSubId: string): string
  • The number input field name where information about a midi controller can be read from after the user made it's input. Info is used to add a new Output.

    Parameters

    • aggSubId: string

      The aggregator subscription that shows a statistic about an aggregator value.

    Returns string

    A html-element Id string.

Private addOut_midiDeviceSelect

  • addOut_midiDeviceSelect(aggSubId: string): string
  • The select element name where information about a midi device can be read from after the user made it's input. Info is used to add a new Output.

    Parameters

    • aggSubId: string

      The aggregator subscription that shows a statistic about an aggregator value.

    Returns string

    A html-element Id string.

Private addOut_oscAddress

  • addOut_oscAddress(aggSubId: string): string
  • The text input field name where information about an Osc Adress can be read from after the user made it's input. Info is used to add a new Output.

    Parameters

    • aggSubId: string

      The aggregator subscription that shows a statistic about an aggregator value.

    Returns string

    A html-element Id string.

Private addSub_operationSelect

  • The select element name where information about an aggregator operation can be read from after the user made it's input. Info is used to add a new Aggregator Subscription.

    Parameters

    • aggValue: AggregatorValue<number>

      The aggregator value that a player can interact with.

    Returns string

    A html-element Id string.

Private addSub_settingMethodSelect

  • The select element name where information about aggregator settings can be read from after the user made it's input. Info is used to add a new Aggregator Subscription.

    Parameters

    • aggValue: AggregatorValue<number>

      The aggregator value that a player can interact with.

    Returns string

    A html-element Id string.

Private addSub_settingNumberInput

  • The number input field name where information about an aggregator settings' value can be read from after the user made it's input. Info is used to add a new Aggregator Subscription.

    Parameters

    • aggValue: AggregatorValue<number>

      The aggregator value that a player can interact with.

    Returns string

    A html-element Id string.

Private aggregatorRowFactory

  • A module can have different aggregatable values (i.e. X and Y for a Slider2DModel). This function composes the view of the status of a single aggregatable value.

    Parameters

    Returns TemplateResult<ResultType>

    A nested div structure (used as a row) as Template Result.

Private composeAggAddButton

  • composeAggAddButton(aggValue: AggregatorValue<number>): TemplateResult<ResultType>
  • Composes the view that shows a button that is used to add an aggregator subscription. This function also gathers all needed settings given by the user and validates them.

    Parameters

    • aggValue: AggregatorValue<number>

      The aggregator value for which the aggregator subscription is used.

    Returns TemplateResult<ResultType>

    The Template Result without an outer div.

Private composeAggAddMethodField

  • composeAggAddMethodField(aggValue: AggregatorValue<number>): TemplateResult<ResultType>
  • Composes the view where a user can set which method a new aggregator subscription shall have.

    Parameters

    • aggValue: AggregatorValue<number>

      The aggregator value for which the new aggregator subscription is used.

    Returns TemplateResult<ResultType>

    The Template Result without an outer div.

Private composeAggAddSettingsField

  • composeAggAddSettingsField(aggValue: AggregatorValue<number>): TemplateResult<ResultType>
  • Composes the view where a user can set which settings a new aggregator subscription shall use.

    Parameters

    • aggValue: AggregatorValue<number>

      The aggregator value for which the new aggregator subscription is used.

    Returns TemplateResult<ResultType>

    The Template Result without an outer div.

Private composeAggDeleteButton

  • Composes the view for a button that deletes an aggregator value's subscription.

    Parameters

    • aggSub: SubscriptionAtom

      The aggregator subscription that is going to be deleted.

    Returns TemplateResult<ResultType>

    A Template Result for a button including its functionality.

Private composeAggOperationField

  • Composes the view that shows an aggregator subscription's operation.

    todo

    Show an interactive field instead where the user can change the value instead of static text.

    Parameters

    • aggSub: SubscriptionAtom

      The aggregator subscription which information shall be displayed.

    Returns TemplateResult<ResultType>

    The Template Result without an outer div.

Private composeAggSettingsField

  • Composes the view that shows an aggregator subscription's operation's settings (i.e. number of points used for the running average).

    todo

    Show an interactive field instead where the user can change the value instead of static text.

    Parameters

    • aggSub: SubscriptionAtom

      The aggregator subscription which information shall be displayed.

    Returns TemplateResult<ResultType>

    The Template Result without an outer div.

Private composeAggValueField

  • Composes the view that shows an aggregator subscription's current value.

    todo

    Show an interactive field instead where the user can change the value instead of static text.

    Parameters

    • aggSub: SubscriptionAtom

      The aggregator subscription which information shall be displayed.

    Returns TemplateResult<ResultType>

    The Template Result without an outer div.

Abstract composeControllerSettingsView

  • composeControllerSettingsView(): TemplateResult<ResultType>
  • Composes the controller view parts that are specific to this model. Has to be implemented by the child class that inherits from this class.

    Returns TemplateResult<ResultType>

Private composeControllerStatusView

  • Composes the status of a module, that shows the aggregator subscriptions of every aggregatable value together with the respective outputs.

    Parameters

    Returns TemplateResult<ResultType>

    The status view as Template Result.

Private composeModuleDelete

  • composeModuleDelete(): TemplateResult<ResultType>
  • Returns TemplateResult<ResultType>

Private composeModuleDown

  • composeModuleDown(): TemplateResult<ResultType>
  • Returns TemplateResult<ResultType>

Private composeModuleUp

  • composeModuleUp(): TemplateResult<ResultType>
  • Returns TemplateResult<ResultType>

composeNameInput

  • composeNameInput(): TemplateResult<ResultType>
  • Composes an input field where the name of the module can be set.

    Returns TemplateResult<ResultType>

    A Template Result without an outer div.

Private composeOutAddButton

  • composeOutAddButton(aggSubId: string): TemplateResult<ResultType>
  • Composes the view that shows a button that is used to add an output. This function also gathers all needed settings given by the user and validates them.

    Parameters

    • aggSubId: string

      The aggregator subscription for which an output is going be added.

    Returns TemplateResult<ResultType>

    The Template Result of a button with its functionality without an outer div.

Private composeOutAddChannelField

  • composeOutAddChannelField(aggSubId: string): TemplateResult<ResultType>
  • Composes a view for a new output where the user can set which channel the output uses (i.e. Midi, Log, Osc).

    Parameters

    • aggSubId: string

      The aggregator subscription the new output is bound to.

    Returns TemplateResult<ResultType>

    The Template Result without an outer div.

Private composeOutAddSettingsField

  • composeOutAddSettingsField(aggSubId: string): TemplateResult<ResultType>
  • Composes a view for a new output where the user can make settings for the new output channel.

    Parameters

    • aggSubId: string

      The aggregator subscription the new output is bound to.

    Returns TemplateResult<ResultType>

    The Template Result without an outer div.

Private composeOutChannelField

  • composeOutChannelField(outputModel: OutputModel): TemplateResult<ResultType>
  • Composes the view that shows which channel an output uses (i.e. Osc, Midi, Log)

    todo

    Show an interactive field instead where the user can change the value instead of static text.

    Parameters

    • outputModel: OutputModel

      The output whose settings are shown.

    Returns TemplateResult<ResultType>

    The Template Result without an outer div.

Private composeOutDeleteButton

  • composeOutDeleteButton(outputModel: OutputModel): TemplateResult<ResultType>
  • Composes the view for a button that deletes an output.

    Parameters

    • outputModel: OutputModel

      The output that is going to be deleted.

    Returns TemplateResult<ResultType>

    A Template Result for a button including its functionality.

Private composeOutSettingsField

  • composeOutSettingsField(outputModel: OutputModel): TemplateResult<ResultType>
  • Composes the view that shows what settings an output uses. Different for every channel.

    todo

    Show an interactive field instead where the user can change the value instead of static text.

    todo

    Use variable IP or at least variable Port (Bridge needs to be adapted)

    Parameters

    • outputModel: OutputModel

      The output whose settings are shown.

    Returns TemplateResult<ResultType>

    The Template Result without an outer div.

composePlayerTypeSelection

  • composePlayerTypeSelection(): TemplateResult<ResultType>
  • Composes a dropdown select element that let's the controller choose for which type of players this model is visible.

    Returns TemplateResult<ResultType>

    A Template Result without an outer div.

Abstract composePlayerView

  • composePlayerView(): TemplateResult<ResultType>
  • Composes the player view parts that are specific to this model. Has to be implemented by the child class that inherits from this class.

    Returns TemplateResult<ResultType>

getControllerView

  • Composes the general controller view of every model, regardless of the specific model type.

    Parameters

    Returns TemplateResult<ResultType>

    The controller view as Template Result.

getPlayerView

  • Composes the general player view of every model, regardless of the specific model type.

    Parameters

    • playerRole: PlayerRoleFlag

      The Role of the player that loadsand looks at this module.

    Returns TemplateResult<ResultType>

    The player view as Template Result. Might be empty if the player roles don't match.

Private isViewable

  • An easy-to-read function that checks a modules PlayerRoleFlag against the PlayerRoleFlag that calls the module.

    Parameters

    • flag: PlayerRoleFlag

      The flag of the entity that wants to render this module.

    Returns boolean

    A boolean that indicates whether the given flag matches the internal one.

Private outputRowFactory

  • outputRowFactory(aggSubId: string, outputList?: OutputModel[]): TemplateResult<ResultType>[]
  • An aggregation subscription can have multiple outputs. This function composes the view for them.

    Parameters

    • aggSubId: string

      The aggregation subscription Id the outputs here are rendered for.

    • Optional outputList: OutputModel[]

      A list of outputs that are bound to the aggregation subscription.

    Returns TemplateResult<ResultType>[]

    A list of TemplateResults that all hold a nested div structure.

Generated using TypeDoc