Class: Qcmd::QLab::Cue

Inherits:
Object
  • Object
show all
Defined in:
lib/qcmd/qlab/cue.rb

Overview

All return an array of cue dictionaries:

[
    {
        "uniqueID": string,
        "number": string
        "name": string
        "type": string
        "colorName": string
        "flagged": number
        "armed": number
    }
]
If the cue is a group, the dictionary will include an array of cue dictionaries for all children in the group:

[
    {
        "uniqueID": string,
        "number": string
        "name": string
        "type": string
        "colorName": string
        "flagged": number
        "armed": number
        "cues": [ { }, { }, { } ]
    }
]

[{\"number\":\"\",
  \"uniqueID\":\"1\",
  \"cues\":[{\"number\":\"1\",
  \"uniqueID\":\"2\",
  \"flagged\":false,
  \"type\":\"Wait\",
  \"colorName\":\"none\",
  \"name\":\"boom\",
  \"armed\":true}],
  \"flagged\":false,
  \"type\":\"Group\",
  \"colorName\":\"none\",
  \"name\":\"Main Cue List\",
  \"armed\":true}]

Constant Summary collapse

TYPES =
%w(audio mic video camera fade osc midi midi file timecode group
start stop pause load reset devamp goto target arm disarm wait
memo script cuelist)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Cue

Returns a new instance of Cue.



53
54
55
# File 'lib/qcmd/qlab/cue.rb', line 53

def initialize options={}
  self.data = options
end

Instance Attribute Details

#dataObject

Returns the value of attribute data.



51
52
53
# File 'lib/qcmd/qlab/cue.rb', line 51

def data
  @data
end

Instance Method Details

#cuesObject



81
82
83
84
85
86
87
# File 'lib/qcmd/qlab/cue.rb', line 81

def cues
  if data['cues'].nil?
    []
  else
    data['cues'].map {|c| Qcmd::QLab::Cue.new(c)}
  end
end

#has_cues?Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/qcmd/qlab/cue.rb', line 89

def has_cues?
  cues.size > 0
end

#idObject



65
66
67
# File 'lib/qcmd/qlab/cue.rb', line 65

def id
  data['uniqueID']
end

#nameObject



69
70
71
# File 'lib/qcmd/qlab/cue.rb', line 69

def name
  data['name']
end

#numberObject



73
74
75
# File 'lib/qcmd/qlab/cue.rb', line 73

def number
  data['number']
end

#syncObject



57
58
59
60
61
62
63
# File 'lib/qcmd/qlab/cue.rb', line 57

def sync
  Qcmd.debug "[Cue sync] synchronizing cue with id #{ self.id }"

  # reload cue properties from QLab
  fields = %w(uniqueID number name type colorName flagged armed cues)
  self.data = Qcmd::CueAction.evaluate("cue_id #{ self.id } valuesForKeys #{ JSON.dump(fields).inspect }")
end

#typeObject



77
78
79
# File 'lib/qcmd/qlab/cue.rb', line 77

def type
  data['type']
end