001/*
002 * feinrip
003 *
004 * Copyright (C) 2014 Richard "Shred" Körber
005 *   https://github.com/shred/feinrip
006 *
007 * This program is free software: you can redistribute it and/or modify
008 * it under the terms of the GNU General Public License as
009 * published by the Free Software Foundation, either version 3 of the
010 * License, or (at your option) any later version.
011 *
012 * This program is distributed in the hope that it will be useful,
013 * but WITHOUT ANY WARRANTY; without even the implied warranty of
014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
015 */
016package org.shredzone.feinrip.model;
017
018/**
019 * A subtitle.
020 *
021 * @author Richard "Shred" Körber
022 */
023public class Subtitle {
024
025    private int index;
026    private String streamId;
027    private SubtitleFormat format;
028    private SubtitleType type;
029    private Language language;
030    private int vts;
031    private boolean enabled;
032
033    /**
034     * Subtitle index, counted from 1.
035     */
036    public int getIndex()                       { return index; }
037    public void setIndex(int index)             { this.index = index; }
038
039    /**
040     * Subtitle stream id, as hex number.
041     */
042    public String getStreamId()                 { return streamId; }
043    public void setStreamId(String streamId)    { this.streamId = streamId; }
044
045    /**
046     * Subtitle format.
047     */
048    public SubtitleFormat getFormat()           { return format; }
049    public void setFormat(SubtitleFormat format) { this.format = format; }
050
051    /**
052     * Subtitle stream type.
053     */
054    public SubtitleType getType()               { return type; }
055    public void setType(SubtitleType type)      { this.type = type; }
056
057    /**
058     * Subtitle language.
059     */
060    public Language getLanguage()               { return language; }
061    public void setLanguage(Language language)  { this.language = language; }
062
063    /**
064     * For DVD style sources: number of the corresponding VTS file.
065     */
066    public int getVts()                         { return vts; }
067    public void setVts(int vts)                 { this.vts = vts; }
068
069    /**
070     * {@code true}: subtitle will be multiplexed to the target mkv.
071     */
072    public boolean isEnabled()                  { return enabled; }
073    public void setEnabled(boolean enabled)     { this.enabled = enabled; }
074
075}