Module: Scissor

Defined in:
lib/scissor.rb,
lib/scissor/chunk.rb,
lib/scissor/writer.rb,
lib/scissor/fragment.rb,
lib/scissor/loggable.rb,
lib/scissor/sequence.rb,
lib/scissor/sound_file.rb

Defined Under Namespace

Modules: Loggable Classes: Chunk, Fragment, Sequence, SoundFile, Writer

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.loggerObject

Returns the value of attribute logger.



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

def logger
  @logger
end

Class Method Details

.join(scissor_array) ⇒ Object



37
38
39
40
41
# File 'lib/scissor.rb', line 37

def join(scissor_array)
  scissor_array.inject(Scissor()) do |m, scissor|
    m + scissor
  end
end

.mix(scissor_array, filename, options = {}) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
# File 'lib/scissor.rb', line 43

def mix(scissor_array, filename, options = {})
  writer = Scissor::Writer.new

  scissor_array.each do |scissor|
    writer.add_track(scissor.fragments)
  end

  writer.to_file(filename, options)

  Scissor(filename)
end

.sequence(*args) ⇒ Object



33
34
35
# File 'lib/scissor.rb', line 33

def sequence(*args)
  Scissor::Sequence.new(*args)
end

.silence(duration) ⇒ Object



27
28
29
30
31
# File 'lib/scissor.rb', line 27

def silence(duration)
  Scissor(File.dirname(__FILE__) + '/../data/silence.mp3').
    slice(0, 1).
    fill(duration)
end

Instance Method Details

#loggerObject



22
23
24
# File 'lib/scissor.rb', line 22

def logger
  self.class.logger
end