class DuoSplitter::Models::Sentence

Attributes

audio_path[RW]
blank_audio_path[RW]
end_pos[R]
number[R]
section[R]
source_audio_path[RW]
start_pos[R]

Public Class Methods

new(number:, start_pos:, end_pos:, section:) click to toggle source
# File lib/duo_splitter/models/sentence.rb, line 10
def initialize(number:, start_pos:, end_pos:, section:)
  @number = number
  @start_pos = start_pos
  @end_pos = end_pos
  @section = section
end

Public Instance Methods

duration() click to toggle source
# File lib/duo_splitter/models/sentence.rb, line 17
def duration
  Float(@end_pos) - Float(@start_pos)
end
intro?() click to toggle source
# File lib/duo_splitter/models/sentence.rb, line 21
def intro?
  number.zero?
end
output_basename(ext:, prefix_section_number: true, blank: false, concatenated: false) click to toggle source
# File lib/duo_splitter/models/sentence.rb, line 25
def output_basename(ext:, prefix_section_number: true, blank: false, concatenated: false)
  basename = format('%03<number>d', number: number)
  basename = "#{basename}_blank" if blank
  basename = "#{basename}_concatenated" if concatenated
  basename = "#{basename}.#{ext}"
  basename = format('%02<section_number>d-', section_number: @section.number) + basename if prefix_section_number
  basename
end