Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Agenda ¶
type Agenda struct { // Title is the title of the performance Title string `json:"title" yaml:"title"` // Formats defines the set of audio file formats to be supported. This is optional and if not specified, "webm" will be assumed. Formats []string `json:"formats" yaml:"formats"` // Cues describe specific points in time in a performance Cues []*Cue `json:"cues" yaml:"cues"` // Rooms describe virtual rooms in which audio may be played Rooms []*Room `json:"rooms" yaml:"rooms"` // Announcements describe broadcast messages which will be played across any // number of rooms Announcements []*Announcement `json:"announcements" yaml:"announcements"` // PerformanceURL is the URL to which clients should be redirected when the // performance is about to start. Generally, it will be of the form: // `https://yourserver.com/live`, as `live` is the path at which Audimance's // live interface may be found. // // This setting is optional but recommended. PerformanceURL string `json:"performanceURL" yaml:"performanceURL"` // MediaBaseURL string `json:"mediaBaseURL" yaml:"mediaBaseURL"` // The default is simply `/media/`, but this can be set to whatever roomTracks // URL your media should be sourced from. MediaBaseURL string `json:"mediaBaseURL" yaml:"mediaBaseURL"` // RemoteMedia indicates that the media files are not stored on the same // server, and so not validation should be performed, and no modifications // of the prefix be made. This is not recommended. RemoteMedia bool `json:"remoteMedia" yaml:"remoteMedia"` }
Agenda describes the order of service and details of a performance
type Announcement ¶
type Announcement struct { Track `json:"track" yaml:"track"` // Name is the unique, human-friendly name for this announcement Name string `json:"name" yaml:"name"` // ExcludeRooms is the list of room names in which this announcement should // NOT be played ExcludeRooms []string `json:"excludeRooms" yaml:"excludeRooms"` }
Announcement is a set of audio tracks to be played to many rooms at a given cue
type Cue ¶
type Cue struct { // ID is the generated unique identifier ID string `json:"id" yaml:"-"` // Name is the unique, human-friendly name for this cue Name string `json:"name" yaml:"name"` // Notes is a free-form notes field. // This is optional and only displayed in the administrative console. Notes string `json:"notes" yaml:"notes"` // QLabID is the unique identifier for this cue in QLab (informational only; // not used by Audimance) QLabID string `json:"qlabID" yaml:"qlabID"` // Data is the expected data to be received on the QLab port to indicate // when this cue should be fired Data string `json:"data" yaml:"data"` // PerformanceRedirect indicates that when this cue is received, clients // should be transferred to the live PerformanceURL PerformanceRedirect bool `json:"performanceRedirect" yaml:"performanceRedirect"` // ReferenceSeconds is a reference count of the number of seconds the cue // should last before the next one. This is informational only and will be // displayed in the administrative control panel if supplied. ReferenceSeconds int64 `json:"referenceSeconds" yaml:"referenceSeconds"` }
Cue describes a specific point in time, with respect to the performance timeline
func (*Cue) FormattedReferenceTime ¶
FormattedReferenceTime returns the human-readable format of the cue's ReferenceSeconds, if there is one
type Dimensions ¶ added in v0.5.0
type Dimensions struct { // Width is the left-to-right dimension. Width float64 `json:"width" yaml:"width"` // Height is the up-to-down dimension (the height of a room). Height float64 `json:"height" yaml:"height"` // Depth is the forward-to-backward dimension. Depth float64 `json:"depth" yaml:"depth"` }
Dimensions describe the dimensions of a space.
type Point ¶
type Point struct { X float64 `json:"x" yaml:"x"` Y float64 `json:"y" yaml:"y"` Z float64 `json:"z" yaml:"z"` }
Point is a 3-dimensional point in space
type Room ¶
type Room struct { // ID is the generated unique identifier ID string `json:"id" yaml:"-"` // Name is the unique, human-friendly name for this room Name string `json:"name" yaml:"name"` // LabelText indicates the textual label to be displayed in the menu for // users to select this room LabelText string `json:"labelText" yaml:"labelText"` // Sources describes the set of locations and audio files which will be // played. Sources []*Source `json:"sources" yaml:"sources"` // RoomTracks is a list of audio tracks to be played in a room, sourced from // everywhere. This is generally exclusive with Sources. RoomTracks []*Track `json:"roomTracks" yaml:"roomTracks"` // Surfaces describes the surfaces of the room. // Valid surface types are: 'brick-bare', 'curtain-heavy', 'marble', 'glass-thin', 'grass', and 'transparent' // The default is that every surface is 'grass'. Surfaces Surfaces `json:"surfaces" yaml:"surfaces"` // Dimensions describes the dimensions of the room, in meters. // The default is 100x100x100. Dimensions Dimensions `json:"dimensions" yaml:"dimensions"` }
Room describes a virtual room in which audio may be played
type Source ¶
type Source struct { // ID is the generated unique identifier ID string `json:"id" yaml:"-"` // Name is the unique, human-friendly name for this source Name string `json:"name" yaml:"name"` // Location indicates a specific 3-dimensional coordinate in the room from // which the audio of this source emanates Location Point `json:"location" yaml:"location"` // Tracks is the list of audio tracks which should be played upon reaching a // particular cue Tracks []*Track `json:"tracks" yaml:"tracks"` }
Source describes a unique audio sequence and location
type Surfaces ¶ added in v0.5.0
type Surfaces struct { Left string `json:"left" yaml:"left"` Right string `json:"right" yaml:"right"` Front string `json:"front" yaml:"front"` Back string `json:"back" yaml:"back"` Down string `json:"down" yaml:"down"` Up string `json:"up" yaml:"up"` }
Surfaces describe the surface material of a room. Valid surface types are: 'brick-bare', 'curtain-heavy', 'marble', 'glass-thin', 'grass', and 'transparent' The default is that every surface is 'grass'.
type Track ¶
type Track struct { // ID is the generated unique identifier ID string `json:"id" yaml:"-"` // LoadCue indicates the cue at which the track should be loaded. This will generally be the cue immediately preceding the Cue LoadCue string `json:"loadCue" yaml:"loadCue"` // LoadWindow indicates the amount of time (in seconds) to allow for the // random loading of the audio. Tracks are loaded at random times between // LoadCue's trigger and LoadWindow's duration therefrom to prevent a // thundering herd. LoadWindow float64 `json:"loadWindow" yaml:"loadWindow"` // Cue is the unique identifier of the cue at which this track should be // played Cue string `json:"cue" yaml:"cue"` // KillCue indicates the cue at which the track should be killed whether it has finished or not KillCue string `json:"killCue" yaml:"killCue"` // AudioFilePrefix is the path/name prefix of the audio file locations, // relative to the mediaBaseURL. The file extension will // be calculated based on the supplied format list of the agenda. AudioFilePrefix string `json:"audioFilePrefix" yaml:"audioFilePrefix"` // AudioFiles is the user-supplied location of the audio file, relative to // the filesystem `media/` directory. Generally, this will be populated // automatically by the combination of AudioFilePrefix and the top-level // Formats list. AudioFiles []string `json:"audioFiles" yaml:"audioFiles"` // Repeat indicates whether the PlaySet should be repeated after it is // completed. This will cause the PlaySet to be continually played. Repeat bool `json:"repeat" yaml:"repeat"` }
Track represents a single set of potentially-cued audio files