Class: Hindbaer::Region

Inherits:
Object
  • Object
show all
Defined in:
lib/hindbaer/region.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(fragment, track = nil) ⇒ Region

Returns a new instance of Region.



3
4
5
6
# File 'lib/hindbaer/region.rb', line 3

def initialize(fragment, track = nil)
  @doc = fragment
  @track = track
end

Instance Attribute Details

#trackObject (readonly)

Returns the value of attribute track.



8
9
10
# File 'lib/hindbaer/region.rb', line 8

def track
  @track
end

Instance Method Details

#dynamicsObject



51
52
53
# File 'lib/hindbaer/region.rb', line 51

def dynamics
  @doc['Dyn'].to_f || 0.0
end

#fade_inObject



35
36
37
# File 'lib/hindbaer/region.rb', line 35

def fade_in
  @doc['FadeIn']|| '00.0'
end

#fade_outObject



39
40
41
# File 'lib/hindbaer/region.rb', line 39

def fade_out
  @doc['FadeOut'] || '00.0'
end

#fadesObject



55
56
57
# File 'lib/hindbaer/region.rb', line 55

def fades
  @doc.css('Fade').map { |f| Hindbaer::Fade.new(f.dup.unlink) }
end

#gainObject



43
44
45
# File 'lib/hindbaer/region.rb', line 43

def gain
  @doc['Gain'].to_f || 0.0
end

#lengthObject



23
24
25
# File 'lib/hindbaer/region.rb', line 23

def length
  @doc['Length']
end

#leqObject



47
48
49
# File 'lib/hindbaer/region.rb', line 47

def leq
  @doc['Leq'].to_f || 0.0
end

#nameObject



15
16
17
# File 'lib/hindbaer/region.rb', line 15

def name
  @doc['Name']
end

#offsetObject



31
32
33
# File 'lib/hindbaer/region.rb', line 31

def offset
  @doc['Offset'] || '00:00'
end

#referenceObject



10
11
12
13
# File 'lib/hindbaer/region.rb', line 10

def reference
  id = @doc['Ref'].to_i
  self.track.session.audio_pool.files.find { |a| a.id == id }
end

#relative_lengthObject



27
28
29
# File 'lib/hindbaer/region.rb', line 27

def relative_length
  length / track.session.length
end

#start_timeObject



19
20
21
# File 'lib/hindbaer/region.rb', line 19

def start_time
  @doc['Start'] || '00.0'
end