QTfrontend/util/LibavInteraction.h
author Marco Bresciani
Fri, 12 Jul 2013 11:57:31 +0200
changeset 9355 48549227aa2b
parent 9080 9b42757d7e71
child 9429 7a97a554ac80
permissions -rw-r--r--
Many modifications (these files seems written by a non Italian): 1. some (not all, yet) of the typos! 2. Italian grammar is different from English: there are no "Titles Like This" but "Titles like this" if there are no proper nouns. 3. Let's use actual Italian words not "Engrish" or jargon. For example, "chatta" to say "to chat" is not correct even if widely used! 4. I'd use the Italian "Morte improvvisa" instead of English "Sudden Death"; what to do you think?

/*
 * Hedgewars, a free turn based strategy game
 * Copyright (c) 2004-2013 Andrey Korotaev <unC0Rr@gmail.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 2 of the License
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 */

#ifndef LIBAV_ITERACTION
#define LIBAV_ITERACTION

#include <QComboBox>

/**
 * @brief Class for interacting with ffmpeg/libav libraries
 *
 * @see <a href="http://en.wikipedia.org/wiki/Singleton_pattern">singleton pattern</a>
 */
class LibavInteraction : public QObject
{
    Q_OBJECT;

    LibavInteraction();

public:

    static LibavInteraction & instance();

    // fill combo box with known file formats
    void fillFormats(QComboBox * pFormats);

    // fill combo boxes with known codecs for given formats
    void fillCodecs(const QString & format, QComboBox * pVCodecs, QComboBox * pACodecs);

    QString getExtension(const QString & format);

    // get information about file (duration, resolution etc) in multiline string
    QString getFileInfo(const QString & filepath);
};

#endif // LIBAV_ITERACTION