<ClCompile Include="src\PlaylistImporter.cpp" />
<ClCompile Include="src\Registry_Decoder.cpp" />
<ClCompile Include="src\ShellIntegration.cpp" />
+ <ClCompile Include="src\Thread_CPUObserver.cpp" />
<ClCompile Include="src\Thread_CueSplitter.cpp" />
<ClCompile Include="src\Thread_DiskObserver.cpp" />
<ClCompile Include="src\Thread_FileAnalyzer.cpp" />
<ClCompile Include="src\Thread_MessageHandler.cpp" />
<ClCompile Include="src\Thread_MessageProducer.cpp" />
<ClCompile Include="src\Thread_Process.cpp" />
+ <ClCompile Include="src\Thread_RAMObserver.cpp" />
<ClCompile Include="src\Tool_Abstract.cpp" />
<ClCompile Include="src\WinSevenTaskbar.cpp" />
<ClCompile Include="tmp\MOC_Decoder_Abstract.cpp" />
<ClCompile Include="tmp\MOC_Model_Progress.cpp" />
<ClCompile Include="tmp\MOC_Registry_Decoder.cpp" />
<ClCompile Include="tmp\MOC_ShellIntegration.cpp" />
+ <ClCompile Include="tmp\MOC_Thread_CPUObserver.cpp" />
<ClCompile Include="tmp\MOC_Thread_CueSplitter.cpp" />
<ClCompile Include="tmp\MOC_Thread_DiskObserver.cpp" />
<ClCompile Include="tmp\MOC_Thread_FileAnalyzer.cpp" />
<ClCompile Include="tmp\MOC_Thread_MessageHandler.cpp" />
<ClCompile Include="tmp\MOC_Thread_MessageProducer.cpp" />
<ClCompile Include="tmp\MOC_Thread_Process.cpp" />
+ <ClCompile Include="tmp\MOC_Thread_RAMObserver.cpp" />
<ClCompile Include="tmp\MOC_Tool_Abstract.cpp" />
<ClCompile Include="tmp\QRC_Documents.cpp" />
<ClCompile Include="tmp\QRC_Flags.cpp" />
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'">$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)</Outputs>
</CustomBuild>
+ <CustomBuild Include="src\Thread_CPUObserver.h">
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"</Message>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'">MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"</Message>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'">$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="src\Thread_RAMObserver.h">
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"</Message>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'">MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"</Message>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'">$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)</Outputs>
+ </CustomBuild>
<ClInclude Include="src\Tools.h" />
<ClInclude Include="tmp\UIC_CueSheetImport.h" />
<ClInclude Include="tmp\UIC_DropBox.h" />
<ClCompile Include="tmp\QRC_Tools_Misc.cpp">
<Filter>Generated Files\QRC</Filter>
</ClCompile>
+ <ClCompile Include="src\Thread_CPUObserver.cpp">
+ <Filter>Source Files\Threads</Filter>
+ </ClCompile>
+ <ClCompile Include="tmp\MOC_Thread_CPUObserver.cpp">
+ <Filter>Generated Files\MOC</Filter>
+ </ClCompile>
+ <ClCompile Include="src\Thread_RAMObserver.cpp">
+ <Filter>Source Files\Threads</Filter>
+ </ClCompile>
+ <ClCompile Include="tmp\MOC_Thread_RAMObserver.cpp">
+ <Filter>Generated Files\MOC</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\Config.h">
<CustomBuild Include="res\Tools_Decd.qrc">
<Filter>Resources</Filter>
</CustomBuild>
+ <CustomBuild Include="src\Thread_CPUObserver.h">
+ <Filter>Header Files\Threads</Filter>
+ </CustomBuild>
+ <CustomBuild Include="src\Thread_RAMObserver.h">
+ <Filter>Header Files\Threads</Filter>
+ </CustomBuild>
</ItemGroup>
<ItemGroup>
<None Include="res\MainIcon.ico" />
<li>Added an option to hibernate the computer (aka "Suspend-to-Disk") instead of shutting it down
<li>Added Polish translation, thanks to Sir Daniel K <sir.daniel.k@gmail.com>
<li>Added channel equalization options to the normalization filter (also fixes multi-channel processing)
+<li>Added indicators for current CPU usage, RAM usage and free diskspace to the processing window
<li>Updated Qt runtime libraries to v4.8.0 RC-1 (2011-10-13), compiled with MSVC 10.0
<li>Updated LAME encoder to v3.99 Final (2011-10-17), compiled with ICL 12.1.6 and MSVC 10.0 (<a href="http://lame.cvs.sourceforge.net/viewvc/lame/lame/doc/html/history.html?revision=1.131" target="_blank">details</a>)
<li>Updated mpg123 decoder to v1.13.4 (2011-09-07), compiled with GCC 4.6.1
<message>
<location filename="../../src/Dialog_CueImport.cpp" line="108"/>
<location filename="../../src/Dialog_CueImport.cpp" line="144"/>
- <location filename="../../src/Dialog_CueImport.cpp" line="325"/>
- <location filename="../../src/Dialog_CueImport.cpp" line="329"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="327"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="331"/>
<source>Cue Sheet Error</source>
<translation type="unfinished"></translation>
</message>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="222"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="224"/>
<source>Low Diskspace Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="222"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="224"/>
<source>There are less than %1 GB of free diskspace available in the selected output directory.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="222"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="224"/>
<source>It is highly recommend to free up more diskspace before proceeding with the import!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="292"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="294"/>
<source>Analyzing file(s), please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="297"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="299"/>
<source>Analysis Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="297"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="299"/>
<source>Warning: The format of some of the input files could not be determined!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="297"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="299"/>
<source>Continue Anyway</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="297"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="299"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="320"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="322"/>
<source>Splitting file(s), please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="325"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="327"/>
<source>Process was aborted by the user after %1 track(s)!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="329"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="331"/>
<source>An unexpected error has occured while splitting the Cue Sheet!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="333"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="335"/>
<source>Imported %1 track(s) from the Cue Sheet and skipped %2 track(s).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="334"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="336"/>
<source>Cue Sheet Completed</source>
<translation type="unfinished"></translation>
</message>
<context>
<name>DiskObserverThread</name>
<message>
- <location filename="../../src/Thread_DiskObserver.cpp" line="77"/>
+ <location filename="../../src/Thread_DiskObserver.cpp" line="82"/>
<source>Low diskspace on drive '%1' detected (only %2 MB are free), problems can occur!</source>
<translation type="unfinished"></translation>
</message>
</message>
<message>
<location filename="../../gui/MainWindow.ui" line="3652"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1456"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
<source>Disable Update Reminder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../gui/MainWindow.ui" line="3660"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1482"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1484"/>
<source>Disable Sound Effects</source>
<translation type="unfinished"></translation>
</message>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="499"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2998"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="3000"/>
<source>Access Denied</source>
<translation type="unfinished"></translation>
</message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1120"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1121"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2941"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1624"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2943"/>
<source>Discard</source>
<translation type="unfinished"></translation>
</message>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1010"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1468"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1460"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1470"/>
<source>Update Reminder</source>
<translation type="unfinished"></translation>
</message>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1156"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1207"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1217"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1209"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1219"/>
<source>LameXP</source>
<translation type="unfinished"></translation>
</message>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1179"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1181"/>
<source>There are less than %1 GB of free diskspace available on your system's TEMP folder.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1180"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1182"/>
<source>It is highly recommend to free up more diskspace before proceeding with the encode!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1181"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1183"/>
<source>Your TEMP folder is located at:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1184"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1186"/>
<source>Low Diskspace Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1184"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1186"/>
<source>Abort Encoding Process</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1184"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1186"/>
<source>Clean Disk Now</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1184"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1186"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1192"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1194"/>
<source>Low Diskspace</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1192"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1194"/>
<source>You are proceeding with low diskspace. Problems might occur!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1207"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1209"/>
<source>Sorry, an unsupported encoder has been chosen!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1217"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1219"/>
<source>Cannot write to the selected output directory.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1217"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1219"/>
<source>Please choose a different directory!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1423"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1425"/>
<source>Load Translation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1425"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1427"/>
<source>Translation Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1456"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
<source>Do you really want to disable the update reminder?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1456"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1482"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1508"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1534"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1620"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1657"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1683"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1484"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1510"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1536"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1659"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1685"/>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1456"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1482"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1508"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1534"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1620"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1657"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1683"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1484"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1510"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1536"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1659"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1685"/>
<source>No</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1460"/>
<source>The update reminder has been disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1460"/>
<source>Please remember to check for updates at regular intervals!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1468"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1470"/>
<source>The update reminder has been re-enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1482"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1484"/>
<source>Do you really want to disable all sound effects?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1484"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1494"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1486"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1496"/>
<source>Sound Effects</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1484"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1486"/>
<source>All sound effects have been disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1494"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1496"/>
<source>The sound effects have been re-enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1508"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1510"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1520"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1512"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1522"/>
<source>Nero AAC Notifications</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1508"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1510"/>
<source>Do you really want to disable all Nero AAC Encoder notifications?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1510"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1512"/>
<source>All Nero AAC Encoder notifications have been disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1520"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1522"/>
<source>The Nero AAC Encoder notifications have been re-enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1534"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1536"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1546"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1538"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1548"/>
<source>Slow Startup Notifications</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1534"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1536"/>
<source>Do you really want to disable the slow startup notifications?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1536"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1538"/>
<source>The slow startup notifications have been disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1546"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1548"/>
<source>The slow startup notifications have been re-enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1569"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1573"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1571"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1575"/>
<source>Open Cue Sheet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1569"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1575"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1571"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1577"/>
<source>Cue Sheet File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1620"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1635"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1624"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1637"/>
<source>Beta Updates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1620"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
<source>Do you really want LameXP to check for Beta (pre-release) updates?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1624"/>
<source>LameXP will check for Beta (pre-release) updates from now on.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1624"/>
<source>Check Now</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1635"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1637"/>
<source>LameXP will <i>not</i> check for Beta (pre-release) updates from now on.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1657"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1659"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1669"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1661"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1671"/>
<source>Hibernate Computer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1657"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1659"/>
<source>Do you really want the computer to be hibernated on shutdown?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1659"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1661"/>
<source>LameXP will hibernate the computer on shutdown from now on.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1669"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1671"/>
<source>LameXP will <i>not</i> hibernate the computer on shutdown from now on.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1683"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1686"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1697"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1685"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1688"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1699"/>
<source>Shell Integration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1683"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1685"/>
<source>Do you really want to disable the LameXP shell integration?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1686"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1688"/>
<source>The LameXP shell integration has been disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1697"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1699"/>
<source>The LameXP shell integration has been re-enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1794"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1803"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1796"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1805"/>
<source>Add file(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1835"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1839"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1837"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1841"/>
<source>Add Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2212"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2255"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2214"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2257"/>
<source>New Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2255"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2257"/>
<source>Enter the name of the new folder:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2287"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2289"/>
<source>Failed to create folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2287"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2289"/>
<source>The new folder could not be created:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2287"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2289"/>
<source>Drive is read-only or insufficient access rights!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2567"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2570"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2573"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2579"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2569"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2572"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2575"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2581"/>
<source>Quality Level %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2576"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2596"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2616"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2578"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2598"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2618"/>
<source>Compression %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2582"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2602"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2622"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2584"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2604"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2624"/>
<source>Uncompressed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2646"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2648"/>
<source>Best Quality (Very Slow)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2649"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2651"/>
<source>High Quality (Recommended)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2652"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2654"/>
<source>Average Quality (Default)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2655"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2657"/>
<source>Low Quality (Fast)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2658"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2660"/>
<source>Poor Quality (Very Fast)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2930"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2932"/>
<source>File name without extension</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2931"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2933"/>
<source>Track number with leading zero</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2932"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2934"/>
<source>Track title</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2933"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2935"/>
<source>Artist name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2934"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2936"/>
<source>Album name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2935"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2937"/>
<source>Year with (at least) four digits</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2936"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2938"/>
<source>Comment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2938"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2940"/>
<source>Characters forbidden in file names:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2941"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2943"/>
<source>Rename Macros</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2954"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2956"/>
<source>%1 Instance(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2998"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="3000"/>
<source>Cannot write to the selected directory. Please choose another directory!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="3066"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="3068"/>
<source>Already Running</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="3066"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="3068"/>
<source>LameXP is already running, please use the running instance!</source>
<translation type="unfinished"></translation>
</message>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gui/ProcessingDialog.ui" line="307"/>
+ <location filename="../../gui/ProcessingDialog.ui" line="318"/>
<source>Shutdown the computer as soon as all files have been converted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gui/ProcessingDialog.ui" line="404"/>
+ <location filename="../../gui/ProcessingDialog.ui" line="341"/>
+ <location filename="../../gui/ProcessingDialog.ui" line="397"/>
+ <source>CPU Usage (Overall)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../gui/ProcessingDialog.ui" line="426"/>
+ <location filename="../../gui/ProcessingDialog.ui" line="476"/>
+ <source>Physical RAM Usage</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../gui/ProcessingDialog.ui" line="505"/>
+ <location filename="../../gui/ProcessingDialog.ui" line="555"/>
+ <source>Free Disk Space (Temp Folder)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../gui/ProcessingDialog.ui" line="657"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gui/ProcessingDialog.ui" line="427"/>
+ <location filename="../../gui/ProcessingDialog.ui" line="680"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="142"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="146"/>
<source>Show details for selected job</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="143"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="147"/>
<source>Browse Output File Location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="161"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="165"/>
<source>Encoding Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="161"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="165"/>
<source>Your files are being encoded, please be patient...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="287"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="319"/>
<source>Encoding files, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="318"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="363"/>
<source>Multi-threading enabled: Running %1 instances in parallel!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="332"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="377"/>
<source>Aborted! Waiting for running jobs to terminate...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="347"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="392"/>
<source>Encoding: %1 files of %2 completed so far, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="375"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="420"/>
<source>Creating the playlist file, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="385"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="430"/>
<source>Process was aborted by the user after %1 file(s)!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="385"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="430"/>
<source>Process was aborted prematurely by the user!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="386"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="431"/>
<source>LameXP - Aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="386"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="431"/>
<source>Process was aborted by the user.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="398"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="443"/>
<source>Error: %1 of %2 files failed. Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="399"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="444"/>
<source>LameXP - Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="399"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="444"/>
<source>At least one file has failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="409"/>
- <location filename="../../src/Dialog_Processing.cpp" line="410"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="454"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="455"/>
<source>All files completed successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="410"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="455"/>
<source>LameXP - Done</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="798"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="843"/>
<source>Playlist creation failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="798"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="843"/>
<source>The playlist file could not be created:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="838"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="910"/>
<source>Warning: Computer will shutdown in %1 seconds...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="842"/>
- <location filename="../../src/Dialog_Processing.cpp" line="843"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="914"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="915"/>
<source>Cancel Shutdown</source>
<translation type="unfinished"></translation>
</message>
<source>Cancel Shutdown</source>
<translation>Herunterfahren abbrechen</translation>
</message>
+ <message>
+ <source>CPU Usage (Overall)</source>
+ <translation>Prozessorauslastung (insgesamt)</translation>
+ </message>
+ <message>
+ <source>Physical RAM Usage</source>
+ <translation>Speicherauslastung (physikalischer Arbeitsspeicher)</translation>
+ </message>
+ <message>
+ <source>Free Disk Space (Temp Folder)</source>
+ <translation>Freier Festplattenspeicher (Temp Ordner)</translation>
+ </message>
</context>
<context>
<name>ProgressModel</name>
<source>Cancel Shutdown</source>
<translation>Cancelar apagado</translation>
</message>
+ <message>
+ <source>CPU Usage (Overall)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Physical RAM Usage</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Free Disk Space (Temp Folder)</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ProgressModel</name>
<source>Cancel Shutdown</source>
<translation>Annuler l'extinction</translation>
</message>
+ <message>
+ <source>CPU Usage (Overall)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Physical RAM Usage</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Free Disk Space (Temp Folder)</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ProgressModel</name>
<source>Cancel Shutdown</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>CPU Usage (Overall)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Physical RAM Usage</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Free Disk Space (Temp Folder)</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ProgressModel</name>
<source>Cancel Shutdown</source>
<translation type="unfinished">컴퓨터 종료 취소</translation>
</message>
+ <message>
+ <source>CPU Usage (Overall)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Physical RAM Usage</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Free Disk Space (Temp Folder)</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ProgressModel</name>
<message>
<location filename="../../src/Dialog_CueImport.cpp" line="108"/>
<location filename="../../src/Dialog_CueImport.cpp" line="144"/>
- <location filename="../../src/Dialog_CueImport.cpp" line="325"/>
- <location filename="../../src/Dialog_CueImport.cpp" line="329"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="327"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="331"/>
<source>Cue Sheet Error</source>
<translation type="unfinished">Błąd pliku Cue Sheet</translation>
</message>
<translation type="unfinished">Błąd: Nie można zapisać w wybranej lokalizacji wyjściowej!</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="222"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="224"/>
<source>Low Diskspace Warning</source>
<translation type="unfinished">Ostrzeżenie o małej ilości miejsca na dysku</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="222"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="224"/>
<source>There are less than %1 GB of free diskspace available in the selected output directory.</source>
<translation type="unfinished">Jest mniej niż %1 GB wolnego miejsca w wybranej lokalizacji wyjściowej.</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="222"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="224"/>
<source>It is highly recommend to free up more diskspace before proceeding with the import!</source>
<translation type="unfinished">Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz importować!</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="292"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="294"/>
<source>Analyzing file(s), please wait...</source>
<translation type="unfinished">Analizowanie pliku/ów, prosze czekać...</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="297"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="299"/>
<source>Analysis Failed</source>
<translation type="unfinished">Analiza zakończona niepowodzeniem</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="297"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="299"/>
<source>Warning: The format of some of the input files could not be determined!</source>
<translation type="unfinished">Ostrzeżenie: Nie można rozpoznać formatu kilku plików wejściowych!</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="297"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="299"/>
<source>Continue Anyway</source>
<translation type="unfinished">Kontynuuj pomimo to</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="297"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="299"/>
<source>Abort</source>
<translation type="unfinished">Przerwij</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="320"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="322"/>
<source>Splitting file(s), please wait...</source>
<translation type="unfinished">Dzielenie pliku/ów, prosze czekać...</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="325"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="327"/>
<source>Process was aborted by the user after %1 track(s)!</source>
<translation type="unfinished">Proces został przerwany przez użytkownika po imporcie %1 ścieżek!</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="329"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="331"/>
<source>An unexpected error has occured while splitting the Cue Sheet!</source>
<translation type="unfinished">Wystąpił nieoczekiwany błąd podczas podziału pliku Cue Sheet!</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="333"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="335"/>
<source>Imported %1 track(s) from the Cue Sheet and skipped %2 track(s).</source>
<translation type="unfinished">Zaimportowano %1 ścieżek i opuszczono %2 ścieżek z pliku Cue Sheet.</translation>
</message>
<message>
- <location filename="../../src/Dialog_CueImport.cpp" line="334"/>
+ <location filename="../../src/Dialog_CueImport.cpp" line="336"/>
<source>Cue Sheet Completed</source>
<translation type="unfinished">Stworzono plik Cue Sheet</translation>
</message>
<context>
<name>DiskObserverThread</name>
<message>
- <location filename="../../src/Thread_DiskObserver.cpp" line="77"/>
+ <location filename="../../src/Thread_DiskObserver.cpp" line="82"/>
<source>Low diskspace on drive '%1' detected (only %2 MB are free), problems can occur!</source>
<translation type="unfinished">Mało miejsca na dysku '%1' (tylko %2 MB dostępnych), mogą wystąpić problemy!</translation>
</message>
</message>
<message>
<location filename="../../gui/MainWindow.ui" line="3652"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1456"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
<source>Disable Update Reminder</source>
<translation type="unfinished">Wyłącz przypominanie o aktualizacji</translation>
</message>
<message>
<location filename="../../gui/MainWindow.ui" line="3660"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1482"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1484"/>
<source>Disable Sound Effects</source>
<translation type="unfinished">Wyłącz efekty dźwiękowe</translation>
</message>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="499"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2998"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="3000"/>
<source>Access Denied</source>
<translation type="unfinished">Dostęp zablokowany</translation>
</message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1120"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1121"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2941"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1624"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2943"/>
<source>Discard</source>
<translation type="unfinished">Zamknij</translation>
</message>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1010"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1468"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1460"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1470"/>
<source>Update Reminder</source>
<translation type="unfinished">Powiadomienie aktualizacji</translation>
</message>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1156"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1207"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1217"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1209"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1219"/>
<source>LameXP</source>
<translation type="unfinished">LameXP</translation>
</message>
<translation type="unfinished">Anuluj</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1184"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1186"/>
<source>Low Diskspace Warning</source>
<translation type="unfinished">Ostrzeżenie o małej ilości miejsca na dysku</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1179"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1181"/>
<source>There are less than %1 GB of free diskspace available on your system's TEMP folder.</source>
<translation type="unfinished">Jest mniej niż %1 GB dostępnego miejsca w systemowym folderze TEMP.</translation>
</message>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1180"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1182"/>
<source>It is highly recommend to free up more diskspace before proceeding with the encode!</source>
<translation type="unfinished">Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz kompresję!</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1181"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1183"/>
<source>Your TEMP folder is located at:</source>
<translation type="unfinished">Twój folder TEMP znajduję się:</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1184"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1186"/>
<source>Abort Encoding Process</source>
<translation type="unfinished">Przerwij proces kompresji</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1184"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1186"/>
<source>Clean Disk Now</source>
<translation type="unfinished">Wykonaj oczyszczanie dysku</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1184"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1186"/>
<source>Ignore</source>
<translation type="unfinished">Ignoruj</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1192"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1194"/>
<source>Low Diskspace</source>
<translation type="unfinished">Mało miejsca na dysku</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1192"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1194"/>
<source>You are proceeding with low diskspace. Problems might occur!</source>
<translation type="unfinished">Chcesz zacząć działać z małą ilością miejsca na dysku. Mogą wystąpić problemy!</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1207"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1209"/>
<source>Sorry, an unsupported encoder has been chosen!</source>
<translation type="unfinished">Został wybrany koder, który nie jest wspierany!</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1217"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1219"/>
<source>Cannot write to the selected output directory.</source>
<translation type="unfinished">Nie można zapisać do wybranej lokalizacji.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1217"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1219"/>
<source>Please choose a different directory!</source>
<translation type="unfinished">Prosze wybrać inną lokalizację!</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1423"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1425"/>
<source>Load Translation</source>
<translation type="unfinished">Zaladuj plik językowy</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1425"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1427"/>
<source>Translation Files</source>
<translation type="unfinished">Pliki językowe</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1456"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
<source>Do you really want to disable the update reminder?</source>
<translation type="unfinished">Czy na pewno chcesz wyłączyć przypominanie o aktualizacjach?</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1456"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1482"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1508"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1534"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1620"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1657"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1683"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1484"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1510"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1536"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1659"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1685"/>
<source>Yes</source>
<translation type="unfinished">Tak</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1456"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1482"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1508"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1534"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1620"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1657"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1683"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1484"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1510"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1536"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1659"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1685"/>
<source>No</source>
<translation type="unfinished">Nie</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1460"/>
<source>The update reminder has been disabled.</source>
<translation type="unfinished">Przypominanie o aktualizacjach wyłączone.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1458"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1460"/>
<source>Please remember to check for updates at regular intervals!</source>
<translation type="unfinished">Prosze pamiętać o okresowym sprawdzaniu aktualizacji!</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1468"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1470"/>
<source>The update reminder has been re-enabled.</source>
<translation type="unfinished">Przypominanie o aktualizacjach ponownie włączone.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1482"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1484"/>
<source>Do you really want to disable all sound effects?</source>
<translation type="unfinished">Czy na pewno chcesz wyłączyć wszystkie dźwiękowe?</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1484"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1494"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1486"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1496"/>
<source>Sound Effects</source>
<translation type="unfinished">Efekty dźwiękowe</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1484"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1486"/>
<source>All sound effects have been disabled.</source>
<translation type="unfinished">Wszystkie efekty dźwiękowe zostały wyłączone.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1494"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1496"/>
<source>The sound effects have been re-enabled.</source>
<translation type="unfinished">Efekty dźwiękowe zostały ponownie włączone.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1508"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1510"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1520"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1512"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1522"/>
<source>Nero AAC Notifications</source>
<translation type="unfinished">Powiadomienia Nero AAC</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1508"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1510"/>
<source>Do you really want to disable all Nero AAC Encoder notifications?</source>
<translation type="unfinished">Czy na pewno chcesz wyłączyć wszystkie powiadomienia Nero AAC?</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1510"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1512"/>
<source>All Nero AAC Encoder notifications have been disabled.</source>
<translation type="unfinished">Wszystkie powiadomienia kodera Nero AAC zostały wyłączone.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1520"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1522"/>
<source>The Nero AAC Encoder notifications have been re-enabled.</source>
<translation type="unfinished">Powiadomienia Nero AAC zostały ponownie włączone.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1534"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1536"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1546"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1538"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1548"/>
<source>Slow Startup Notifications</source>
<translation type="unfinished">Powiadomienia o powolnym starcie</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1534"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1536"/>
<source>Do you really want to disable the slow startup notifications?</source>
<translation type="unfinished">Czy na pewno chcesz wyłączyć powiadomienia o powolnym starcie?</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1536"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1538"/>
<source>The slow startup notifications have been disabled.</source>
<translation type="unfinished">Powiadomienia o powolnym starcie zostały wyłączone.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1546"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1548"/>
<source>The slow startup notifications have been re-enabled.</source>
<translation type="unfinished">Powiadomienia o powolnym starcie zostały ponownie włączone.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1569"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1573"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1571"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1575"/>
<source>Open Cue Sheet</source>
<translation type="unfinished">Otwórz plik Cue Sheet</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1569"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1575"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1571"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1577"/>
<source>Cue Sheet File</source>
<translation type="unfinished">Plik Cue Sheet</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1620"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1635"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1624"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1637"/>
<source>Beta Updates</source>
<translation type="unfinished">Aktualizacje Beta</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1620"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
<source>Do you really want LameXP to check for Beta (pre-release) updates?</source>
<translation type="unfinished">Czy na pewno chcesz aby LameXP sprawdzał aktualizacje Beta?</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1624"/>
<source>LameXP will check for Beta (pre-release) updates from now on.</source>
<translation type="unfinished">Od teraz LameXP będzie sprawdzał aktualizacje Beta.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1622"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1624"/>
<source>Check Now</source>
<translation type="unfinished">Sprawdź teraz</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1635"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1637"/>
<source>LameXP will <i>not</i> check for Beta (pre-release) updates from now on.</source>
<translation type="unfinished">LameXP od teraz <i>nie będzie</i> sprawdzał aktualizacji Beta.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1657"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1659"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1669"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1661"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1671"/>
<source>Hibernate Computer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1657"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1659"/>
<source>Do you really want the computer to be hibernated on shutdown?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1659"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1661"/>
<source>LameXP will hibernate the computer on shutdown from now on.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1669"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1671"/>
<source>LameXP will <i>not</i> hibernate the computer on shutdown from now on.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1683"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1686"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1697"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1685"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1688"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1699"/>
<source>Shell Integration</source>
<translation type="unfinished">Integracja z systemem</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1683"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1685"/>
<source>Do you really want to disable the LameXP shell integration?</source>
<translation type="unfinished">Czy na pewno chcesz wyłączyć integrację LameXP z systemem?</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1686"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1688"/>
<source>The LameXP shell integration has been disabled.</source>
<translation type="unfinished">Integracja LameXP z systemem zostałą wyłączona.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1697"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1699"/>
<source>The LameXP shell integration has been re-enabled.</source>
<translation type="unfinished">Integracja LameXP z systemem została ponownie włączona.</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1794"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1803"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1796"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1805"/>
<source>Add file(s)</source>
<translation type="unfinished">Dodaj plik(i)</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1835"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="1839"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1837"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="1841"/>
<source>Add Folder</source>
<translation type="unfinished">Dodaj folder</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2212"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2255"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2214"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2257"/>
<source>New Folder</source>
<translation type="unfinished">Nowy folder</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2255"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2257"/>
<source>Enter the name of the new folder:</source>
<translation type="unfinished">Wprowadź nazwę nowego folderu:</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2287"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2289"/>
<source>Failed to create folder</source>
<translation type="unfinished">Utworzenie folderu zakończone niepowodzeniem</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2287"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2289"/>
<source>The new folder could not be created:</source>
<translation type="unfinished">Nowy folder nie mógł zostać stworzony:</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2287"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2289"/>
<source>Drive is read-only or insufficient access rights!</source>
<translation type="unfinished">Dysk tylko do odczytu lub brak praw dostępu!</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2567"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2570"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2573"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2579"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2569"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2572"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2575"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2581"/>
<source>Quality Level %1</source>
<translation type="unfinished">Poziom jakości %1</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2576"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2596"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2616"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2578"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2598"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2618"/>
<source>Compression %1</source>
<translation type="unfinished">Kompresja %1</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2582"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2602"/>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2622"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2584"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2604"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2624"/>
<source>Uncompressed</source>
<translation type="unfinished">Nieskompresowany</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2646"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2648"/>
<source>Best Quality (Very Slow)</source>
<translation type="unfinished">Najlepsza jakość (Bardzo wolno)</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2649"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2651"/>
<source>High Quality (Recommended)</source>
<translation type="unfinished">Wysoka jakość (Zalecane)</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2652"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2654"/>
<source>Average Quality (Default)</source>
<translation type="unfinished">Średnia jakość (Domyślnie)</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2655"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2657"/>
<source>Low Quality (Fast)</source>
<translation type="unfinished">Niska jakość (Szybko)</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2658"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2660"/>
<source>Poor Quality (Very Fast)</source>
<translation type="unfinished">Najniższa jakość (Bardzo szybko)</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2930"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2932"/>
<source>File name without extension</source>
<translation type="unfinished">Nazwa pliku bez rozszerzenia</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2931"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2933"/>
<source>Track number with leading zero</source>
<translation type="unfinished">Numer ścieżki z zerem na początku</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2932"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2934"/>
<source>Track title</source>
<translation type="unfinished">Nazwa ścieżki</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2933"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2935"/>
<source>Artist name</source>
<translation type="unfinished">Nazwa Artysty</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2934"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2936"/>
<source>Album name</source>
<translation type="unfinished">Nazwa Albumu</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2935"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2937"/>
<source>Year with (at least) four digits</source>
<translation type="unfinished">Rok z (przynajmniej) czterema cyframi</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2936"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2938"/>
<source>Comment</source>
<translation type="unfinished">Komentarz</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2938"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2940"/>
<source>Characters forbidden in file names:</source>
<translation type="unfinished">Zabronione znaki w nazwach plików:</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2941"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2943"/>
<source>Rename Macros</source>
<translation type="unfinished">Zmień nazwy makr</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2954"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="2956"/>
<source>%1 Instance(s)</source>
<translation type="unfinished">%1 wątek/ki</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="2998"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="3000"/>
<source>Cannot write to the selected directory. Please choose another directory!</source>
<translation type="unfinished">Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację!</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="3066"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="3068"/>
<source>Already Running</source>
<translation type="unfinished">Już działa</translation>
</message>
<message>
- <location filename="../../src/Dialog_MainWindow.cpp" line="3066"/>
+ <location filename="../../src/Dialog_MainWindow.cpp" line="3068"/>
<source>LameXP is already running, please use the running instance!</source>
<translation type="unfinished">LameXP już działa, przejdź do działającego programu!</translation>
</message>
<translation type="unfinished">Inicjowanie, prosze czekać...</translation>
</message>
<message>
- <location filename="../../gui/ProcessingDialog.ui" line="307"/>
+ <location filename="../../gui/ProcessingDialog.ui" line="318"/>
<source>Shutdown the computer as soon as all files have been converted</source>
<translation type="unfinished">Wyłącz komputer po przetworzeniu wszystkich plików</translation>
</message>
<message>
- <location filename="../../gui/ProcessingDialog.ui" line="404"/>
+ <location filename="../../gui/ProcessingDialog.ui" line="341"/>
+ <location filename="../../gui/ProcessingDialog.ui" line="397"/>
+ <source>CPU Usage (Overall)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../gui/ProcessingDialog.ui" line="426"/>
+ <location filename="../../gui/ProcessingDialog.ui" line="476"/>
+ <source>Physical RAM Usage</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../gui/ProcessingDialog.ui" line="505"/>
+ <location filename="../../gui/ProcessingDialog.ui" line="555"/>
+ <source>Free Disk Space (Temp Folder)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../gui/ProcessingDialog.ui" line="657"/>
<source>Abort</source>
<translation type="unfinished">Przerwij</translation>
</message>
<message>
- <location filename="../../gui/ProcessingDialog.ui" line="427"/>
+ <location filename="../../gui/ProcessingDialog.ui" line="680"/>
<source>Close</source>
<translation type="unfinished">Powrót</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="142"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="146"/>
<source>Show details for selected job</source>
<translation type="unfinished">Pokaż szczegóły wybranego zadania</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="143"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="147"/>
<source>Browse Output File Location</source>
<translation type="unfinished">Wybierz lokalizację dla plików wyjściowych</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="161"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="165"/>
<source>Encoding Files</source>
<translation type="unfinished">Kompresowanie plików</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="161"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="165"/>
<source>Your files are being encoded, please be patient...</source>
<translation type="unfinished">Twoje pliki są właśnie kompresowane, prosze być cierpliwy...</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="287"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="319"/>
<source>Encoding files, please wait...</source>
<translation type="unfinished">Kompresowanie plików, prosze czekać...</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="318"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="363"/>
<source>Multi-threading enabled: Running %1 instances in parallel!</source>
<translation type="unfinished">Wielowątkowosć włączona: Równolegle wykonywanych jest %1 kodowań!</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="332"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="377"/>
<source>Aborted! Waiting for running jobs to terminate...</source>
<translation type="unfinished">Przerwano! Czekanie na wyłączenie procesu...</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="347"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="392"/>
<source>Encoding: %1 files of %2 completed so far, please wait...</source>
<translation type="unfinished">Kompresja: Prosze czekać, jak dotąd wykonano %1 z %2 plików...</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="375"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="420"/>
<source>Creating the playlist file, please wait...</source>
<translation type="unfinished">Tworzenie pliku playlisty, prosze czekać...</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="385"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="430"/>
<source>Process was aborted by the user after %1 file(s)!</source>
<translation type="unfinished">Proces został przerwany przez użytkownika po wykonaniu %1 plików!</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="385"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="430"/>
<source>Process was aborted prematurely by the user!</source>
<translation type="unfinished">Proces został przedwcześnie zakończony przez użytkownika!</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="386"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="431"/>
<source>LameXP - Aborted</source>
<translation type="unfinished">LameXP - Przerwano</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="386"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="431"/>
<source>Process was aborted by the user.</source>
<translation type="unfinished">Proces został przerwany przez użytkownika.</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="398"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="443"/>
<source>Error: %1 of %2 files failed. Double-click failed items for detailed information!</source>
<translation type="unfinished">Błąd: %1 z %2 plików nie zostało skompresowanych. Kliknij dwukrotnie na plik aby zobaczyć szczegóły!</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="399"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="444"/>
<source>LameXP - Error</source>
<translation type="unfinished">LameXP - Błąd</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="399"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="444"/>
<source>At least one file has failed!</source>
<translation type="unfinished">Przynajmniej jeden plik nie został skompresowany!</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="409"/>
- <location filename="../../src/Dialog_Processing.cpp" line="410"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="454"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="455"/>
<source>All files completed successfully.</source>
<translation type="unfinished">Kompresja wszystkich plików zakończona powodzeniem.</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="410"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="455"/>
<source>LameXP - Done</source>
<translation type="unfinished">LameXP - Zrobione</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="798"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="843"/>
<source>Playlist creation failed</source>
<translation type="unfinished">Tworzenie playlisty zakończone niepowodzeniem</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="798"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="843"/>
<source>The playlist file could not be created:</source>
<translation type="unfinished">Playlista nie mogła zostać utworzona:</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="838"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="910"/>
<source>Warning: Computer will shutdown in %1 seconds...</source>
<translation type="unfinished">Ostrzeżenie: Komputer zostanie zamknięty za %1 sekund/y...</translation>
</message>
<message>
- <location filename="../../src/Dialog_Processing.cpp" line="842"/>
- <location filename="../../src/Dialog_Processing.cpp" line="843"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="914"/>
+ <location filename="../../src/Dialog_Processing.cpp" line="915"/>
<source>Cancel Shutdown</source>
<translation type="unfinished">Anuluj wyłączenie komputera</translation>
</message>
<source>Cancel Shutdown</source>
<translation type="unfinished">Отменить выключение</translation>
</message>
+ <message>
+ <source>CPU Usage (Overall)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Physical RAM Usage</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Free Disk Space (Temp Folder)</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ProgressModel</name>
<source>Cancel Shutdown</source>
<translation>Відмінити Вимкнення</translation>
</message>
+ <message>
+ <source>CPU Usage (Overall)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Physical RAM Usage</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Free Disk Space (Temp Folder)</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ProgressModel</name>
..\..\src\PlaylistImporter.cpp
..\..\src\Registry_Decoder.cpp
..\..\src\ShellIntegration.cpp
+..\..\src\Thread_CPUObserver.cpp
..\..\src\Thread_CueSplitter.cpp
..\..\src\Thread_DiskObserver.cpp
..\..\src\Thread_FileAnalyzer.cpp
..\..\src\Thread_MessageHandler.cpp
..\..\src\Thread_MessageProducer.cpp
..\..\src\Thread_Process.cpp
+..\..\src\Thread_RAMObserver.cpp
..\..\src\Tool_Abstract.cpp
..\..\src\WinSevenTaskbar.cpp
..\..\src\Config.h
..\..\src\Resource.h
..\..\src\ShellIntegration.h
..\..\src\Targetver.h
+..\..\src\Thread_CPUObserver.h
..\..\src\Thread_CueSplitter.h
..\..\src\Thread_DiskObserver.h
..\..\src\Thread_FileAnalyzer.h
..\..\src\Thread_MessageHandler.h
..\..\src\Thread_MessageProducer.h
..\..\src\Thread_Process.h
+..\..\src\Thread_RAMObserver.h
..\..\src\Tools.h
..\..\src\Tool_Abstract.h
..\..\src\WinSevenTaskbar.h
</widget>
</item>
<item>
- <widget class="QCheckBox" name="checkBox_shutdownComputer">
- <property name="text">
- <string>Shutdown the computer as soon as all files have been converted</string>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>0</number>
</property>
- </widget>
+ <item>
+ <widget class="QCheckBox" name="checkBox_shutdownComputer">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Shutdown the computer as soon as all files have been converted</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>12</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_cpuIco">
+ <property name="toolTip">
+ <string>CPU Usage (Overall)</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap resource="../res/Icons.qrc">:/icons/cpu.png</pixmap>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_cpu">
+ <property name="palette">
+ <palette>
+ <active>
+ <colorrole role="WindowText">
+ <brush brushstyle="SolidPattern">
+ <color alpha="255">
+ <red>0</red>
+ <green>0</green>
+ <blue>255</blue>
+ </color>
+ </brush>
+ </colorrole>
+ </active>
+ <inactive>
+ <colorrole role="WindowText">
+ <brush brushstyle="SolidPattern">
+ <color alpha="255">
+ <red>0</red>
+ <green>0</green>
+ <blue>255</blue>
+ </color>
+ </brush>
+ </colorrole>
+ </inactive>
+ <disabled>
+ <colorrole role="WindowText">
+ <brush brushstyle="SolidPattern">
+ <color alpha="255">
+ <red>120</red>
+ <green>120</green>
+ <blue>120</blue>
+ </color>
+ </brush>
+ </colorrole>
+ </disabled>
+ </palette>
+ </property>
+ <property name="font">
+ <font>
+ <weight>50</weight>
+ <bold>false</bold>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>CPU Usage (Overall)</string>
+ </property>
+ <property name="text">
+ <string notr="true">0%</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_3">
+ <property name="minimumSize">
+ <size>
+ <width>8</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::VLine</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_ramIco">
+ <property name="toolTip">
+ <string>Physical RAM Usage</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap resource="../res/Icons.qrc">:/icons/memory.png</pixmap>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_ram">
+ <property name="palette">
+ <palette>
+ <active>
+ <colorrole role="WindowText">
+ <brush brushstyle="SolidPattern">
+ <color alpha="255">
+ <red>0</red>
+ <green>0</green>
+ <blue>255</blue>
+ </color>
+ </brush>
+ </colorrole>
+ </active>
+ <inactive>
+ <colorrole role="WindowText">
+ <brush brushstyle="SolidPattern">
+ <color alpha="255">
+ <red>0</red>
+ <green>0</green>
+ <blue>255</blue>
+ </color>
+ </brush>
+ </colorrole>
+ </inactive>
+ <disabled>
+ <colorrole role="WindowText">
+ <brush brushstyle="SolidPattern">
+ <color alpha="255">
+ <red>120</red>
+ <green>120</green>
+ <blue>120</blue>
+ </color>
+ </brush>
+ </colorrole>
+ </disabled>
+ </palette>
+ </property>
+ <property name="toolTip">
+ <string>Physical RAM Usage</string>
+ </property>
+ <property name="text">
+ <string notr="true">0%</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_2">
+ <property name="minimumSize">
+ <size>
+ <width>8</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::VLine</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_diskIco">
+ <property name="toolTip">
+ <string>Free Disk Space (Temp Folder)</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap resource="../res/Icons.qrc">:/icons/drive.png</pixmap>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_disk">
+ <property name="palette">
+ <palette>
+ <active>
+ <colorrole role="WindowText">
+ <brush brushstyle="SolidPattern">
+ <color alpha="255">
+ <red>0</red>
+ <green>0</green>
+ <blue>255</blue>
+ </color>
+ </brush>
+ </colorrole>
+ </active>
+ <inactive>
+ <colorrole role="WindowText">
+ <brush brushstyle="SolidPattern">
+ <color alpha="255">
+ <red>0</red>
+ <green>0</green>
+ <blue>255</blue>
+ </color>
+ </brush>
+ </colorrole>
+ </inactive>
+ <disabled>
+ <colorrole role="WindowText">
+ <brush brushstyle="SolidPattern">
+ <color alpha="255">
+ <red>120</red>
+ <green>120</green>
+ <blue>120</blue>
+ </color>
+ </brush>
+ </colorrole>
+ </disabled>
+ </palette>
+ </property>
+ <property name="toolTip">
+ <string>Free Disk Space (Temp Folder)</string>
+ </property>
+ <property name="text">
+ <string notr="true">0%</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
<item>
<widget class="QFrame" name="frame">
<file>icons/controller.png</file>
<file>icons/control_pause_blue.png</file>
<file>icons/control_play_blue.png</file>
+ <file>icons/cpu.png</file>
<file>icons/cross.png</file>
<file>icons/date.png</file>
<file>icons/delete.png</file>
<file>icons/information.png</file>
<file>icons/lightning.png</file>
<file>icons/media_play.png</file>
+ <file>icons/memory.png</file>
<file>icons/money_dollar.png</file>
<file>icons/monitor.png</file>
<file>icons/music.png</file>
#define VER_LAMEXP_MINOR_LO 3
#define VER_LAMEXP_TYPE RC
#define VER_LAMEXP_PATCH 2
-#define VER_LAMEXP_BUILD 756
+#define VER_LAMEXP_BUILD 760
///////////////////////////////////////////////////////////////////////////////
// Tools versions
void CueImportDialog::importButtonClicked(void)
{
- static const __int64 oneGigabyte = 1073741824i64;
- static const __int64 minimumFreeDiskspaceMultiplier = 2i64;
+ static const unsigned __int64 oneGigabyte = 1073741824ui64;
+ static const unsigned __int64 minimumFreeDiskspaceMultiplier = 2ui64;
static const char *writeTestBuffer = "LAMEXP_WRITE_TEST";
QDir outputDir(m_outputDir);
writeTest.remove();
}
- qint64 currentFreeDiskspace = lamexp_free_diskspace(m_outputDir);
- if(currentFreeDiskspace < (oneGigabyte * minimumFreeDiskspaceMultiplier))
+ bool ok = false;
+ unsigned __int64 currentFreeDiskspace = lamexp_free_diskspace(m_outputDir, &ok);
+
+ if(ok && (currentFreeDiskspace < (oneGigabyte * minimumFreeDiskspaceMultiplier)))
{
QMessageBox::warning(this, tr("Low Diskspace Warning"), QString("<nobr>%1</nobr><br><nobr>%2</nobr>").arg(tr("There are less than %1 GB of free diskspace available in the selected output directory.").arg(QString::number(minimumFreeDiskspaceMultiplier)), tr("It is highly recommend to free up more diskspace before proceeding with the import!")));
return;
*/
void MainWindow::encodeButtonClicked(void)
{
- static const __int64 oneGigabyte = 1073741824i64;
- static const __int64 minimumFreeDiskspaceMultiplier = 2i64;
+ static const unsigned __int64 oneGigabyte = 1073741824ui64;
+ static const unsigned __int64 minimumFreeDiskspaceMultiplier = 2ui64;
static const char *writeTestBuffer = "LAMEXP_WRITE_TEST";
ABORT_IF_BUSY;
return;
}
- qint64 currentFreeDiskspace = lamexp_free_diskspace(tempFolder);
- if(currentFreeDiskspace < (oneGigabyte * minimumFreeDiskspaceMultiplier))
+ bool ok = false;
+ unsigned __int64 currentFreeDiskspace = lamexp_free_diskspace(tempFolder, &ok);
+
+ if(ok && (currentFreeDiskspace < (oneGigabyte * minimumFreeDiskspaceMultiplier)))
{
QStringList tempFolderParts = tempFolder.split("/", QString::SkipEmptyParts, Qt::CaseInsensitive);
tempFolderParts.takeLast();
#include "Model_Progress.h"
#include "Model_Settings.h"
#include "Thread_Process.h"
+#include "Thread_CPUObserver.h"
+#include "Thread_RAMObserver.h"
#include "Thread_DiskObserver.h"
#include "Dialog_LogView.h"
#include "Encoder_MP3.h"
m_settings(settings),
m_metaInfo(metaInfo),
m_shutdownFlag(shutdownFlag_None),
- m_diskObserver(NULL)
+ m_diskObserver(NULL),
+ m_cpuObserver(NULL),
+ m_ramObserver(NULL)
{
//Init the dialog, from the .ui file
setupUi(this);
if(m_diskObserver)
{
m_diskObserver->stop();
- m_diskObserver->wait(15000);
+ if(!m_diskObserver->wait(15000))
+ {
+ m_diskObserver->terminate();
+ m_diskObserver->wait();
+ }
+ }
+ if(m_cpuObserver)
+ {
+ m_cpuObserver->stop();
+ if(!m_cpuObserver->wait(15000))
+ {
+ m_cpuObserver->terminate();
+ m_cpuObserver->wait();
+ }
+ }
+ if(m_ramObserver)
+ {
+ m_ramObserver->stop();
+ if(!m_ramObserver->wait(15000))
+ {
+ m_ramObserver->terminate();
+ m_ramObserver->wait();
+ }
}
LAMEXP_DELETE(m_progressIndicator);
LAMEXP_DELETE(m_contextMenu);
LAMEXP_DELETE(m_systemTray);
LAMEXP_DELETE(m_diskObserver);
+ LAMEXP_DELETE(m_cpuObserver);
+ LAMEXP_DELETE(m_ramObserver);
WinSevenTaskbar::setOverlayIcon(this, NULL);
WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarNoState);
SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS);
}
+ ramUsageHasChanged(0.0);
+ cpuUsageHasChanged(0.0);
+ diskUsageHasChanged(0ui64);
+
QTimer::singleShot(1000, this, SLOT(initEncoding()));
}
{
m_diskObserver = new DiskObserverThread(m_settings->customTempPathEnabled() ? m_settings->customTempPath() : lamexp_temp_folder2());
connect(m_diskObserver, SIGNAL(messageLogged(QString,bool)), m_progressModel, SLOT(addSystemMessage(QString,bool)), Qt::QueuedConnection);
+ connect(m_diskObserver, SIGNAL(freeSpaceChanged(quint64)), this, SLOT(diskUsageHasChanged(quint64)), Qt::QueuedConnection);
m_diskObserver->start();
}
+ if(!m_cpuObserver)
+ {
+ m_cpuObserver = new CPUObserverThread();
+ connect(m_cpuObserver, SIGNAL(currentUsageChanged(double)), this, SLOT(cpuUsageHasChanged(double)), Qt::QueuedConnection);
+ m_cpuObserver->start();
+ }
+ if(!m_ramObserver)
+ {
+ m_ramObserver = new RAMObserverThread();
+ connect(m_ramObserver, SIGNAL(currentUsageChanged(double)), this, SLOT(ramUsageHasChanged(double)), Qt::QueuedConnection);
+ m_ramObserver->start();
+ }
int maximumInstances = max(min(m_settings->maximumInstances(), MAX_INSTANCES), 0);
if(maximumInstances < 1)
}
}
+void ProcessingDialog::cpuUsageHasChanged(const double val)
+{
+
+ this->label_cpu->setText(QString().sprintf(" %d%%", qRound(val * 100.0)));
+}
+
+void ProcessingDialog::ramUsageHasChanged(const double val)
+{
+
+ this->label_ram->setText(QString().sprintf(" %d%%", qRound(val * 100.0)));
+}
+
+void ProcessingDialog::diskUsageHasChanged(const quint64 val)
+{
+ int postfix = 0;
+ const char *postfixStr[6] = {"B", "KB", "MB", "GB", "TB", "PB"};
+ double space = static_cast<double>(val);
+
+ while((space >= 1000.0) && (postfix < 5))
+ {
+ space = space / 1024.0;
+ postfix++;
+ }
+
+ this->label_disk->setText(QString().sprintf(" %3.1f %s", space, postfixStr[postfix]));
+}
+
bool ProcessingDialog::shutdownComputer(void)
{
const int iTimeout = m_settings->hibernateComputer() ? 10 : 30;
class FileListModel;
class AudioFileModel;
class SettingsModel;
+class CPUObserverThread;
+class RAMObserverThread;
class DiskObserverThread;
enum shutdownFlag_t
void contextMenuDetailsActionTriggered(void);
void contextMenuShowFileActionTriggered(void);
void systemTrayActivated(QSystemTrayIcon::ActivationReason reason);
+ void cpuUsageHasChanged(const double val);
+ void ramUsageHasChanged(const double val);
+ void diskUsageHasChanged(const quint64 val);
protected:
void showEvent(QShowEvent *event);
bool m_userAborted;
QSystemTrayIcon *m_systemTray;
int m_shutdownFlag;
+ CPUObserverThread *m_cpuObserver;
+ RAMObserverThread *m_ramObserver;
DiskObserverThread *m_diskObserver;
};
/*
* Get number of free bytes on disk
*/
-__int64 lamexp_free_diskspace(const QString &path)
+unsigned __int64 lamexp_free_diskspace(const QString &path, bool *ok)
{
ULARGE_INTEGER freeBytesAvailable, totalNumberOfBytes, totalNumberOfFreeBytes;
if(GetDiskFreeSpaceExW(reinterpret_cast<const wchar_t*>(QDir::toNativeSeparators(path).utf16()), &freeBytesAvailable, &totalNumberOfBytes, &totalNumberOfFreeBytes))
{
+ if(ok) *ok = true;
return freeBytesAvailable.QuadPart;
}
else
{
+ if(ok) *ok = false;
return 0;
}
}
bool lamexp_clean_folder(const QString &folderPath);
const QString lamexp_version2string(const QString &pattern, unsigned int version, const QString &defaultText);
QString lamexp_known_folder(lamexp_known_folder_t folder_id);
-__int64 lamexp_free_diskspace(const QString &path);
+unsigned __int64 lamexp_free_diskspace(const QString &path, bool *ok = NULL);
bool lamexp_remove_file(const QString &filename);
bool lamexp_themes_enabled(void);
void lamexp_blink_window(QWidget *poWindow, unsigned int count = 10, unsigned int delay = 150);
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// LameXP - Audio Encoder Front-End
+// Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@GMX.de>
+//
+// 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.
+//
+// http://www.gnu.org/licenses/gpl-2.0.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#include "Thread_CPUObserver.h"
+#include "Global.h"
+
+#include <QDir>
+
+////////////////////////////////////////////////////////////
+// Constructor & Destructor
+////////////////////////////////////////////////////////////
+
+CPUObserverThread::CPUObserverThread(void)
+{
+ m_terminated = false;
+}
+
+CPUObserverThread::~CPUObserverThread(void)
+{
+}
+
+////////////////////////////////////////////////////////////
+// Protected functions
+////////////////////////////////////////////////////////////
+
+void CPUObserverThread::run(void)
+{
+ qDebug("CPU observer started!");
+ m_terminated = false;
+
+ try
+ {
+ observe();
+ }
+ catch(...)
+ {
+ fflush(stdout);
+ fflush(stderr);
+ fprintf(stderr, "\nGURU MEDITATION !!!\n");
+ FatalAppExit(0, L"Unhandeled exception error, application will exit!");
+ TerminateProcess(GetCurrentProcess(), -1);
+ }
+}
+
+ULONGLONG CPUObserverThread::filetime2ulonglong(const void *ftime)
+{
+ ULARGE_INTEGER tmp; tmp.QuadPart = 0UI64;
+ const FILETIME* fileTime = reinterpret_cast<const FILETIME*>(ftime);
+ tmp.LowPart = fileTime->dwLowDateTime;
+ tmp.HighPart = fileTime->dwHighDateTime;
+ return tmp.QuadPart;
+}
+
+void CPUObserverThread::observe(void)
+{
+ ULONGLONG sys[2], usr[2], idl[2];
+ FILETIME sysTime, usrTime, idlTime;
+ bool first = true;
+ double previous = -1.0;
+
+ for(size_t i = 0; i < 2; i++)
+ {
+ sys[i] = 0; usr[i] = 0; idl[i] = 0;
+ }
+
+ while(!m_terminated)
+ {
+ if(GetSystemTimes(&idlTime, &sysTime, &usrTime))
+ {
+ sys[1] = sys[0]; sys[0] = filetime2ulonglong(&sysTime);
+ usr[1] = usr[0]; usr[0] = filetime2ulonglong(&usrTime);
+ idl[1] = idl[0]; idl[0] = filetime2ulonglong(&idlTime);
+
+ if(first)
+ {
+ first = false;
+ emit currentUsageChanged(1.0);
+ msleep(250);
+ continue;
+ }
+
+ ULONGLONG timeIdl = (idl[0] - idl[1]); //Idle time only
+ ULONGLONG timeSys = (sys[0] - sys[1]); //Kernel mode time (incl. Idle time!)
+ ULONGLONG timeUsr = (usr[0] - usr[1]); //User mode time only
+
+ ULONGLONG timeSum = timeUsr + timeSys; //Overall CPU time that has elapsed
+ ULONGLONG timeWrk = timeSum - timeIdl; //Time the CPU spent working
+
+ if((timeSum > 0) || (timeWrk > 0))
+ {
+ double current = static_cast<double>(timeWrk) / static_cast<double>(timeSum);
+ if(current != previous)
+ {
+ emit currentUsageChanged(current);
+ previous = current;
+ }
+ }
+ }
+ msleep(1000);
+ }
+}
+
+////////////////////////////////////////////////////////////
+// SLOTS
+////////////////////////////////////////////////////////////
+
+/*NONE*/
+
+////////////////////////////////////////////////////////////
+// EVENTS
+////////////////////////////////////////////////////////////
+
+/*NONE*/
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// LameXP - Audio Encoder Front-End
+// Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@GMX.de>
+//
+// 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.
+//
+// http://www.gnu.org/licenses/gpl-2.0.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#pragma once
+
+#include <QThread>
+
+class CPUObserverThread: public QThread
+{
+ Q_OBJECT
+
+public:
+ CPUObserverThread(void);
+ ~CPUObserverThread(void);
+
+ void stop(void) { m_terminated = true; }
+
+protected:
+ void run(void);
+ void observe(void);
+
+signals:
+ void currentUsageChanged(const double usage);
+
+private:
+ volatile bool m_terminated;
+ static inline unsigned __int64 filetime2ulonglong(const void *ftime);
+};
#include <QDir>
-#define MIN_DISKSPACE 104857600LL //100 MB
+#define MIN_DISKSPACE 104857600ui64 //100 MB
////////////////////////////////////////////////////////////
// Constructor & Destructor
void DiskObserverThread::run(void)
{
qDebug("DiskSpace observer started!");
+ m_terminated = false;
try
{
void DiskObserverThread::observe(void)
{
- __int64 freeSpace, minimumSpace = MIN_DISKSPACE;
+ unsigned __int64 minimumSpace = MIN_DISKSPACE;
+ unsigned __int64 freeSpace, previousSpace = 0ui64;
+ bool ok = false;
while(!m_terminated)
{
- freeSpace = lamexp_free_diskspace(m_path);
- if(freeSpace < minimumSpace)
+ freeSpace = lamexp_free_diskspace(m_path, &ok);
+ if(ok)
{
- qWarning("Free diskspace on '%s' dropped below %s MB, only %s MB free!", m_path.toUtf8().constData(), QString::number(minimumSpace / 1048576ui64).toUtf8().constData(), QString::number(freeSpace / 1048576ui64).toUtf8().constData());
- emit messageLogged(tr("Low diskspace on drive '%1' detected (only %2 MB are free), problems can occur!").arg(QDir::toNativeSeparators(m_path), QString::number(freeSpace / 1048576ui64)), true);
- minimumSpace = min(freeSpace, (minimumSpace >> 1));
+ if(freeSpace < minimumSpace)
+ {
+ qWarning("Free diskspace on '%s' dropped below %s MB, only %s MB free!", m_path.toUtf8().constData(), QString::number(minimumSpace / 1048576ui64).toUtf8().constData(), QString::number(freeSpace / 1048576ui64).toUtf8().constData());
+ emit messageLogged(tr("Low diskspace on drive '%1' detected (only %2 MB are free), problems can occur!").arg(QDir::toNativeSeparators(m_path), QString::number(freeSpace / 1048576ui64)), true);
+ minimumSpace = min(freeSpace, (minimumSpace >> 1));
+ }
+ if(freeSpace != previousSpace)
+ {
+ emit freeSpaceChanged(freeSpace);
+ previousSpace = freeSpace;
+ }
}
- Sleep(1000);
+ msleep(1000);
}
}
signals:
void messageLogged(const QString &text, bool isWarning);
+ void freeSpaceChanged(const quint64);
private:
volatile bool m_terminated;
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// LameXP - Audio Encoder Front-End
+// Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@GMX.de>
+//
+// 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.
+//
+// http://www.gnu.org/licenses/gpl-2.0.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#include "Thread_RAMObserver.h"
+#include "Global.h"
+
+#include <QDir>
+
+////////////////////////////////////////////////////////////
+// Constructor & Destructor
+////////////////////////////////////////////////////////////
+
+RAMObserverThread::RAMObserverThread(void)
+{
+ m_terminated = false;
+}
+
+RAMObserverThread::~RAMObserverThread(void)
+{
+}
+
+////////////////////////////////////////////////////////////
+// Protected functions
+////////////////////////////////////////////////////////////
+
+void RAMObserverThread::run(void)
+{
+ qDebug("RAM observer started!");
+ m_terminated = false;
+
+ try
+ {
+ observe();
+ }
+ catch(...)
+ {
+ fflush(stdout);
+ fflush(stderr);
+ fprintf(stderr, "\nGURU MEDITATION !!!\n");
+ FatalAppExit(0, L"Unhandeled exception error, application will exit!");
+ TerminateProcess(GetCurrentProcess(), -1);
+ }
+}
+
+void RAMObserverThread::observe(void)
+{
+ MEMORYSTATUSEX memoryStatus;
+ double previous = -1.0;
+
+ while(!m_terminated)
+ {
+ memset(&memoryStatus, 0, sizeof(MEMORYSTATUSEX));
+ memoryStatus.dwLength = sizeof(MEMORYSTATUSEX);
+
+ if(GlobalMemoryStatusEx(&memoryStatus))
+ {
+ double current = static_cast<double>(memoryStatus.dwMemoryLoad) / 100.0;
+ if(current != previous)
+ {
+ emit currentUsageChanged(current);
+ previous = current;
+ }
+ }
+ msleep(1000);
+ }
+}
+
+////////////////////////////////////////////////////////////
+// SLOTS
+////////////////////////////////////////////////////////////
+
+/*NONE*/
+
+////////////////////////////////////////////////////////////
+// EVENTS
+////////////////////////////////////////////////////////////
+
+/*NONE*/
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// LameXP - Audio Encoder Front-End
+// Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@GMX.de>
+//
+// 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.
+//
+// http://www.gnu.org/licenses/gpl-2.0.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#pragma once
+
+#include <QThread>
+
+class RAMObserverThread: public QThread
+{
+ Q_OBJECT
+
+public:
+ RAMObserverThread(void);
+ ~RAMObserverThread(void);
+
+ void stop(void) { m_terminated = true; }
+
+protected:
+ void run(void);
+ void observe(void);
+
+signals:
+ void currentUsageChanged(const double usage);
+
+private:
+ volatile bool m_terminated;
+};