summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/encoders.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/encoders.cpp')
-rw-r--r--rbutil/rbutilqt/encoders.cpp49
1 files changed, 24 insertions, 25 deletions
diff --git a/rbutil/rbutilqt/encoders.cpp b/rbutil/rbutilqt/encoders.cpp
index 1399ddff75..bb5474ce4d 100644
--- a/rbutil/rbutilqt/encoders.cpp
+++ b/rbutil/rbutilqt/encoders.cpp
@@ -26,56 +26,55 @@
26 26
27static QMap<QString,QString> encoderList; 27static QMap<QString,QString> encoderList;
28static QMap<QString,EncBase*> encoderCache; 28static QMap<QString,EncBase*> encoderCache;
29 29
30void initEncoderList() 30
31// initialize list of encoders
32void initEncodernamesList()
31{ 33{
32 encoderList["rbspeex"] = "Rockbox Speex Encoder"; 34 encoderList["rbspeex"] = "Rockbox Speex Encoder";
33 encoderList["lame"] = "Lame Mp3 Encoder"; 35 encoderList["lame"] = "Lame Mp3 Encoder";
34} 36}
35 37
36// function to get a specific encoder 38
37EncBase* getEncoder(QString encname) 39// get nice name for a specific encoder
40QString getEncoderName(QString encoder)
41{
42 if(encoderList.isEmpty())
43 initEncodernamesList();
44 return encoderList.value(encoder);
45}
46
47
48// get a specific encoder object
49EncBase* getEncoder(QString encoder)
38{ 50{
39 // init list if its empty
40 if(encoderList.count() == 0) initEncoderList();
41
42 QString encoder = encoderList.key(encname);
43
44 // check cache 51 // check cache
45 if(encoderCache.contains(encoder)) 52 if(encoderCache.contains(encoder))
46 return encoderCache.value(encoder); 53 return encoderCache.value(encoder);
47 54
48 EncBase* enc; 55 EncBase* enc;
49 if(encoder == "rbspeex") 56 if(encoder == "rbspeex")
50 { 57 {
51 enc = new EncRbSpeex(); 58 enc = new EncRbSpeex();
52 encoderCache[encoder] = enc; 59 encoderCache[encoder] = enc;
53 return enc; 60 return enc;
54 } 61 }
55 else if(encoder == "lame") 62 else if(encoder == "lame")
56 { 63 {
57 enc = new EncExes(encoder); 64 enc = new EncExes(encoder);
58 encoderCache[encoder] = enc; 65 encoderCache[encoder] = enc;
59 return enc; 66 return enc;
60 } 67 }
61 else 68 else
62 return NULL; 69 return NULL;
63} 70}
64 71
65// get the list of encoders, nice names 72
66QStringList getEncoderList() 73QStringList getEncoderList()
67{ 74{
68 // init list if its empty 75 if(encoderList.isEmpty())
69 if(encoderList.count() == 0) initEncoderList(); 76 initEncodernamesList();
70 77 return encoderList.keys();
71 QStringList encList;
72 QMapIterator<QString, QString> i(encoderList);
73 while (i.hasNext()) {
74 i.next();
75 encList << i.value();
76 }
77
78 return encList;
79} 78}
80 79
81 80