aboutsummaryrefslogtreecommitdiff
path: root/src/ui/visualmenu.h
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-04-03 16:01:08 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-04-03 16:01:08 +0000
commitc73ba11ee32863d31c187b2efeb922a36504a4c7 (patch)
tree2fced2029fc70318f84a926abe19821746d108ef /src/ui/visualmenu.h
parentc72a5c8ad82bd45c2e624f940225199dfa75ecdb (diff)
downloadqmmp-c73ba11ee32863d31c187b2efeb922a36504a4c7.tar.gz
qmmp-c73ba11ee32863d31c187b2efeb922a36504a4c7.tar.bz2
qmmp-c73ba11ee32863d31c187b2efeb922a36504a4c7.zip
sorting by track number
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@326 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/ui/visualmenu.h')
0 files changed, 0 insertions, 0 deletions
luser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> 2015-06-17 05:58:34 +0000 committer trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> 2015-06-17 05:58:34 +0000 gme: added feature to disable fadeout' href='/qmmp/commit/src/plugins/Input/gme/decodergmefactory.cpp?id=02a97be8fe21c06466e03656bedcffb0bda520a7'>02a97be8f
ae7229c38





ae7229c38




2111b8272
ae7229c38


8c9e5b470
aa3f57c02
ae7229c38



02a97be8f
ae7229c38
aa3f57c02
ae7229c38








9b80a143f
ae7229c38
ae7229c38
1bc607cb6
9b80a143f
1bc607cb6
9b80a143f




1bc607cb6





9b80a143f
1bc607cb6
9b80a143f
1bc607cb6

9b80a143f
ae7229c38


9b80a143f
ae7229c38
9b80a143f
ae7229c38

1cc4b9337
ae7229c38

b662d3c4f
b917024aa
ae7229c38



02a97be8f

ae7229c38






41c8a60a2
ae7229c38
2111b8272




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
                                                                            
                                                                            
                                                                            













                                                                            
                                                                            

                                                                             

                      
                           





                              




                                                    
                                                       


                                       
                                                                                                    
                                                                   



                                                    
                                  
                              
                                  








                                                                         
                                                                                                                            
 
                     
                      
                            
     




                                                                                





                                                                 
                                                 
                         
                                            

     
                                       


                                                           
                                    
     
                                        

 
                                                                                         

                   
                       
                   



                                                     

                                                  






                                                                                                    
                                                                         
 




                                              
/***************************************************************************
 *   Copyright (C) 2010-2020 by Ilya Kotov                                 *
 *   forkotov02@ya.ru                                                      *
 *                                                                         *
 *   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; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   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.,                                       *
 *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
 ***************************************************************************/

#include <QMessageBox>
#include <QRegExp>
#include "settingsdialog.h"
#include "gmehelper.h"
#include "decoder_gme.h"
#include "decodergmefactory.h"

// DecoderGmeFactory

bool DecoderGmeFactory::canDecode(QIODevice *) const
{
    return false;
}

DecoderProperties DecoderGmeFactory::properties() const
{
    DecoderProperties properties;
    properties.name = tr("GME Plugin");
    properties.filters << "*.ay" << "*.gbs" << "*.gym" << "*.hes" << "*.kss" << "*.nsf" << "*.nsfe";
    properties.filters << "*.sap" << "*.spc" << "*.vgm" << "*.vgz";
    properties.description = tr("Game Music Files");
    //properties.contentType = ;
    properties.shortName = "gme";
    properties.hasAbout = true;
    properties.hasSettings = true;
    properties.noInput = true;
    properties.protocols << "gme";
    return properties;
}

Decoder *DecoderGmeFactory::create(const QString &path, QIODevice *input)
{
    Q_UNUSED(input);
    return new DecoderGme(path);
}

QList<TrackInfo *> DecoderGmeFactory::createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *ignoredFiles)
{
    GmeHelper helper;
    //is it one track?
    if(path.contains("://"))
    {
        QString filePath = path;
        filePath.remove("gme://");
        filePath.remove(QRegExp("#\\d+$"));
        int track = path.section("#", -1).toInt();
        QList<TrackInfo *> list = createPlayList(filePath, parts, ignoredFiles);
        if (list.isEmpty() || track <= 0 || track > list.count())
        {
            qDeleteAll(list);
            list.clear();
            return list;
        }
        TrackInfo *info = list.takeAt(track - 1);
        qDeleteAll(list);
        return QList<TrackInfo *>() << info;
    }

    Music_Emu *emu = helper.load(path);
    if(!emu)
    {
        qWarning("DecoderGmeFactory: unable to open file");
        return QList<TrackInfo *>();
    }
    return helper.createPlayList(parts);
}

MetaDataModel* DecoderGmeFactory::createMetaDataModel(const QString &path, bool readOnly)
{
    Q_UNUSED(path);
    Q_UNUSED(readOnly);
    return nullptr;
}

void DecoderGmeFactory::showSettings(QWidget *parent)
{
   SettingsDialog *d = new SettingsDialog(parent);
   d->show();
}

void DecoderGmeFactory::showAbout(QWidget *parent)
{
    QMessageBox::about (parent, tr("About GME Audio Plugin"),
                        tr("Qmmp GME Audio Plugin")+"\n"+
                        tr("This plugin uses Game_Music_Emu library to play game music files")+"\n"+
                        tr("Written by: Ilya Kotov <forkotov02@ya.ru>"));
}

QString DecoderGmeFactory::translation() const
{
    return QLatin1String(":/gme_plugin_");
}