Package bdsup2sub.supstream

Examples of bdsup2sub.supstream.SubPicture


     * @return indexes of subpictures to be exported
     */
    private static List<Integer> getSubPicturesToBeExported() {
        List<Integer> subPicturesToBeExported = new ArrayList<Integer>();
        for (int i=0; i < subPictures.length; i++) {
            SubPicture subPicture = subPictures[i];
            if (!subPicture.isExcluded() && (!configuration.isExportForced() || subPicture.isForced())) {
                subPicturesToBeExported.add(i);
            }
        }
        return subPicturesToBeExported;
    }
View Full Code Here


     * Create info string for target subtitle.
     * @param index Index of subtitle
     * @return Info string for target subtitle
     */
    public static String getTrgInfoStr(int index) {
        SubPicture pic = subPictures[index];
        String text = "screen size: "+getTrgWidth(index)+"x"+getTrgHeight(index)+"    ";
        text +=  "image size: "+getTrgImgWidth(index)+"x"+getTrgImgHeight(index)+"    ";
        text += "pos: ("+pic.getXOffset()+","+pic.getYOffset()+") - ("+(pic.getXOffset()+getTrgImgWidth(index))+","+(pic.getYOffset()+getTrgImgHeight(index))+")    ";
        text += "start: "+ptsToTimeStr(pic.getStartTime())+"    ";
        text += "end: "+ptsToTimeStr(pic.getEndTime())+"    ";
        text += "forced: "+((pic.isForced())?"yes":"no");
        return text;
    }
View Full Code Here

     * @return Info string for source subtitle
     */
    public static String getSrcInfoStr(int index) {
        String text;

        SubPicture pic = subtitleStream.getSubPicture(index);
        text  = "screen size: "+ pic.getWidth() +"x"+ pic.getHeight() +"    ";
        text +=  "image size: "+pic.getImageWidth()+"x"+pic.getImageHeight()+"    ";
        text += "pos: ("+pic.getXOffset()+","+pic.getYOffset()+") - ("+(pic.getXOffset()+pic.getImageWidth())+","+(pic.getYOffset()+pic.getImageHeight())+")    ";
        text += "start: "+ptsToTimeStr(pic.getStartTime())+"    ";
        text += "end: "+ptsToTimeStr(pic.getEndTime())+"    ";
        text += "forced: "+((pic.isForced())?"yes":"no");
        return text;
    }
