From 5ce0c7b82ecf7358a1d0f7bd677a036a598aef66 Mon Sep 17 00:00:00 2001 From: lordmulder Date: Tue, 3 May 2011 14:28:06 +0200 Subject: [PATCH] Added an option to check for "Beta" (pre-release) updates in "Final" releases. Disabled by default, not available in "Beta" versions (Beta versions always check for Beta updates). --- doc/Changelog.html | 2 +- etc/Translation/Blank.ts | 28 ++++++ etc/Translation/LameXP_DE.ts | 28 ++++++ etc/Translation/LameXP_ES.ts | 28 ++++++ etc/Translation/LameXP_FR.ts | 28 ++++++ etc/Translation/LameXP_IT.ts | 28 ++++++ etc/Translation/LameXP_KR.ts | 28 ++++++ etc/Translation/LameXP_RU.ts | 28 ++++++ etc/Translation/LameXP_UK.ts | 28 ++++++ gui/MainWindow.ui | 11 +++ res/localization/LameXP_DE.qm | Bin 57591 -> 58623 bytes res/localization/LameXP_FR.qm | Bin 57652 -> 57718 bytes res/localization/LameXP_IT.qm | Bin 40335 -> 40395 bytes res/localization/LameXP_KR.qm | Bin 43002 -> 43052 bytes res/localization/LameXP_RU.qm | Bin 48170 -> 48232 bytes res/localization/LameXP_UK.qm | Bin 21572 -> 21636 bytes src/Config.h | 4 +- src/Dialog_MainWindow.cpp | 42 +++++++++ src/Dialog_MainWindow.h | 1 + src/Dialog_Update.cpp | 5 +- src/Dialog_Update.h | 2 + src/Model_Settings.cpp | 166 +++++++++++++++++----------------- src/Model_Settings.h | 93 +++++++++---------- 23 files changed, 417 insertions(+), 133 deletions(-) diff --git a/doc/Changelog.html b/doc/Changelog.html index e7cddae5..f885eb52 100644 --- a/doc/Changelog.html +++ b/doc/Changelog.html @@ -24,7 +24,7 @@ a:visited { color: #0000EE; }
  • Updated Qt runtime libraries to v4.7.3
  • Updated LAME encoder to v3.99.1.0 (2011-04-15), compiled with ICL 12.0.3 and MSVC 10.0 (details)
  • Updated mpg123 decoder to v1.13.3 (2011-04-21), compiled with GCC 4.6.0 -
  • Updated MediaInfo to v0.7.44 (2011-04-19), compiled with ICL 12.0.3 and MSVC 10.0 +
  • Updated MediaInfo to v0.7.45 Beta (2011-05-02), compiled with ICL 12.0.3 and MSVC 10.0
  • Updated language files (big thank-you to all contributors !!!)
  • Fixed placement of the Dropbox when the Taskbar is located on the top or on the left side
    diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts index 6a88abf7..d106bb26 100644 --- a/etc/Translation/Blank.ts +++ b/etc/Translation/Blank.ts @@ -788,6 +788,10 @@ Open Folder Recursively... + + Check for Beta Updates + + Adding file(s), please wait... @@ -1228,6 +1232,30 @@ The WMA Decoder notifications have been re-enabled. + + Beta Updates + + + + Do you really want LameXP to check for Beta (pre-release) updates? + + + + LameXP will check for Beta (pre-release) updates from now on. + + + + Check Now + + + + Discard + + + + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. + + Shell Integration diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts index 44c99cae..f3664926 100644 --- a/etc/Translation/LameXP_DE.ts +++ b/etc/Translation/LameXP_DE.ts @@ -1245,6 +1245,34 @@ Add Folder Verzeichnis hinzufügen + + Check for Beta Updates + Nach Beta-Updates suchen + + + Beta Updates + Beta Updates + + + Do you really want LameXP to check for Beta (pre-release) updates? + Möchten Sie wirklich, dass LameXP nach Beta (Entwickler) Updates sucht? + + + LameXP will check for Beta (pre-release) updates from now on. + LameXP wird fortan nach Beta (Entwickler) Updates suchen. + + + Check Now + Jetzt suchen + + + Discard + Schließen + + + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. + LameXP wird fortan <i>nicht</i> nach Beta (Entwickler) Updates suchen. + MetaInfo diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts index e49482c4..9bb127c6 100644 --- a/etc/Translation/LameXP_ES.ts +++ b/etc/Translation/LameXP_ES.ts @@ -1244,6 +1244,34 @@ Add Folder Añadir carpeta + + Check for Beta Updates + + + + Beta Updates + + + + Do you really want LameXP to check for Beta (pre-release) updates? + + + + LameXP will check for Beta (pre-release) updates from now on. + + + + Check Now + + + + Discard + + + + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. + + MetaInfo diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts index a4977c40..c89ee9d2 100644 --- a/etc/Translation/LameXP_FR.ts +++ b/etc/Translation/LameXP_FR.ts @@ -1254,6 +1254,34 @@ Ouvrir le dossier récursivement... Add Folder Ajouter un dossier + + Check for Beta Updates + + + + Beta Updates + + + + Do you really want LameXP to check for Beta (pre-release) updates? + + + + LameXP will check for Beta (pre-release) updates from now on. + + + + Check Now + + + + Discard + Abandonner + + + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. + + MetaInfo diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts index 0e0fffd9..1c2b12e6 100644 --- a/etc/Translation/LameXP_IT.ts +++ b/etc/Translation/LameXP_IT.ts @@ -1245,6 +1245,34 @@ Add Folder + + Check for Beta Updates + + + + Beta Updates + + + + Do you really want LameXP to check for Beta (pre-release) updates? + + + + LameXP will check for Beta (pre-release) updates from now on. + + + + Check Now + + + + Discard + Annulla + + + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. + + MetaInfo diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts index 570e9299..353b23e0 100644 --- a/etc/Translation/LameXP_KR.ts +++ b/etc/Translation/LameXP_KR.ts @@ -1244,6 +1244,34 @@ The LameXP shell integration has been re-enabled. LameXP 쉘 통합이 재활성화 되었습니다. + + Check for Beta Updates + + + + Beta Updates + + + + Do you really want LameXP to check for Beta (pre-release) updates? + + + + LameXP will check for Beta (pre-release) updates from now on. + + + + Check Now + + + + Discard + 닫기 + + + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. + + MetaInfo diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts index 0b82d8c2..1f189b09 100644 --- a/etc/Translation/LameXP_RU.ts +++ b/etc/Translation/LameXP_RU.ts @@ -1246,6 +1246,34 @@ Help && Support Помощиь и поддержка + + Check for Beta Updates + + + + Beta Updates + + + + Do you really want LameXP to check for Beta (pre-release) updates? + + + + LameXP will check for Beta (pre-release) updates from now on. + + + + Check Now + + + + Discard + Отменить + + + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. + + MetaInfo diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts index 754280ed..e6130c4a 100644 --- a/etc/Translation/LameXP_UK.ts +++ b/etc/Translation/LameXP_UK.ts @@ -1244,6 +1244,34 @@ Cannot write to the selected directory. Please choose another directory! + + Check for Beta Updates + + + + Beta Updates + + + + Do you really want LameXP to check for Beta (pre-release) updates? + + + + LameXP will check for Beta (pre-release) updates from now on. + + + + Check Now + + + + Discard + Відмінити + + + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. + + MetaInfo diff --git a/gui/MainWindow.ui b/gui/MainWindow.ui index c7e60806..4e8dbf16 100644 --- a/gui/MainWindow.ui +++ b/gui/MainWindow.ui @@ -2793,6 +2793,8 @@ + + @@ -3085,6 +3087,14 @@ Open Folder Recursively... + + + true + + + Check for Beta Updates + + @@ -3153,6 +3163,7 @@ + diff --git a/res/localization/LameXP_DE.qm b/res/localization/LameXP_DE.qm index 61ff58399df8d5e9860b344a4b06eab0bc2d12b3..34523e29de83a9c8437901843c9cb8cd83cc6966 100644 GIT binary patch delta 4123 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 X{x7t?{}nGyOh4u delta 3413 zcmX9=d0dV87k=)2-}k=vzW2TN8pTj5HDwo)En7sCVXS2>NtPxJBcl0n8?w`)B2toV zN)g$Il*A-Mma#9t=BJPu>kJ?J@1eiW=ld?-bIx;~^PKakTzFj~B-&bI0rUnsGy|STr8zEM@0V5tl z^5s2~Vj!*N`x%WO6^8*$&qBIz23X<=>D?m0n$s7`sQp0XJeVe)0Q_>%YOy1*KOUX~ zf&j1m7_cq{*z*(vTOJ3}1^5-a0;gQy-Fm}bH{iRux+Th)0}m0m7#gn^(av0t9cc%8;JJS zT2gpko2C6KnPZ2v3xPK6Y2$>kPfS3|B-*wF=Dra2<#~<}ZTtECdEuuo=a<6b zuIGU%6+(jeH}mxtvTSo0Mz*l^W&)5rSI8?J0PIqQ{7W5x-x>*r-+jfN86cEbUL?f= z9}4HP^vt7)aCrpdS}LlI zt`_^Z=*Eg&7yEm80cX~T0So>E_@~v`vg2Ze{SX4{E&ezs3Ap4fF1EY@`nD36t&Jqb zI-eC+6l`Pjc#3I$$AIqd>uh?2m_DHhC`lBz=PhHCWQaQ^lCyhfi@So@WF1n)Jeis7 z$q@5Pm#}NY#A8)2fWTPsWYbf?rYf=QF_Bp`Qam#(5{R88UYtVJ2)!p>8k!AsY$0Av zw#EUQ8;eyt%z*end{AUy>6eNh19)NJ0IA-~cp&VhWHX$UI@wif+*)|MFi;{Z2EhdHgNrC=E zVuObiW{v$57&1Yc^@2K=5-G(tBNBrjOR;YYs7rp*YTq*21SzGW0ej(VDfR4Y+F{a$ z6}iB+$!@oXh5)IlI*(imYkvowPkjcu)S&CPmb$npRp;kOL^D?E z{PT_gzpT^^?(Is_`&o5k(+S0>2wm_#W{}xh7ZOa!%O~i5&S&JOALz1nxdYpG>UPbd zZharEEB2`Z8v5u?JKZPrb9EJM3Hi(--G#gx92PxvmtSbe_Wrs%k0XJNqVADD1MME8 z`zz!l(C5DH?F47wKYCf|d6d?ATeeYpu`Tw?wuTa*M@PB&c(QnHeYwTvZosmaa?5(v z91Sbvj(^dSqh9vk(T*qb#LGVb154$}gGUhJGlzwX6`maPOW!}&(*eaYULa{7$K(*BlMeB%3Dsh0|u1ITO0ME zTr8D$7|MaJF>*m{dy?mOd9RtZ%X%#zeiII?@|VlowF2^@f1ke}R68N;388q#v^HUpiW-AFU^;yo>d*?^&uoW`1OrGHDxcbCQZNLPm#JfRG(f`!Tw)&K))+EmF?3@UtU2gRqC(# zvUbax= zgJ$raxEjNxOd^#u-!SDI5!_y7n7)Sr<;*lh%wb79!VC+WS?2(Da}0~Rn1O>?hBf)L zg(kz!7?N`AY(vg-W~AR?IOacmW9f_#I1nO38ltw5hb=%dAjKc$!M#*Y(r?b%SLJ2B|sNo zG^CxPb*Qs$w~Zb}Pk_10jonQQK#Di|v?=5IF~T@tH4})lF%J8@ZtR<3H3mIlL`4ma zVMf-_Lu(AX_6Mi3$@tT_mRu|L8{^C>No8+br!vrUUdHTuyx`PCQ)QY$R*nsJ~3z%~A|f^ImxY$ET@fH&`N% zTH0=$W((BvEHicFwOSdv5V(+|-gdf6Wfau=Vbldx{)1=Ge<{#XCKX_HJu>Sda?)@NYf>rA@~Dme98n~wSL`>=DS;|=F?pJ-${?N|bg zKVZ6;{onB%IxeP1kv?p@Jk#ID&vR-$Ha)fQ!p?T4Po1fFEw7oKmWEKtnwnd>wBVF0 zG`F_8b6gwEZ71-%zH7`~{7PAC#oT8Q|F_#?4!t&pjs_=ZsE*o1x8&ohqjmXj=IwET zq~Hm2l|Au^xnQoXsRUYwn*TO+0OH%5pLXUgBTt&&^s*%kp5`~Han#wa7Sr)u4)rOP zrs3SrGK(!PN8*9XnHKktghzI=jQV;uqnc(3980_lT3bT4@Qgn#Q)jf|I^yu}g9KQ`US$3Zr!d{+eIUJqI4ga>Kbmh-ve7dD9+nH^# SxQnh(J1V4cq3g_BQU3@3>iet! diff --git a/res/localization/LameXP_FR.qm b/res/localization/LameXP_FR.qm index 51728fd9ef3ac9fb2dc7e9b0fdbea8112f5cb2e2..cb94d297d6cf92eedb413ae97c0e1461c40b46ac 100644 GIT binary patch delta 2981 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 delta 3003 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 A1poj5 diff --git a/res/localization/LameXP_IT.qm b/res/localization/LameXP_IT.qm index 7e84b2d346c368e2a9c7020e3ce933b75139c6bd..2df7e9cfbda3895721df4090fd40d8c805f09a88 100644 GIT binary patch delta 2184 zcmXX{XINBc7Jg^umYI9+%oT*pQXGmPU_nrj0Co)sDn=BgNDEC^ii(ID!zdzHkm5id zO*V*FQBV>!#u^oshw>1x?wW|Q(L_zqMOR%R=$;Mx>z#7H^PTgSb4$-EThA)XER0hD zOaZLs0_;4%zXzBf3KTp9VjF?QXTdZq0Nhi-oMnJ95rdd89!!Tb;NbNl-e6<$gI+_iiaEdqP#$7zpI>s`~4mz}70&cl~ChcDJgzqZ1gH zrE05I17=pL8w;rH++;?PmQDX#GVGsq9x&X@7+{t=Go<$mV09Psk)I#cv1Ar~whl&& z8usT06un~7Z9;&_zRZf8a=_%pY?R*uPTow>4(i`9liAX+4@mN0b_SgT9Hc=^N@n)g z6_MH{%z?N)z^AL3BQfL>s}`n?r$*OoX6hTs1q+Wb=el1|!!mQ(p4^aphq?M&dm<3( z%rwoX3qB5DI+MxI{)d>`rUGE;d*&S9+a|ijp1tY2mQsU23X`eI1m0x{$s6m%yYBV{77gde|K0+~-u%P>1+Z)zA9o`Q zaLeRZef$YUX$ilooK$hI;8!d2fO#=|`BoBTW+Y#c>qK@g=D(azGzh8r{NBGzBfc6; z1B^bRfdB4o8W7&bH;<*Pt;*-`JtlTNp734YlXku`|7*-1V5|k-E7B=$p4!Qh+W4!p z+Gp`l(yUVLYkLW>c%hzNeStE3OdaygE8xSQOc|`+_l~;2j;v#rq%Iw}OkCemS5|xt zMA@o${ga^xnW>M&R+3e_)y=Jh%yo5Fur+PGV$*q6Zw%GU&Y)ixx@tbDS_{PN)+Dzz z6QSvv)MHdN+f$RCL!(;%O_T4VqrK*?Ik=Vt@w%g_?Iq&bg_?80DMU@ZrsIzUQgou` zc3KJGGoZPfM*eiZqIqIRGcDPo8JKMVc7zLTetraTXod8DV2)kow0lS_QYGd~iIRirNP9iDnv~cXy zJ78^xa3QFQ>Xivi95uYXMd+{z2DI0NTaUYesSkwvWwhd)V}xIV@+s0`R>I5CG%QYPmYkvr&`iv{^rubU0;ya-%53_{eX?B zrhB~J_pbD2lO-@+(5i1z*^hd)){ed8j6+(F)=VJff;MjF4O)3WYU95m-i)WT*(D@o z`YO{HwchQh_L_m@^Rd%D$(%v&Nhj@dnNAJM)7cfq1EV+U+#Fr0>OND3+Qs;@Ehg!tw)!AJS7m;j0ve~=U$B@oIHBvd$s-r_>7M>VTkV5W zx*n}3dA?frb~2eL#YwhLTTknvT6R2L0+hSUVft*kElOS-*+nK%%kg{YJLbwM86(ML zTlUJS;Z5Y0?edy(HwsIkT;M1& delta 2143 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 delta 2668 zcmXYzdt6QV8pfZ!_PXq~_Fj7_IZaZLl9Ky1sf;LPgiwT(+-j0bHPJ6YOVGAz3=mU-}l{5-ZMq-nKTQ-5&&L6 zmnwjB2NL&EoB({+222VBa)N-_)j-S!VCf`4{;@r-$pZT;3k=n?$F<$T);a6EvE|Vg<023ORoRN`$LmpFT{0JmHXG(0X$Sxn|9})KSeFf9xxDYV=PkY>8 z#Wed*23$gZW!jcdHKP}(H4j^X-DYZ~4_%bIPi-Clg{mu1J9MYGv&FQHu``6JLte_j z-?mchO~u?*Z)aany2LB%`Y{d@XND8}A`2e`qvRigi zx%Q51a@hf*@J}|=?=;{P+aBWwu=&MXh_)B(!7zeh=T!D^C{b$T#uf`^Fd%IQTT;D= zxX)lu-+xUBRI^oG3CH#M?73%`fdz@|`AKxaye;gN`P66MRj@ZqNkm%{`?x{`998U> zAo_mfX0F4VR3Kmt*D){+*uR;xa#{^o-Q*lr5v3}I>v5+NnD{g2^zH)CRpfdOuQdRp zrgN^ruZVvm=kf6@U^$ALm+%KLYy!9RH8uRI94?^;RW|emI0G_Y8g3J4X_y(?MD-DL6WUg}XRkC(4SH0*LU_>%k z=Vn+#{Zq%?Dj7+c#&L~%sp5Sm?!NaDV#1SaE+O=m)Nx;?ECsU8@Jd}a5mm$6E2NOO z$oFKaUshk_2NcmH>U*8{Hm5|s_uxnGq=B%02JdG}$`}H9|KgKC@*aM?mjf`~fe+bD z7J5$RXZJYfNH09*!)KFph2H#z63VbZ;d2i60X7%#hnG?#PgYFhIZHz_|9kOmBHW9= z_F6?K=JEHQ#QjG>$D%^YW)wU#|;Y)Bznj||jYT2=x?QK=SUQUydew3ERBTd#HEU@dKX7{6uG`}k~H5W4g z=7Q#?59z&Vs;0reGmVO9lPuU7oW*gA=xJ0JaZWa+wW3g*e~HT7+$csKq0>_`#po3z zlC2;n4%GvHzaefbp_nd<1#1Wb?>Ok!r2|0qtMX z^(XgfIX{!??X3W}by8y*?TtQ5rAK~=q*$BOvWMED`)cWpD=D|xSu1A#Mh4roNAtVd z0TnN458lwa%XBeg)Ox#8-;Z6V^)*uBk#5>aoiFPE(^_rl%WNR~uBlw(RADTl|+E(`fnp^KpHln3-yv}wO zQI#5?>&B3Z<7#wHpB~b$g%F*e@hMHa)jI!>{zPM?X_ja?$yOH_lnRuT>Vm$S-MNb{ zwvjSfJLUgzuP&h%X=?1P`=R(HO$2LQmc?{pH%V8JwTp7I(H&Y)3iN)aD}FniDhM*2 z6YUI3bniBGqPF*uHFb3A^b2xl`&Md5E4kmr7_vN5c1ycXU@w!yGAYO2adP-x5-xL| z9GgmxCw(txOeRF^Y~?)y8N)x6^UTSBz&-LmZ7YE>Kgn12|C{Dr5BX_~H=$T6zbL;< z1F~FhQRsYAgk&bh=$-9*(*8;}#Y;{GZ+)T-jplDG^_wP=g?f!XKPi~3_)~x1dOZ+U zu5W%+OV1bSU&y4+vS@wFkZMw`Q2)V`*jxWu{~;rZdY)J0@*>KtK#9ZZ{V$ diff --git a/res/localization/LameXP_UK.qm b/res/localization/LameXP_UK.qm index 253558dcdc8cb4ed8bab32763b04c91e39bf54da..e9d8d5c82067f867a14b45646472dd3f341aaad9 100644 GIT binary patch delta 1475 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 diff --git a/src/Config.h b/src/Config.h index 1cacb928..228292da 100644 --- a/src/Config.h +++ b/src/Config.h @@ -29,8 +29,8 @@ #define VER_LAMEXP_MINOR_HI 0 #define VER_LAMEXP_MINOR_LO 2 #define VER_LAMEXP_TYPE Alpha -#define VER_LAMEXP_PATCH 8 -#define VER_LAMEXP_BUILD 474 +#define VER_LAMEXP_PATCH 10 +#define VER_LAMEXP_BUILD 476 /////////////////////////////////////////////////////////////////////////////// // Tools versions diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp index 35879884..0a8c4cdc 100644 --- a/src/Dialog_MainWindow.cpp +++ b/src/Dialog_MainWindow.cpp @@ -319,6 +319,8 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S actionDisableWmaDecoderNotifications->setChecked(!m_settings->wmaDecoderNotificationsEnabled()); actionDisableShellIntegration->setChecked(!m_settings->shellIntegrationEnabled()); actionDisableShellIntegration->setDisabled(lamexp_portable_mode() && actionDisableShellIntegration->isChecked()); + actionCheckForBetaUpdates->setChecked(m_settings->autoUpdateCheckBeta() || lamexp_version_demo()); + actionCheckForBetaUpdates->setEnabled(!lamexp_version_demo()); connect(actionDisableUpdateReminder, SIGNAL(triggered(bool)), this, SLOT(disableUpdateReminderActionTriggered(bool))); connect(actionDisableSounds, SIGNAL(triggered(bool)), this, SLOT(disableSoundsActionTriggered(bool))); connect(actionInstallWMADecoder, SIGNAL(triggered(bool)), this, SLOT(installWMADecoderActionTriggered(bool))); @@ -326,6 +328,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S connect(actionDisableWmaDecoderNotifications, SIGNAL(triggered(bool)), this, SLOT(disableWmaDecoderNotificationsActionTriggered(bool))); connect(actionDisableShellIntegration, SIGNAL(triggered(bool)), this, SLOT(disableShellIntegrationActionTriggered(bool))); connect(actionShowDropBoxWidget, SIGNAL(triggered(bool)), this, SLOT(showDropBoxWidgetActionTriggered(bool))); + connect(actionCheckForBetaUpdates, SIGNAL(triggered(bool)), this, SLOT(checkForBetaUpdatesActionTriggered(bool))); //Activate help menu actions actionVisitHomepage->setData(QString::fromLatin1(lamexp_website_url())); @@ -2474,6 +2477,45 @@ void MainWindow::showDropBoxWidgetActionTriggered(bool checked) FLASH_WINDOW(m_dropBox); } +/* + * Check for beta (pre-release) updates + */ +void MainWindow::checkForBetaUpdatesActionTriggered(bool checked) +{ + bool checkUpdatesNow = false; + + if(checked) + { + if(0 == QMessageBox::question(this, tr("Beta Updates"), tr("Do you really want LameXP to check for Beta (pre-release) updates?"), tr("Yes"), tr("No"), QString(), 1)) + { + if(0 == QMessageBox::information(this, tr("Beta Updates"), tr("LameXP will check for Beta (pre-release) updates from now on."), tr("Check Now"), tr("Discard"))) + { + checkUpdatesNow = true; + } + m_settings->autoUpdateCheckBeta(true); + } + else + { + m_settings->autoUpdateCheckBeta(false); + } + } + else + { + QMessageBox::information(this, tr("Beta Updates"), tr("LameXP will not check for Beta (pre-release) updates from now on.")); + m_settings->autoUpdateCheckBeta(false); + } + + actionCheckForBetaUpdates->setChecked(m_settings->autoUpdateCheckBeta()); + + if(checkUpdatesNow) + { + if(checkForUpdates()) + { + QApplication::quit(); + } + } +} + /* * Disable shell integration action */ diff --git a/src/Dialog_MainWindow.h b/src/Dialog_MainWindow.h index 8638f7b4..e67db214 100644 --- a/src/Dialog_MainWindow.h +++ b/src/Dialog_MainWindow.h @@ -117,6 +117,7 @@ private slots: void disableNeroAacNotificationsActionTriggered(bool checked); void disableWmaDecoderNotificationsActionTriggered(bool checked); void showDropBoxWidgetActionTriggered(bool checked); + void checkForBetaUpdatesActionTriggered(bool checked); void disableShellIntegrationActionTriggered(bool); protected: diff --git a/src/Dialog_Update.cpp b/src/Dialog_Update.cpp index 4acc2646..135d5f2b 100644 --- a/src/Dialog_Update.cpp +++ b/src/Dialog_Update.cpp @@ -123,6 +123,7 @@ UpdateDialog::UpdateDialog(SettingsModel *settings, QWidget *parent) m_updateInfo(NULL), m_settings(settings), m_logFile(new QStringList()), + m_betaUpdates(settings ? (settings->autoUpdateCheckBeta() || lamexp_version_demo()) : lamexp_version_demo()), m_success(false), m_updateReadyToInstall(false) { @@ -409,10 +410,10 @@ bool UpdateDialog::tryUpdateMirror(UpdateInfo *updateInfo, const QString &url) QString outFileSignature = QString("%1/%2.sig").arg(lamexp_temp_folder2(), randPart); m_logFile->append(QStringList() << "" << "Downloading update info:"); - bool ok1 = getFile(QString("%1%2").arg(url, mirror_url_postfix[lamexp_version_demo() ? 1 : 0]), outFileVersionInfo); + bool ok1 = getFile(QString("%1%2").arg(url, mirror_url_postfix[m_betaUpdates ? 1 : 0]), outFileVersionInfo); m_logFile->append(QStringList() << "" << "Downloading signature:"); - bool ok2 = getFile(QString("%1%2.sig").arg(url, mirror_url_postfix[lamexp_version_demo() ? 1 : 0]), outFileSignature); + bool ok2 = getFile(QString("%1%2.sig").arg(url, mirror_url_postfix[m_betaUpdates ? 1 : 0]), outFileSignature); if(ok1 && ok2) { diff --git a/src/Dialog_Update.h b/src/Dialog_Update.h index 8c280c5e..df36e5eb 100644 --- a/src/Dialog_Update.h +++ b/src/Dialog_Update.h @@ -53,6 +53,8 @@ protected: void closeEvent(QCloseEvent *event); void keyPressEvent(QKeyEvent *e); + const bool m_betaUpdates; + private: bool tryUpdateMirror(UpdateInfo *updateInfo, const QString &url); bool getFile(const QString &url, const QString &outFile); diff --git a/src/Model_Settings.cpp b/src/Model_Settings.cpp index dbbbb72b..7358c1bc 100644 --- a/src/Model_Settings.cpp +++ b/src/Model_Settings.cpp @@ -38,27 +38,27 @@ //Macros //////////////////////////////////////////////////////////// -#define MAKE_OPTION1(OPT,DEF) \ +#define LAMEXP_MAKE_OPTION_I(OPT,DEF) \ int SettingsModel::OPT(void) { return m_settings->value(g_settingsId_##OPT, DEF).toInt(); } \ void SettingsModel::OPT(int value) { m_settings->setValue(g_settingsId_##OPT, value); } \ int SettingsModel::OPT##Default(void) { return DEF; } -#define MAKE_OPTION2(OPT,DEF) \ +#define LAMEXP_MAKE_OPTION_S(OPT,DEF) \ QString SettingsModel::OPT(void) { return m_settings->value(g_settingsId_##OPT, DEF).toString().trimmed(); } \ void SettingsModel::OPT(const QString &value) { m_settings->setValue(g_settingsId_##OPT, value); } \ QString SettingsModel::OPT##Default(void) { return DEF; } -#define MAKE_OPTION3(OPT,DEF) \ +#define LAMEXP_MAKE_OPTION_B(OPT,DEF) \ bool SettingsModel::OPT(void) { return m_settings->value(g_settingsId_##OPT, DEF).toBool(); } \ void SettingsModel::OPT(bool value) { m_settings->setValue(g_settingsId_##OPT, value); } \ bool SettingsModel::OPT##Default(void) { return DEF; } -#define MAKE_OPTION4(OPT,DEF) \ +#define LAMEXP_MAKE_OPTION_U(OPT,DEF) \ unsigned int SettingsModel::OPT(void) { return m_settings->value(g_settingsId_##OPT, DEF).toUInt(); } \ void SettingsModel::OPT(unsigned int value) { m_settings->setValue(g_settingsId_##OPT, value); } \ unsigned int SettingsModel::OPT##Default(void) { return DEF; } -#define MAKE_ID(DEC,STR) static const char *g_settingsId_##DEC = STR +#define LAMEXP_MAKE_ID(DEC,STR) static const char *g_settingsId_##DEC = STR #define REMOVE_GROUP(OBJ,ID) OBJ->beginGroup(ID); OBJ->remove(""); OBJ->endGroup(); //////////////////////////////////////////////////////////// @@ -66,45 +66,46 @@ unsigned int SettingsModel::OPT##Default(void) { return DEF; } //////////////////////////////////////////////////////////// //Setting ID's -MAKE_ID(versionNumber, "VersionNumber"); -MAKE_ID(licenseAccepted, "LicenseAccepted"); -MAKE_ID(interfaceStyle, "InterfaceStyle"); -MAKE_ID(compressionEncoder, "Compression/Encoder"); -MAKE_ID(compressionRCMode, "Compression/RCMode"); -MAKE_ID(compressionBitrate, "Compression/Bitrate"); -MAKE_ID(outputDir, "OutputDirectory/SelectedPath"); -MAKE_ID(outputToSourceDir, "OutputDirectory/OutputToSourceFolder"); -MAKE_ID(prependRelativeSourcePath, "OutputDirectory/PrependRelativeSourcePath"); -MAKE_ID(writeMetaTags, "Flags/WriteMetaTags"); -MAKE_ID(createPlaylist, "Flags/AutoCreatePlaylist"); -MAKE_ID(autoUpdateLastCheck, "AutoUpdate/LastCheck"); -MAKE_ID(autoUpdateEnabled, "AutoUpdate/Enabled"); -MAKE_ID(soundsEnabled, "Flags/EnableSounds"); -MAKE_ID(neroAacNotificationsEnabled, "Flags/EnableNeroAacNotifications"); -MAKE_ID(wmaDecoderNotificationsEnabled, "Flags/EnableWmaDecoderNotifications"); -MAKE_ID(dropBoxWidgetEnabled, "Flags/EnableDropBoxWidget"); -MAKE_ID(shellIntegrationEnabled, "Flags/EnableShellIntegration"); -MAKE_ID(currentLanguage, "Localization/Language"); -MAKE_ID(lameAlgoQuality, "AdvancedOptions/LAME/AlgorithmQuality"); -MAKE_ID(lameChannelMode, "AdvancedOptions/LAME/ChannelMode"); -MAKE_ID(bitrateManagementEnabled, "AdvancedOptions/BitrateManagement/Enabled"); -MAKE_ID(bitrateManagementMinRate, "AdvancedOptions/BitrateManagement/MinRate"); -MAKE_ID(bitrateManagementMaxRate, "AdvancedOptions/BitrateManagement/MaxRate"); -MAKE_ID(samplingRate, "AdvancedOptions/Common/Resampling"); -MAKE_ID(neroAACEnable2Pass, "AdvancedOptions/NeroAAC/Enable2Pass"); -MAKE_ID(neroAACProfile, "AdvancedOptions/NeroAAC/ForceProfile"); -MAKE_ID(normalizationFilterEnabled, "AdvancedOptions/VolumeNormalization/Enabled"); -MAKE_ID(normalizationFilterMaxVolume, "AdvancedOptions/VolumeNormalization/MaxVolume"); -MAKE_ID(toneAdjustBass, "AdvancedOptions/ToneAdjustment/Bass"); -MAKE_ID(toneAdjustTreble, "AdvancedOptions/ToneAdjustment/Treble"); -MAKE_ID(customParametersLAME, "AdvancedOptions/CustomParameters/LAME"); -MAKE_ID(customParametersOggEnc, "AdvancedOptions/CustomParameters/OggEnc"); -MAKE_ID(customParametersNeroAAC, "AdvancedOptions/CustomParameters/NeroAAC"); -MAKE_ID(customParametersFLAC, "AdvancedOptions/CustomParameters/FLAC"); -MAKE_ID(metaInfoPosition, "MetaInformation/PlaylistPosition"); -MAKE_ID(maximumInstances, "AdvancedOptions/Threading/MaximumInstances"); -MAKE_ID(customTempPath, "AdvancedOptions/TempDirectory/CustomPath"); -MAKE_ID(customTempPathEnabled, "AdvancedOptions/TempDirectory/UseCustomPath"); +LAMEXP_MAKE_ID(versionNumber, "VersionNumber"); +LAMEXP_MAKE_ID(licenseAccepted, "LicenseAccepted"); +LAMEXP_MAKE_ID(interfaceStyle, "InterfaceStyle"); +LAMEXP_MAKE_ID(compressionEncoder, "Compression/Encoder"); +LAMEXP_MAKE_ID(compressionRCMode, "Compression/RCMode"); +LAMEXP_MAKE_ID(compressionBitrate, "Compression/Bitrate"); +LAMEXP_MAKE_ID(outputDir, "OutputDirectory/SelectedPath"); +LAMEXP_MAKE_ID(outputToSourceDir, "OutputDirectory/OutputToSourceFolder"); +LAMEXP_MAKE_ID(prependRelativeSourcePath, "OutputDirectory/PrependRelativeSourcePath"); +LAMEXP_MAKE_ID(writeMetaTags, "Flags/WriteMetaTags"); +LAMEXP_MAKE_ID(createPlaylist, "Flags/AutoCreatePlaylist"); +LAMEXP_MAKE_ID(autoUpdateLastCheck, "AutoUpdate/LastCheck"); +LAMEXP_MAKE_ID(autoUpdateEnabled, "AutoUpdate/Enabled"); +LAMEXP_MAKE_ID(autoUpdateCheckBeta, "AutoUpdate/CheckForBetaVersions"); +LAMEXP_MAKE_ID(soundsEnabled, "Flags/EnableSounds"); +LAMEXP_MAKE_ID(neroAacNotificationsEnabled, "Flags/EnableNeroAacNotifications"); +LAMEXP_MAKE_ID(wmaDecoderNotificationsEnabled, "Flags/EnableWmaDecoderNotifications"); +LAMEXP_MAKE_ID(dropBoxWidgetEnabled, "Flags/EnableDropBoxWidget"); +LAMEXP_MAKE_ID(shellIntegrationEnabled, "Flags/EnableShellIntegration"); +LAMEXP_MAKE_ID(currentLanguage, "Localization/Language"); +LAMEXP_MAKE_ID(lameAlgoQuality, "AdvancedOptions/LAME/AlgorithmQuality"); +LAMEXP_MAKE_ID(lameChannelMode, "AdvancedOptions/LAME/ChannelMode"); +LAMEXP_MAKE_ID(bitrateManagementEnabled, "AdvancedOptions/BitrateManagement/Enabled"); +LAMEXP_MAKE_ID(bitrateManagementMinRate, "AdvancedOptions/BitrateManagement/MinRate"); +LAMEXP_MAKE_ID(bitrateManagementMaxRate, "AdvancedOptions/BitrateManagement/MaxRate"); +LAMEXP_MAKE_ID(samplingRate, "AdvancedOptions/Common/Resampling"); +LAMEXP_MAKE_ID(neroAACEnable2Pass, "AdvancedOptions/NeroAAC/Enable2Pass"); +LAMEXP_MAKE_ID(neroAACProfile, "AdvancedOptions/NeroAAC/ForceProfile"); +LAMEXP_MAKE_ID(normalizationFilterEnabled, "AdvancedOptions/VolumeNormalization/Enabled"); +LAMEXP_MAKE_ID(normalizationFilterMaxVolume, "AdvancedOptions/VolumeNormalization/MaxVolume"); +LAMEXP_MAKE_ID(toneAdjustBass, "AdvancedOptions/ToneAdjustment/Bass"); +LAMEXP_MAKE_ID(toneAdjustTreble, "AdvancedOptions/ToneAdjustment/Treble"); +LAMEXP_MAKE_ID(customParametersLAME, "AdvancedOptions/CustomParameters/LAME"); +LAMEXP_MAKE_ID(customParametersOggEnc, "AdvancedOptions/CustomParameters/OggEnc"); +LAMEXP_MAKE_ID(customParametersNeroAAC, "AdvancedOptions/CustomParameters/NeroAAC"); +LAMEXP_MAKE_ID(customParametersFLAC, "AdvancedOptions/CustomParameters/FLAC"); +LAMEXP_MAKE_ID(metaInfoPosition, "MetaInformation/PlaylistPosition"); +LAMEXP_MAKE_ID(maximumInstances, "AdvancedOptions/Threading/MaximumInstances"); +LAMEXP_MAKE_ID(customTempPath, "AdvancedOptions/TempDirectory/CustomPath"); +LAMEXP_MAKE_ID(customTempPathEnabled, "AdvancedOptions/TempDirectory/UseCustomPath"); //LUT const int SettingsModel::mp3Bitrates[15] = {32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1}; @@ -248,41 +249,42 @@ QString SettingsModel::defaultLanguage(void) // Getter and Setter //////////////////////////////////////////////////////////// -MAKE_OPTION1(licenseAccepted, 0) -MAKE_OPTION1(interfaceStyle, 0) -MAKE_OPTION1(compressionEncoder, 0) -MAKE_OPTION1(compressionRCMode, 0) -MAKE_OPTION1(compressionBitrate, 7) -MAKE_OPTION2(outputDir, QString()) -MAKE_OPTION3(outputToSourceDir, false) -MAKE_OPTION3(prependRelativeSourcePath, false) -MAKE_OPTION3(writeMetaTags, true) -MAKE_OPTION3(createPlaylist, true) -MAKE_OPTION2(autoUpdateLastCheck, "Never") -MAKE_OPTION3(autoUpdateEnabled, true) -MAKE_OPTION3(soundsEnabled, true) -MAKE_OPTION3(neroAacNotificationsEnabled, true) -MAKE_OPTION3(wmaDecoderNotificationsEnabled, true) -MAKE_OPTION3(dropBoxWidgetEnabled, true) -MAKE_OPTION3(shellIntegrationEnabled, !lamexp_portable_mode()) -MAKE_OPTION2(currentLanguage, defaultLanguage()) -MAKE_OPTION1(lameAlgoQuality, 3) -MAKE_OPTION1(lameChannelMode, 0); -MAKE_OPTION3(bitrateManagementEnabled, false) -MAKE_OPTION1(bitrateManagementMinRate, 32) -MAKE_OPTION1(bitrateManagementMaxRate, 500) -MAKE_OPTION1(samplingRate, 0) -MAKE_OPTION3(neroAACEnable2Pass, true) -MAKE_OPTION1(neroAACProfile, 0) -MAKE_OPTION3(normalizationFilterEnabled, false) -MAKE_OPTION1(normalizationFilterMaxVolume, -50) -MAKE_OPTION1(toneAdjustBass, 0) -MAKE_OPTION1(toneAdjustTreble, 0) -MAKE_OPTION2(customParametersLAME, QString()); -MAKE_OPTION2(customParametersOggEnc, QString()); -MAKE_OPTION2(customParametersNeroAAC, QString()); -MAKE_OPTION2(customParametersFLAC, QString()); -MAKE_OPTION4(metaInfoPosition, UINT_MAX); -MAKE_OPTION4(maximumInstances, 0); -MAKE_OPTION2(customTempPath, QDesktopServices::storageLocation(QDesktopServices::TempLocation)); -MAKE_OPTION3(customTempPathEnabled, false); +LAMEXP_MAKE_OPTION_I(licenseAccepted, 0) +LAMEXP_MAKE_OPTION_I(interfaceStyle, 0) +LAMEXP_MAKE_OPTION_I(compressionEncoder, 0) +LAMEXP_MAKE_OPTION_I(compressionRCMode, 0) +LAMEXP_MAKE_OPTION_I(compressionBitrate, 7) +LAMEXP_MAKE_OPTION_S(outputDir, QString()) +LAMEXP_MAKE_OPTION_B(outputToSourceDir, false) +LAMEXP_MAKE_OPTION_B(prependRelativeSourcePath, false) +LAMEXP_MAKE_OPTION_B(writeMetaTags, true) +LAMEXP_MAKE_OPTION_B(createPlaylist, true) +LAMEXP_MAKE_OPTION_S(autoUpdateLastCheck, "Never") +LAMEXP_MAKE_OPTION_B(autoUpdateEnabled, true) +LAMEXP_MAKE_OPTION_B(autoUpdateCheckBeta, false) +LAMEXP_MAKE_OPTION_B(soundsEnabled, true) +LAMEXP_MAKE_OPTION_B(neroAacNotificationsEnabled, true) +LAMEXP_MAKE_OPTION_B(wmaDecoderNotificationsEnabled, true) +LAMEXP_MAKE_OPTION_B(dropBoxWidgetEnabled, true) +LAMEXP_MAKE_OPTION_B(shellIntegrationEnabled, !lamexp_portable_mode()) +LAMEXP_MAKE_OPTION_S(currentLanguage, defaultLanguage()) +LAMEXP_MAKE_OPTION_I(lameAlgoQuality, 3) +LAMEXP_MAKE_OPTION_I(lameChannelMode, 0); +LAMEXP_MAKE_OPTION_B(bitrateManagementEnabled, false) +LAMEXP_MAKE_OPTION_I(bitrateManagementMinRate, 32) +LAMEXP_MAKE_OPTION_I(bitrateManagementMaxRate, 500) +LAMEXP_MAKE_OPTION_I(samplingRate, 0) +LAMEXP_MAKE_OPTION_B(neroAACEnable2Pass, true) +LAMEXP_MAKE_OPTION_I(neroAACProfile, 0) +LAMEXP_MAKE_OPTION_B(normalizationFilterEnabled, false) +LAMEXP_MAKE_OPTION_I(normalizationFilterMaxVolume, -50) +LAMEXP_MAKE_OPTION_I(toneAdjustBass, 0) +LAMEXP_MAKE_OPTION_I(toneAdjustTreble, 0) +LAMEXP_MAKE_OPTION_S(customParametersLAME, QString()); +LAMEXP_MAKE_OPTION_S(customParametersOggEnc, QString()); +LAMEXP_MAKE_OPTION_S(customParametersNeroAAC, QString()); +LAMEXP_MAKE_OPTION_S(customParametersFLAC, QString()); +LAMEXP_MAKE_OPTION_U(metaInfoPosition, UINT_MAX); +LAMEXP_MAKE_OPTION_U(maximumInstances, 0); +LAMEXP_MAKE_OPTION_S(customTempPath, QDesktopServices::storageLocation(QDesktopServices::TempLocation)); +LAMEXP_MAKE_OPTION_B(customTempPathEnabled, false); diff --git a/src/Model_Settings.h b/src/Model_Settings.h index 48e1a875..bea3e5ed 100644 --- a/src/Model_Settings.h +++ b/src/Model_Settings.h @@ -26,22 +26,22 @@ class QString; /////////////////////////////////////////////////////////////////////////////// -#define MAKE_OPTION_DEC1(OPT) \ +#define LAMEXP_MAKE_OPTION_I(OPT) \ int OPT(void); \ void OPT(int value); \ int OPT##Default(void); -#define MAKE_OPTION_DEC2(OPT) \ +#define LAMEXP_MAKE_OPTION_S(OPT) \ QString OPT(void); \ void OPT(const QString &value); \ QString OPT##Default(void); -#define MAKE_OPTION_DEC3(OPT) \ +#define LAMEXP_MAKE_OPTION_B(OPT) \ bool OPT(void); \ void OPT(bool value); \ bool OPT##Default(void); -#define MAKE_OPTION_DEC4(OPT) \ +#define LAMEXP_MAKE_OPTION_U(OPT) \ unsigned int OPT(void); \ void OPT(unsigned int value); \ unsigned int OPT##Default(void); @@ -75,44 +75,45 @@ public: static const int samplingRates[8]; //Getters & setters - MAKE_OPTION_DEC1(licenseAccepted); - MAKE_OPTION_DEC1(interfaceStyle); - MAKE_OPTION_DEC1(compressionEncoder); - MAKE_OPTION_DEC1(compressionRCMode); - MAKE_OPTION_DEC1(compressionBitrate); - MAKE_OPTION_DEC2(outputDir); - MAKE_OPTION_DEC3(outputToSourceDir); - MAKE_OPTION_DEC3(prependRelativeSourcePath); - MAKE_OPTION_DEC3(writeMetaTags); - MAKE_OPTION_DEC3(createPlaylist); - MAKE_OPTION_DEC2(autoUpdateLastCheck); - MAKE_OPTION_DEC3(autoUpdateEnabled); - MAKE_OPTION_DEC3(soundsEnabled); - MAKE_OPTION_DEC3(neroAacNotificationsEnabled); - MAKE_OPTION_DEC3(wmaDecoderNotificationsEnabled); - MAKE_OPTION_DEC3(dropBoxWidgetEnabled); - MAKE_OPTION_DEC3(shellIntegrationEnabled); - MAKE_OPTION_DEC2(currentLanguage); - MAKE_OPTION_DEC1(lameAlgoQuality); - MAKE_OPTION_DEC1(lameChannelMode); - MAKE_OPTION_DEC3(bitrateManagementEnabled); - MAKE_OPTION_DEC1(bitrateManagementMinRate); - MAKE_OPTION_DEC1(bitrateManagementMaxRate); - MAKE_OPTION_DEC1(samplingRate); - MAKE_OPTION_DEC3(neroAACEnable2Pass); - MAKE_OPTION_DEC1(neroAACProfile); - MAKE_OPTION_DEC3(normalizationFilterEnabled); - MAKE_OPTION_DEC1(normalizationFilterMaxVolume); - MAKE_OPTION_DEC1(toneAdjustBass); - MAKE_OPTION_DEC1(toneAdjustTreble); - MAKE_OPTION_DEC2(customParametersLAME); - MAKE_OPTION_DEC2(customParametersOggEnc); - MAKE_OPTION_DEC2(customParametersNeroAAC); - MAKE_OPTION_DEC2(customParametersFLAC); - MAKE_OPTION_DEC4(metaInfoPosition); - MAKE_OPTION_DEC4(maximumInstances); - MAKE_OPTION_DEC2(customTempPath); - MAKE_OPTION_DEC3(customTempPathEnabled); + LAMEXP_MAKE_OPTION_I(licenseAccepted); + LAMEXP_MAKE_OPTION_I(interfaceStyle); + LAMEXP_MAKE_OPTION_I(compressionEncoder); + LAMEXP_MAKE_OPTION_I(compressionRCMode); + LAMEXP_MAKE_OPTION_I(compressionBitrate); + LAMEXP_MAKE_OPTION_S(outputDir); + LAMEXP_MAKE_OPTION_B(outputToSourceDir); + LAMEXP_MAKE_OPTION_B(prependRelativeSourcePath); + LAMEXP_MAKE_OPTION_B(writeMetaTags); + LAMEXP_MAKE_OPTION_B(createPlaylist); + LAMEXP_MAKE_OPTION_S(autoUpdateLastCheck); + LAMEXP_MAKE_OPTION_B(autoUpdateEnabled); + LAMEXP_MAKE_OPTION_B(autoUpdateCheckBeta); + LAMEXP_MAKE_OPTION_B(soundsEnabled); + LAMEXP_MAKE_OPTION_B(neroAacNotificationsEnabled); + LAMEXP_MAKE_OPTION_B(wmaDecoderNotificationsEnabled); + LAMEXP_MAKE_OPTION_B(dropBoxWidgetEnabled); + LAMEXP_MAKE_OPTION_B(shellIntegrationEnabled); + LAMEXP_MAKE_OPTION_S(currentLanguage); + LAMEXP_MAKE_OPTION_I(lameAlgoQuality); + LAMEXP_MAKE_OPTION_I(lameChannelMode); + LAMEXP_MAKE_OPTION_B(bitrateManagementEnabled); + LAMEXP_MAKE_OPTION_I(bitrateManagementMinRate); + LAMEXP_MAKE_OPTION_I(bitrateManagementMaxRate); + LAMEXP_MAKE_OPTION_I(samplingRate); + LAMEXP_MAKE_OPTION_B(neroAACEnable2Pass); + LAMEXP_MAKE_OPTION_I(neroAACProfile); + LAMEXP_MAKE_OPTION_B(normalizationFilterEnabled); + LAMEXP_MAKE_OPTION_I(normalizationFilterMaxVolume); + LAMEXP_MAKE_OPTION_I(toneAdjustBass); + LAMEXP_MAKE_OPTION_I(toneAdjustTreble); + LAMEXP_MAKE_OPTION_S(customParametersLAME); + LAMEXP_MAKE_OPTION_S(customParametersOggEnc); + LAMEXP_MAKE_OPTION_S(customParametersNeroAAC); + LAMEXP_MAKE_OPTION_S(customParametersFLAC); + LAMEXP_MAKE_OPTION_U(metaInfoPosition); + LAMEXP_MAKE_OPTION_U(maximumInstances); + LAMEXP_MAKE_OPTION_S(customTempPath); + LAMEXP_MAKE_OPTION_B(customTempPathEnabled); //Misc void validate(void); @@ -125,7 +126,7 @@ private: /////////////////////////////////////////////////////////////////////////////// -#undef MAKE_OPTION_DEC1 -#undef MAKE_OPTION_DEC2 -#undef MAKE_OPTION_DEC3 -#undef MAKE_OPTION_DEC4 +#undef LAMEXP_MAKE_OPTION_I +#undef LAMEXP_MAKE_OPTION_S +#undef LAMEXP_MAKE_OPTION_B +#undef LAMEXP_MAKE_OPTION_U