View Full Code Here

            check();
        }

        private void check() {
            if (model.isReady()) {
                SubPicture subPic = model.getSubPic();
                int x = ToolBox.getInt(view.getXTextFieldText());
                if (x < 0 || x > subPic.getWidth() - subPic.getImageWidth()) {
                    view.setXTextFieldBackground(ERROR_BACKGROUND);
                } else {
                    if (x != subPic.getXOffset() ) {
                        model.setEnableSliders(false);
                        subPic.setOfsX(x);
                        view.setHorizontalSliderValue(subPic.getXOffset());
                        view.setPreviewPanelOffsets(subPic.getXOffset(), subPic.getYOffset());
                        view.repaintPreviewPanel();
                        setEdited(true);
                        model.setEnableSliders(true);
                    }
                    view.setXTextFieldBackground(OK_BACKGROUND);
View Full Code Here

    }

    private class YTextFieldActionListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent event) {
            SubPicture subPic = model.getSubPic();
            int y = ToolBox.getInt(view.getYTextFieldText());
            if (y == -1) {
                y = subPic.getYOffset(); // invalid value -> keep old one
            } else if (y < model.getCropOffsetY()) {
                y = model.getCropOffsetY();
            } else if (y > subPic.getHeight() - subPic.getImageHeight() - model.getCropOffsetY()) {
                y = subPic.getHeight() - subPic.getImageHeight() - model.getCropOffsetY();
            }
            if (y != subPic.getYOffset()) {
                model.setEnableSliders(false);
                subPic.setOfsY(y);
                view.setVerticalSliderValue(subPic.getHeight() - subPic.getYOffset());
                view.setPreviewPanelOffsets(subPic.getXOffset(), subPic.getYOffset());
                view.repaintPreviewPanel();
                setEdited(true);
                model.setEnableSliders(true);
            }
            view.setYTextFieldText(String.valueOf(subPic.getYOffset()));
            view.setYTextFieldBackground(OK_BACKGROUND);
        }
View Full Code Here

            check();
        }

        private void check() {
            if (model.isReady()) {
                SubPicture subPic = model.getSubPic();
                int y = ToolBox.getInt(view.getYTextFieldText());
                if (y < model.getCropOffsetY() || y > subPic.getHeight() - subPic.getImageHeight() - model.getCropOffsetY()) {
                    view.setYTextFieldBackground(ERROR_BACKGROUND);
                } else {
                    if (y != subPic.getYOffset()) {
                        model.setEnableSliders(false);
                        subPic.setOfsY(y);
                        view.setVerticalSliderValue(subPic.getHeight() - subPic.getYOffset());
                        view.setPreviewPanelOffsets(subPic.getXOffset(), subPic.getYOffset());
                        view.repaintPreviewPanel();
                        setEdited(true);
                        model.setEnableSliders(true);
                    }
                    view.setYTextFieldBackground(OK_BACKGROUND);
View Full Code Here

    }

    private class CenterButtonActionListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent event) {
            SubPicture subPic = model.getSubPic();
            subPic.setOfsX((subPic.getWidth() -subPic.getImageWidth())/2);
            model.setEnableSliders(false);
            view.setHorizontalSliderValue(subPic.getXOffset());
            view.setPreviewPanelOffsets(subPic.getXOffset(), subPic.getYOffset());
            view.repaintPreviewPanel();
            view.setXTextFieldText(String.valueOf(subPic.getXOffset()));
            setEdited(true);
            model.setEnableSliders(true);
        }
View Full Code Here

    private class StartTextFieldActionListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent event) {
            if (model.isReady()) {
                model.setReady(false);
                SubPicture subPic = model.getSubPic();
                long t = SubtitleUtils.syncTimePTS(timeStrToPTS(view.getStartTextFieldText()), model.getFPSTrg(), model.getFPSTrg());
                if (t >= subPic.getEndTime()) {
                    t = subPic.getEndTime() -model.getFrameTime();
                }
                SubPicture subPicPrev = model.getSubPicPrev();
                if (subPicPrev != null && subPicPrev.getEndTime() > t) {
                    t = subPicPrev.getEndTime() +model.getFrameTime();
                }
                if (t >= 0) {
                    subPic.setStartTime(SubtitleUtils.syncTimePTS(t, model.getFPSTrg(), model.getFPSTrg()));
                    view.setDurationTextFieldText(ToolBox.formatDouble((subPic.getEndTime() - subPic.getStartTime()) / 90.0));
                    setEdited(true);
View Full Code Here

        }

        private void check() {
            if (model.isReady()) {
                model.setReady(false);
                SubPicture subPic = model.getSubPic();
                long t = SubtitleUtils.syncTimePTS(timeStrToPTS(view.getStartTextFieldText()), model.getFPSTrg(), model.getFPSTrg());
                if (t < 0 || t >= subPic.getEndTime() || model.getSubPicPrev() != null && model.getSubPicPrev().getEndTime() > t) {
                    view.setStartTextFieldBackground(ERROR_BACKGROUND);
                } else {
                    subPic.setStartTime(t);
                    view.setDurationTextFieldText(ToolBox.formatDouble((subPic.getEndTime() - subPic.getStartTime()) / 90.0));
                    if (!view.getStartTextFieldText().equalsIgnoreCase(ptsToTimeStr(subPic.getStartTime()))) {
                        view.setStartTextFieldBackground(WARN_BACKGROUND);
                    } else {
                        view.setStartTextFieldBackground(OK_BACKGROUND);
                    }
                    setEdited(true);
View Full Code Here

    private class EndTextFieldActionListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent event) {
            if (model.isReady()) {
                model.setReady(false);
                SubPicture subPic = model.getSubPic();
                long t = SubtitleUtils.syncTimePTS(timeStrToPTS(view.getEndTextFieldText()), model.getFPSTrg(), model.getFPSTrg());
                if (t <= subPic.getStartTime()) {
                    t = subPic.getStartTime() + model.getFrameTime();
                }

                SubPicture subPicNext = model.getSubPicNext();
                if (subPicNext != null && subPicNext.getStartTime() < t) {
                    t = subPicNext.getStartTime();
                }
                if (t >= 0) {
                    subPic.setEndTime(SubtitleUtils.syncTimePTS(t, model.getFPSTrg(), model.getFPSTrg()));
                    view.setDurationTextFieldText(ToolBox.formatDouble((subPic.getEndTime() - subPic.getStartTime()) / 90.0));
                    setEdited(true);
View Full Code Here

TOP

Related Classes of bdsup2sub.supstream.SubPicture

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.