Better handling of system shutdown. Now using the Qt event system to broadcast a special event when the system is going to shutdown (i.e. WM_QUERYENDSESSION or WM_ENDSESSION). This gives each top-level widget the chance to react to the system shutdown *before* we return from the message handler. Doing any clean-up after returning from the message handler is impossible, because Windows will kill the process immediately after WM_ENDSESSION has been processed. Note that Windows XP (and earlier) will NOT send WM_QUERYENDSESSION or WM_ENDSESSION to processes that have a console attached! Therefore, if we have a debug console attached, we cannot do anything on these systems. Our process will be killed without any notification...

Also improved LameXP's IPC mechanism: There now are several slots for IPC-commands in the shared memory area ("queue support"). This way, the sender can post several commands in sequence without getting blocked. The receiver can process those at a later time.
This commit is contained in:
LoRd_MuldeR 2011-12-29 14:42:20 +01:00
parent 1bbda2c030
commit 1f001a65e2
17 changed files with 623 additions and 493 deletions

View File

@ -26,7 +26,9 @@ a:visited { color: #0000EE; }
<li>Implemented coalescing of update signals to reduce the CPU usage of the LameXP process (<a href="http://forum.doom9.org/showpost.php?p=1539631&postcount=507" target="_blank">details</a>)
<li>Run more than four instances in parallel on systems with more than four CPU cores (<a href="FAQ.html#89cbd3d0" target="_blank">details</a>)
<li>Improved handling of different character encodings for Playlist and Cue Sheet import
<li>Improved LameXP inter-process communication by adding queue support
<li>Workaround for a bug that causes MediaInfo to not detect the duration of Wave files (64-Bit only)
<li>Prevent LameXP from blocking a system shutdown (encoding process is aborted, if necessary)
</ul><br>
<a name="4.03"></a>Changes between v4.02 and v4.03:<br><ul>

View File

@ -1412,9 +1412,9 @@
</message>
<message>
<location filename="../../gui/MainWindow.ui" line="3590"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Check for Updates</source>
<translation type="unfinished"></translation>
</message>
@ -1455,13 +1455,13 @@
</message>
<message>
<location filename="../../gui/MainWindow.ui" line="3659"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<source>Disable Update Reminder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../gui/MainWindow.ui" line="3667"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<source>Disable Sound Effects</source>
<translation type="unfinished"></translation>
</message>
@ -1547,7 +1547,7 @@
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="502"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3035"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3060"/>
<source>Access Denied</source>
<translation type="unfinished"></translation>
</message>
@ -1647,604 +1647,604 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="943"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="968"/>
<source>License Declined</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="943"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="968"/>
<source>You have declined the license. Consequently the application will exit now!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="943"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="968"/>
<source>Goodbye!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<source>LameXP - Expired</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<source>This demo (pre-release) version of LameXP has expired at %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<source>LameXP is free software and release versions won&apos;t expire.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<source>Exit Program</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="988"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1013"/>
<source>It seems that a bogus anti-virus software is slowing down the startup of LameXP.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="989"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1014"/>
<source>Please refer to the %1 document for details and solutions!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="990"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1015"/>
<source>Slow Startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="990"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1067"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1136"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1137"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1641"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2978"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1015"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1092"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1161"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1162"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3003"/>
<source>Discard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="990"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1067"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1015"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1092"/>
<source>Don&apos;t Show Again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<source>Urgent Update</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<source>Your version of LameXP is more than a year old. Time for an update!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1017"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1042"/>
<source>Skipping update check this time, please be patient...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1477"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1487"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1502"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1512"/>
<source>Update Reminder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Your last update check was more than 14 days ago. Check for updates now?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Your did not check for LameXP updates yet. Check for updates now?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Postpone</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1045"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1070"/>
<source>LameXP detected that your version of the Nero AAC encoder is outdated!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1046"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1071"/>
<source>The current version available is %1 (or later), but you still have version %2 installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1046"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1071"/>
<source>n/a</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1047"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1072"/>
<source>You can download the latest version of the Nero AAC encoder from the Nero website at:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1049"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1074"/>
<source>(Hint: Please ignore the name of the downloaded ZIP file and check the included &apos;changelog.txt&apos; instead!)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1050"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1075"/>
<source>AAC Encoder Outdated</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1061"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1086"/>
<source>The Nero AAC encoder could not be found. AAC encoding support will be disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1062"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1087"/>
<source>Please put &apos;neroAacEnc.exe&apos;, &apos;neroAacDec.exe&apos; and &apos;neroAacTag.exe&apos; into the LameXP directory!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1063"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1088"/>
<source>Your LameXP directory is located here:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1065"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1090"/>
<source>You can download the Nero AAC encoder for free from the official Nero website at:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1067"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1092"/>
<source>AAC Support Disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1172"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1226"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1236"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1197"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1251"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1261"/>
<source>LameXP</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1172"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1197"/>
<source>You must add at least one file to the list before proceeding!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Your currently selected TEMP folder does not exist anymore:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Restore Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1197"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1222"/>
<source>There are less than %1 GB of free diskspace available on your system&apos;s TEMP folder.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1198"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1223"/>
<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="1199"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1224"/>
<source>Your TEMP folder is located at:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Low Diskspace Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Abort Encoding Process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Clean Disk Now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1210"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1235"/>
<source>Low Diskspace</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1210"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1235"/>
<source>You are proceeding with low diskspace. Problems might occur!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1226"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1251"/>
<source>Sorry, an unsupported encoder has been chosen!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1236"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1261"/>
<source>Cannot write to the selected output directory.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1236"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1261"/>
<source>Please choose a different directory!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1442"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1467"/>
<source>Load Translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1444"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1469"/>
<source>Translation Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<source>Do you really want to disable the update reminder?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<source>No</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1477"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1502"/>
<source>The update reminder has been disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1477"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1502"/>
<source>Please remember to check for updates at regular intervals!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1487"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1512"/>
<source>The update reminder has been re-enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<source>Do you really want to disable all sound effects?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1503"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1513"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1528"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1538"/>
<source>Sound Effects</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1503"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1528"/>
<source>All sound effects have been disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1513"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1538"/>
<source>The sound effects have been re-enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1529"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1539"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1554"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1564"/>
<source>Nero AAC Notifications</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<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="1529"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1554"/>
<source>All Nero AAC Encoder notifications have been disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1539"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1564"/>
<source>The Nero AAC Encoder notifications have been re-enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1555"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1565"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1580"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1590"/>
<source>Slow Startup Notifications</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<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="1555"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1580"/>
<source>The slow startup notifications have been disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1565"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1590"/>
<source>The slow startup notifications have been re-enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1588"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1592"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1613"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1617"/>
<source>Open Cue Sheet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1588"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1594"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1613"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1619"/>
<source>Cue Sheet File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1641"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1654"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1679"/>
<source>Beta Updates</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<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="1641"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<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="1641"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<source>Check Now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1654"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1679"/>
<source>LameXP will &lt;i&gt;not&lt;/i&gt; check for Beta (pre-release) updates from now on.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1678"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1688"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1703"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1713"/>
<source>Hibernate Computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<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="1678"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1703"/>
<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="1688"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1713"/>
<source>LameXP will &lt;i&gt;not&lt;/i&gt; hibernate the computer on shutdown from now on.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1705"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1716"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1730"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1741"/>
<source>Shell Integration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<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="1705"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1730"/>
<source>The LameXP shell integration has been disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1716"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1741"/>
<source>The LameXP shell integration has been re-enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1813"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1822"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1838"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1847"/>
<source>Add file(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1854"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1858"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1879"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1883"/>
<source>Add Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2233"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2276"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2258"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2301"/>
<source>New Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2276"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2301"/>
<source>Enter the name of the new folder:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2308"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2333"/>
<source>Failed to create folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2308"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2333"/>
<source>The new folder could not be created:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2308"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2333"/>
<source>Drive is read-only or insufficient access rights!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2601"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2604"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2607"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2613"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2626"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2629"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2632"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2638"/>
<source>Quality Level %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2610"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2630"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2650"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2635"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2655"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2675"/>
<source>Compression %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2616"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2636"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2659"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2641"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2661"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2684"/>
<source>Uncompressed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2683"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2708"/>
<source>Best Quality (Very Slow)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2686"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2711"/>
<source>High Quality (Recommended)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2689"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2714"/>
<source>Average Quality (Default)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2692"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2717"/>
<source>Low Quality (Fast)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2695"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2720"/>
<source>Poor Quality (Very Fast)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2967"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2992"/>
<source>File name without extension</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2968"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2993"/>
<source>Track number with leading zero</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2969"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2994"/>
<source>Track title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2970"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2995"/>
<source>Artist name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2971"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2996"/>
<source>Album name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2972"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2997"/>
<source>Year with (at least) four digits</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2973"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2998"/>
<source>Comment</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2975"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3000"/>
<source>Characters forbidden in file names:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2978"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3003"/>
<source>Rename Macros</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2991"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3016"/>
<source>%1 Instance(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3035"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3060"/>
<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="3103"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3128"/>
<source>Already Running</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3103"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3128"/>
<source>LameXP is already running, please use the running instance!</source>
<translation type="unfinished"></translation>
</message>
@ -2714,121 +2714,121 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="344"/>
<location filename="../../src/Dialog_Processing.cpp" line="365"/>
<source>Encoding files, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="387"/>
<location filename="../../src/Dialog_Processing.cpp" line="408"/>
<source>Multi-threading enabled: Running %1 instances in parallel!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="407"/>
<location filename="../../src/Dialog_Processing.cpp" line="428"/>
<source>Aborted! Waiting for running jobs to terminate...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="422"/>
<location filename="../../src/Dialog_Processing.cpp" line="443"/>
<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="450"/>
<location filename="../../src/Dialog_Processing.cpp" line="471"/>
<source>Creating the playlist file, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="460"/>
<location filename="../../src/Dialog_Processing.cpp" line="481"/>
<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="460"/>
<location filename="../../src/Dialog_Processing.cpp" line="481"/>
<source>Process was aborted prematurely by the user!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="461"/>
<location filename="../../src/Dialog_Processing.cpp" line="482"/>
<source>LameXP - Aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="461"/>
<location filename="../../src/Dialog_Processing.cpp" line="482"/>
<source>Process was aborted by the user.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="477"/>
<location filename="../../src/Dialog_Processing.cpp" line="498"/>
<source>Process finished after %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="486"/>
<location filename="../../src/Dialog_Processing.cpp" line="507"/>
<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="487"/>
<location filename="../../src/Dialog_Processing.cpp" line="508"/>
<source>LameXP - Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="487"/>
<location filename="../../src/Dialog_Processing.cpp" line="508"/>
<source>At least one file has failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="497"/>
<location filename="../../src/Dialog_Processing.cpp" line="498"/>
<location filename="../../src/Dialog_Processing.cpp" line="518"/>
<location filename="../../src/Dialog_Processing.cpp" line="519"/>
<source>All files completed successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="498"/>
<location filename="../../src/Dialog_Processing.cpp" line="519"/>
<source>LameXP - Done</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="916"/>
<location filename="../../src/Dialog_Processing.cpp" line="933"/>
<source>Playlist creation failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="916"/>
<location filename="../../src/Dialog_Processing.cpp" line="933"/>
<source>The playlist file could not be created:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="986"/>
<location filename="../../src/Dialog_Processing.cpp" line="1003"/>
<source>Warning: Computer will shutdown in %1 seconds...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="990"/>
<location filename="../../src/Dialog_Processing.cpp" line="991"/>
<location filename="../../src/Dialog_Processing.cpp" line="1007"/>
<location filename="../../src/Dialog_Processing.cpp" line="1008"/>
<source>Cancel Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1046"/>
<location filename="../../src/Dialog_Processing.cpp" line="1063"/>
<source>hour(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1047"/>
<location filename="../../src/Dialog_Processing.cpp" line="1051"/>
<location filename="../../src/Dialog_Processing.cpp" line="1064"/>
<location filename="../../src/Dialog_Processing.cpp" line="1068"/>
<source>minute(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1052"/>
<location filename="../../src/Dialog_Processing.cpp" line="1056"/>
<location filename="../../src/Dialog_Processing.cpp" line="1069"/>
<location filename="../../src/Dialog_Processing.cpp" line="1073"/>
<source>second(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1057"/>
<location filename="../../src/Dialog_Processing.cpp" line="1074"/>
<source>millisecond(s)</source>
<translation type="unfinished"></translation>
</message>
@ -2849,22 +2849,22 @@
<context>
<name>QApplication</name>
<message>
<location filename="../../src/Global.cpp" line="703"/>
<location filename="../../src/Global.cpp" line="745"/>
<source>Executable &apos;%1&apos; doesn&apos;t support Windows compatibility mode.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Global.cpp" line="918"/>
<location filename="../../src/Global.cpp" line="982"/>
<source>Executable &apos;%1&apos; requires Qt v%2, but found Qt v%3.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Global.cpp" line="923"/>
<location filename="../../src/Global.cpp" line="987"/>
<source>Executable &apos;%1&apos; was built for Qt &apos;%2&apos;, but found Qt &apos;%3&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Global.cpp" line="932"/>
<location filename="../../src/Global.cpp" line="996"/>
<source>Executable &apos;%1&apos; requires Windows 2000 or later.</source>
<translation type="unfinished"></translation>
</message>

View File

@ -1412,9 +1412,9 @@
</message>
<message>
<location filename="../../gui/MainWindow.ui" line="3590"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Check for Updates</source>
<translation type="unfinished">Sprawdź aktualizacje</translation>
</message>
@ -1455,13 +1455,13 @@
</message>
<message>
<location filename="../../gui/MainWindow.ui" line="3659"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<source>Disable Update Reminder</source>
<translation type="unfinished">Wyłącz przypominanie o aktualizacji</translation>
</message>
<message>
<location filename="../../gui/MainWindow.ui" line="3667"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<source>Disable Sound Effects</source>
<translation type="unfinished">Wyłącz efekty dźwiękowe</translation>
</message>
@ -1547,7 +1547,7 @@
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="502"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3035"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3060"/>
<source>Access Denied</source>
<translation type="unfinished">Dostęp zablokowany</translation>
</message>
@ -1642,193 +1642,193 @@
<translation type="unfinished">Zapamiętaj wybrany folder</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="943"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="968"/>
<source>License Declined</source>
<translation type="unfinished">Licencja odrzucona</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="943"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="968"/>
<source>You have declined the license. Consequently the application will exit now!</source>
<translation type="unfinished">Odrzuciłeś licencję. W takim razie program zostanie teraz zamknięty!</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="943"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="968"/>
<source>Goodbye!</source>
<translation type="unfinished">Naraska!</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<source>LameXP - Expired</source>
<translation type="unfinished">LameXP - Termin wygasł</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<source>This demo (pre-release) version of LameXP has expired at %1.</source>
<translation type="unfinished">Ta wersja demo (beta) LameXP wygasła %1.</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<source>LameXP is free software and release versions won&apos;t expire.</source>
<translation type="unfinished">LameXP jest darmowym oprogramowaniem i pełna wersja nie wygasa.</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<source>Exit Program</source>
<translation type="unfinished">Wyjdź z programu</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="988"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1013"/>
<source>It seems that a bogus anti-virus software is slowing down the startup of LameXP.</source>
<translation type="unfinished">Najwyraźniej twoje oprogramowanie antywirusowe spowalnia uruchamianie się LameXP.</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="989"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1014"/>
<source>Please refer to the %1 document for details and solutions!</source>
<translation type="unfinished">Prosze sprawdzić dokument %1 w celu dalszych szcegółów i rozwiązań!</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="990"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1015"/>
<source>Slow Startup</source>
<translation type="unfinished">Powolny start</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="990"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1067"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1136"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1137"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1641"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2978"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1015"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1092"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1161"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1162"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3003"/>
<source>Discard</source>
<translation type="unfinished">Zamknij</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="990"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1067"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1015"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1092"/>
<source>Don&apos;t Show Again</source>
<translation type="unfinished">Nie pokazuj ponownie</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<source>Urgent Update</source>
<translation type="unfinished">Ważna aktualizacja</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<source>Your version of LameXP is more than a year old. Time for an update!</source>
<translation type="unfinished">Twoja wersja LameXP jest starsza niż rok! Czas na aktualizację!</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1477"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1487"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1502"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1512"/>
<source>Update Reminder</source>
<translation type="unfinished">Powiadomienie aktualizacji</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Your last update check was more than 14 days ago. Check for updates now?</source>
<translation type="unfinished">Ostatnie sprawdzenie aktualizacji było ponad 14 dni temu. Sprawdzić teraz aktualizacje?</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Your did not check for LameXP updates yet. Check for updates now?</source>
<translation type="unfinished">Nie sprawdzałeś jeszcze aktualizacji LameXP. Sprawdzić teraz aktualizacje?</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Postpone</source>
<translation type="unfinished">Przełóż</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1045"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1070"/>
<source>LameXP detected that your version of the Nero AAC encoder is outdated!</source>
<translation type="unfinished">LameXP wykrył że Twoja wersja kodera Nero AAC jest nieaktualna!</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1046"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1071"/>
<source>The current version available is %1 (or later), but you still have version %2 installed.</source>
<translation type="unfinished">Wersją dostępną obecnie jest %1, Twoja wersja to %2.</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1046"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1071"/>
<source>n/a</source>
<translation type="unfinished">n/d</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1047"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1072"/>
<source>You can download the latest version of the Nero AAC encoder from the Nero website at:</source>
<translation type="unfinished">Możesz pobrać najnowszą wersję kodera Nero AAC ze strony Nero:</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1050"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1075"/>
<source>AAC Encoder Outdated</source>
<translation type="unfinished">Koder AAC jest nieaktualny</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1061"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1086"/>
<source>The Nero AAC encoder could not be found. AAC encoding support will be disabled.</source>
<translation type="unfinished">Nie można odnaleźć kodera Nero AAC. Kompresja formatu AAC zostanie wyłączona.</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1062"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1087"/>
<source>Please put &apos;neroAacEnc.exe&apos;, &apos;neroAacDec.exe&apos; and &apos;neroAacTag.exe&apos; into the LameXP directory!</source>
<translation type="unfinished">Prosze skopiować &apos;neroAacEnc.exe&apos;, &apos;neroAacDec.exe&apos;, oraz &apos;neroAacTag.exe&apos; do folderu LameXP!</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1063"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1088"/>
<source>Your LameXP directory is located here:</source>
<translation type="unfinished">Folder aplikacji LameXP znajduje się tutaj:</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1065"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1090"/>
<source>You can download the Nero AAC encoder for free from the official Nero website at:</source>
<translation type="unfinished">Możesz pobrać koder Nero AAC za darmo z oficjalnej strony Nero:</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1067"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1092"/>
<source>AAC Support Disabled</source>
<translation type="unfinished">Wsparcie dla AAC wyłączone</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1172"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1226"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1236"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1197"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1251"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1261"/>
<source>LameXP</source>
<translation type="unfinished">LameXP</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1172"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1197"/>
<source>You must add at least one file to the list before proceeding!</source>
<translation type="unfinished">Powinienieś dodać przynajmniej jeden plik do listy aby zacząć działać!</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Not Found</source>
<translation type="unfinished">Nie znaleziono</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Your currently selected TEMP folder does not exist anymore:</source>
<translation type="unfinished">Wybrany przez Ciebie folder tymczasowy TEMP już nie istnieje:</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Restore Default</source>
<translation type="unfinished">Przywróć domyślne</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Cancel</source>
<translation type="unfinished">Anuluj</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<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="1197"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1222"/>
<source>There are less than %1 GB of free diskspace available on your system&apos;s TEMP folder.</source>
<translation type="unfinished">Jest mniej niż %1 GB dostępnego miejsca w systemowym folderze TEMP.</translation>
</message>
@ -1838,413 +1838,413 @@
<translation type="unfinished">WERSJA DEMO</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1049"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1074"/>
<source>(Hint: Please ignore the name of the downloaded ZIP file and check the included &apos;changelog.txt&apos; instead!)</source>
<translation type="unfinished">(Podpowiedź: Zignoruj nazwę pobranego pliku ZIP, w zamian sprawdż załączony w archiwum plik &quot;changelog.txt&quot;!)</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1198"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1223"/>
<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="1199"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1224"/>
<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="1202"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Abort Encoding Process</source>
<translation type="unfinished">Przerwij proces kompresji</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Clean Disk Now</source>
<translation type="unfinished">Wykonaj oczyszczanie dysku</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Ignore</source>
<translation type="unfinished">Ignoruj</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1017"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1042"/>
<source>Skipping update check this time, please be patient...</source>
<translation type="unfinished">Pomijanie sprawdzania aktualizacji, prosze czekać...</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1210"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1235"/>
<source>Low Diskspace</source>
<translation type="unfinished">Mało miejsca na dysku</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1210"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1235"/>
<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="1226"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1251"/>
<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="1236"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1261"/>
<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="1236"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1261"/>
<source>Please choose a different directory!</source>
<translation type="unfinished">Prosze wybrać inną lokalizację!</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1442"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1467"/>
<source>Load Translation</source>
<translation type="unfinished">Zaladuj plik językowy</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1444"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1469"/>
<source>Translation Files</source>
<translation type="unfinished">Pliki językowe</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<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="1475"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<source>Yes</source>
<translation type="unfinished">Tak</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<source>No</source>
<translation type="unfinished">Nie</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1477"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1502"/>
<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="1477"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1502"/>
<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="1487"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1512"/>
<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="1501"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<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="1503"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1513"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1528"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1538"/>
<source>Sound Effects</source>
<translation type="unfinished">Efekty dźwiękowe</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1503"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1528"/>
<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="1513"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1538"/>
<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="1527"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1529"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1539"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1554"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1564"/>
<source>Nero AAC Notifications</source>
<translation type="unfinished">Powiadomienia Nero AAC</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<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="1529"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1554"/>
<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="1539"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1564"/>
<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="1553"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1555"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1565"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1580"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1590"/>
<source>Slow Startup Notifications</source>
<translation type="unfinished">Powiadomienia o powolnym starcie</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<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="1555"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1580"/>
<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="1565"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1590"/>
<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="1588"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1592"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1613"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1617"/>
<source>Open Cue Sheet</source>
<translation type="unfinished">Otwórz plik Cue Sheet</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1588"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1594"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1613"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1619"/>
<source>Cue Sheet File</source>
<translation type="unfinished">Plik Cue Sheet</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1641"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1654"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1679"/>
<source>Beta Updates</source>
<translation type="unfinished">Aktualizacje Beta</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<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="1641"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<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="1641"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<source>Check Now</source>
<translation type="unfinished">Sprawdź teraz</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1654"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1679"/>
<source>LameXP will &lt;i&gt;not&lt;/i&gt; check for Beta (pre-release) updates from now on.</source>
<translation type="unfinished">LameXP od teraz &lt;i&gt;nie będzie&lt;/i&gt; sprawdzał aktualizacji Beta.</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1678"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1688"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1703"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1713"/>
<source>Hibernate Computer</source>
<translation type="unfinished">Hibernuj komputer</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<source>Do you really want the computer to be hibernated on shutdown?</source>
<translation type="unfinished">Czy na pewno chcesz aby komputer był hibernowany zamiast zamykany?</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1678"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1703"/>
<source>LameXP will hibernate the computer on shutdown from now on.</source>
<translation type="unfinished">Od teraz LameXP będzie hibernował komputer zamiast zamykać.</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1688"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1713"/>
<source>LameXP will &lt;i&gt;not&lt;/i&gt; hibernate the computer on shutdown from now on.</source>
<translation type="unfinished">LameXP od teraz &lt;i&gt;nie&lt;/i&gt; będzie hibernował komputera tylko zamykał.</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1705"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1716"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1730"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1741"/>
<source>Shell Integration</source>
<translation type="unfinished">Integracja z systemem</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<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="1705"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1730"/>
<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="1716"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1741"/>
<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="1813"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1822"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1838"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1847"/>
<source>Add file(s)</source>
<translation type="unfinished">Dodaj plik(i)</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1854"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1858"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1879"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1883"/>
<source>Add Folder</source>
<translation type="unfinished">Dodaj folder</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2233"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2276"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2258"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2301"/>
<source>New Folder</source>
<translation type="unfinished">Nowy folder</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2276"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2301"/>
<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="2308"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2333"/>
<source>Failed to create folder</source>
<translation type="unfinished">Utworzenie folderu zakończone niepowodzeniem</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2308"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2333"/>
<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="2308"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2333"/>
<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="2601"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2604"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2607"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2613"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2626"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2629"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2632"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2638"/>
<source>Quality Level %1</source>
<translation type="unfinished">Poziom jakości %1</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2610"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2630"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2650"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2635"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2655"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2675"/>
<source>Compression %1</source>
<translation type="unfinished">Kompresja %1</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2616"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2636"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2659"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2641"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2661"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2684"/>
<source>Uncompressed</source>
<translation type="unfinished">Nieskompresowany</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2683"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2708"/>
<source>Best Quality (Very Slow)</source>
<translation type="unfinished">Najlepsza jakość (Bardzo wolno)</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2686"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2711"/>
<source>High Quality (Recommended)</source>
<translation type="unfinished">Wysoka jakość (Zalecane)</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2689"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2714"/>
<source>Average Quality (Default)</source>
<translation type="unfinished">Średnia jakość (Domyślnie)</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2692"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2717"/>
<source>Low Quality (Fast)</source>
<translation type="unfinished">Niska jakość (Szybko)</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2695"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2720"/>
<source>Poor Quality (Very Fast)</source>
<translation type="unfinished">Najniższa jakość (Bardzo szybko)</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2967"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2992"/>
<source>File name without extension</source>
<translation type="unfinished">Nazwa pliku bez rozszerzenia</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2968"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2993"/>
<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="2969"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2994"/>
<source>Track title</source>
<translation type="unfinished">Nazwa ścieżki</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2970"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2995"/>
<source>Artist name</source>
<translation type="unfinished">Nazwa Artysty</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2971"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2996"/>
<source>Album name</source>
<translation type="unfinished">Nazwa Albumu</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2972"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2997"/>
<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="2973"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2998"/>
<source>Comment</source>
<translation type="unfinished">Komentarz</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2975"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3000"/>
<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="2978"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3003"/>
<source>Rename Macros</source>
<translation type="unfinished">Zmień nazwy makr</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2991"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3016"/>
<source>%1 Instance(s)</source>
<translation type="unfinished">%1 wątek/ki</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3035"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3060"/>
<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="3103"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3128"/>
<source>Already Running</source>
<translation type="unfinished">Już działa</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3103"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3128"/>
<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>
@ -2714,121 +2714,121 @@
<translation type="unfinished">Twoje pliki właśnie kompresowane, prosze być cierpliwy...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="344"/>
<location filename="../../src/Dialog_Processing.cpp" line="365"/>
<source>Encoding files, please wait...</source>
<translation type="unfinished">Kompresowanie plików, prosze czekać...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="387"/>
<location filename="../../src/Dialog_Processing.cpp" line="408"/>
<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="407"/>
<location filename="../../src/Dialog_Processing.cpp" line="428"/>
<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="422"/>
<location filename="../../src/Dialog_Processing.cpp" line="443"/>
<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="450"/>
<location filename="../../src/Dialog_Processing.cpp" line="471"/>
<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="460"/>
<location filename="../../src/Dialog_Processing.cpp" line="481"/>
<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="460"/>
<location filename="../../src/Dialog_Processing.cpp" line="481"/>
<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="461"/>
<location filename="../../src/Dialog_Processing.cpp" line="482"/>
<source>LameXP - Aborted</source>
<translation type="unfinished">LameXP - Przerwano</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="461"/>
<location filename="../../src/Dialog_Processing.cpp" line="482"/>
<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="477"/>
<location filename="../../src/Dialog_Processing.cpp" line="498"/>
<source>Process finished after %1.</source>
<translation type="unfinished">Proces został zakończony po %1.</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="486"/>
<location filename="../../src/Dialog_Processing.cpp" line="507"/>
<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="487"/>
<location filename="../../src/Dialog_Processing.cpp" line="508"/>
<source>LameXP - Error</source>
<translation type="unfinished">LameXP - Błąd</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="487"/>
<location filename="../../src/Dialog_Processing.cpp" line="508"/>
<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="497"/>
<location filename="../../src/Dialog_Processing.cpp" line="498"/>
<location filename="../../src/Dialog_Processing.cpp" line="518"/>
<location filename="../../src/Dialog_Processing.cpp" line="519"/>
<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="498"/>
<location filename="../../src/Dialog_Processing.cpp" line="519"/>
<source>LameXP - Done</source>
<translation type="unfinished">LameXP - Zrobione</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="916"/>
<location filename="../../src/Dialog_Processing.cpp" line="933"/>
<source>Playlist creation failed</source>
<translation type="unfinished">Tworzenie playlisty zakończone niepowodzeniem</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="916"/>
<location filename="../../src/Dialog_Processing.cpp" line="933"/>
<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="986"/>
<location filename="../../src/Dialog_Processing.cpp" line="1003"/>
<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="990"/>
<location filename="../../src/Dialog_Processing.cpp" line="991"/>
<location filename="../../src/Dialog_Processing.cpp" line="1007"/>
<location filename="../../src/Dialog_Processing.cpp" line="1008"/>
<source>Cancel Shutdown</source>
<translation type="unfinished">Anuluj wyłączenie komputera</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1046"/>
<location filename="../../src/Dialog_Processing.cpp" line="1063"/>
<source>hour(s)</source>
<translation type="unfinished">godzin/y</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1047"/>
<location filename="../../src/Dialog_Processing.cpp" line="1051"/>
<location filename="../../src/Dialog_Processing.cpp" line="1064"/>
<location filename="../../src/Dialog_Processing.cpp" line="1068"/>
<source>minute(s)</source>
<translation type="unfinished">minut/a</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1052"/>
<location filename="../../src/Dialog_Processing.cpp" line="1056"/>
<location filename="../../src/Dialog_Processing.cpp" line="1069"/>
<location filename="../../src/Dialog_Processing.cpp" line="1073"/>
<source>second(s)</source>
<translation type="unfinished">sekund/a</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1057"/>
<location filename="../../src/Dialog_Processing.cpp" line="1074"/>
<source>millisecond(s)</source>
<translation type="unfinished">milisekund/y</translation>
</message>
@ -2849,22 +2849,22 @@
<context>
<name>QApplication</name>
<message>
<location filename="../../src/Global.cpp" line="703"/>
<location filename="../../src/Global.cpp" line="745"/>
<source>Executable &apos;%1&apos; doesn&apos;t support Windows compatibility mode.</source>
<translation type="unfinished">Plik wykonywalny &apos;%1&apos; nie działa w trybie kompatybilności z Windows.</translation>
</message>
<message>
<location filename="../../src/Global.cpp" line="918"/>
<location filename="../../src/Global.cpp" line="982"/>
<source>Executable &apos;%1&apos; requires Qt v%2, but found Qt v%3.</source>
<translation type="unfinished">Plik wykonywalny &apos;%1&apos; wymaga Qt v%2, znaleziono jednak Qt v%3.</translation>
</message>
<message>
<location filename="../../src/Global.cpp" line="923"/>
<location filename="../../src/Global.cpp" line="987"/>
<source>Executable &apos;%1&apos; was built for Qt &apos;%2&apos;, but found Qt &apos;%3&apos;.</source>
<translation type="unfinished">Plik wykonywalny &quot;%1&quot; został skompilowany dla Qt &quot;%2&quot;, znaleziono &quot;%3&quot;.</translation>
</message>
<message>
<location filename="../../src/Global.cpp" line="932"/>
<location filename="../../src/Global.cpp" line="996"/>
<source>Executable &apos;%1&apos; requires Windows 2000 or later.</source>
<translation type="unfinished">Plik wykonywalny &apos;%1&apos; wymaga do uruchomienia Windows 2000 lub nowszego.</translation>
</message>

View File

@ -29,8 +29,8 @@
#define VER_LAMEXP_MINOR_HI 0
#define VER_LAMEXP_MINOR_LO 4
#define VER_LAMEXP_TYPE Alpha
#define VER_LAMEXP_PATCH 12
#define VER_LAMEXP_BUILD 854
#define VER_LAMEXP_PATCH 13
#define VER_LAMEXP_BUILD 860
///////////////////////////////////////////////////////////////////////////////
// Tool versions (minimum expected versions!)

View File

@ -446,7 +446,7 @@ MainWindow::~MainWindow(void)
if(m_messageHandler && m_messageHandler->isRunning())
{
m_messageHandler->stop();
if(!m_messageHandler->wait(10000))
if(!m_messageHandler->wait(2500))
{
m_messageHandler->terminate();
m_messageHandler->wait();
@ -794,7 +794,7 @@ void MainWindow::dropEvent(QDropEvent *event)
*/
void MainWindow::closeEvent(QCloseEvent *event)
{
if((m_banner->isVisible() || m_delayedFileTimer->isActive()) && !lamexp_session_ending())
if(m_banner->isVisible() || m_delayedFileTimer->isActive())
{
MessageBeep(MB_ICONEXCLAMATION);
event->ignore();
@ -896,6 +896,31 @@ bool MainWindow::eventFilter(QObject *obj, QEvent *event)
return QMainWindow::eventFilter(obj, event);
}
bool MainWindow::event(QEvent *e)
{
switch(e->type())
{
case lamexp_event_queryendsession:
qWarning("System is shutting down, main window prepares to close...");
if(m_banner->isVisible()) m_banner->close();
if(m_delayedFileTimer->isActive()) m_delayedFileTimer->stop();
return true;
case lamexp_event_endsession:
qWarning("System is shutting down, main window will close now...");
if(isVisible())
{
while(!close())
{
QApplication::processEvents(QEventLoop::WaitForMoreEvents & QEventLoop::ExcludeUserInputEvents);
}
}
m_fileListModel->clearFiles();
return true;
default:
return QMainWindow::event(e);
}
}
bool MainWindow::winEvent(MSG *message, long *result)
{
return WinSevenTaskbar::handleWinEvent(message, result);

View File

@ -139,14 +139,15 @@ private slots:
void windowShown(void);
protected:
void changeEvent(QEvent *e);
void closeEvent(QCloseEvent *event);
void dragEnterEvent(QDragEnterEvent *event);
void dropEvent(QDropEvent *event);
bool eventFilter(QObject *obj, QEvent *event);
void resizeEvent(QResizeEvent *event);
void showEvent(QShowEvent *event);
bool winEvent(MSG *message, long *result);
virtual void changeEvent(QEvent *e);
virtual void closeEvent(QCloseEvent *event);
virtual void dragEnterEvent(QDragEnterEvent *event);
virtual void dropEvent(QDropEvent *event);
virtual bool eventFilter(QObject *obj, QEvent *event);
virtual void resizeEvent(QResizeEvent *event);
virtual void showEvent(QShowEvent *event);
virtual bool event(QEvent *e);
virtual bool winEvent(MSG *message, long *result);
private:
void addFiles(const QStringList &files);

View File

@ -185,6 +185,7 @@ ProcessingDialog::ProcessingDialog(FileListModel *fileListModel, AudioFileModel
m_succeededJobs.clear();
m_failedJobs.clear();
m_userAborted = false;
m_forcedAbort = false;
m_timerStart = 0I64;
}
@ -276,12 +277,6 @@ void ProcessingDialog::showEvent(QShowEvent *event)
void ProcessingDialog::closeEvent(QCloseEvent *event)
{
if(lamexp_session_ending() && !m_userAborted)
{
qWarning("Computer is shutting down, LameXP will abort and exit!");
abortEncoding();
}
if(!button_closeDialog->isEnabled())
{
event->ignore();
@ -321,6 +316,31 @@ bool ProcessingDialog::eventFilter(QObject *obj, QEvent *event)
return false;
}
bool ProcessingDialog::event(QEvent *e)
{
switch(e->type())
{
case lamexp_event_queryendsession:
qWarning("System is shutting down, preparing to abort...");
if(!m_userAborted) abortEncoding(true);
return true;
case lamexp_event_endsession:
qWarning("System is shutting down, encoding will be aborted now...");
if(isVisible())
{
while(!close())
{
if(!m_userAborted) abortEncoding(true);
QApplication::processEvents(QEventLoop::WaitForMoreEvents & QEventLoop::ExcludeUserInputEvents);
}
}
m_pendingJobs.clear();
return true;
default:
return QDialog::event(e);
}
}
bool ProcessingDialog::winEvent(MSG *message, long *result)
{
return WinSevenTaskbar::handleWinEvent(message, result);
@ -338,6 +358,7 @@ void ProcessingDialog::initEncoding(void)
m_succeededJobs.clear();
m_failedJobs.clear();
m_userAborted = false;
m_forcedAbort = false;
m_playList.clear();
CHANGE_BACKGROUND_COLOR(frame_header, QColor(Qt::white));
@ -399,11 +420,11 @@ void ProcessingDialog::initEncoding(void)
}
}
void ProcessingDialog::abortEncoding(void)
void ProcessingDialog::abortEncoding(bool force)
{
m_userAborted = true;
if(force) m_forcedAbort = true;
button_AbortProcess->setEnabled(false);
SET_PROGRESS_TEXT(tr("Aborted! Waiting for running jobs to terminate..."));
for(int i = 0; i < m_threadList.count(); i++)
@ -429,7 +450,7 @@ void ProcessingDialog::doneEncoding(void)
m_threadList.takeAt(index)->deleteLater();
}
if(!m_pendingJobs.isEmpty() && !m_userAborted && !lamexp_session_ending())
if(!m_pendingJobs.isEmpty() && !m_userAborted)
{
startNextJob();
qDebug("Running jobs: %u", m_runningThreads);
@ -445,14 +466,14 @@ void ProcessingDialog::doneEncoding(void)
QApplication::setOverrideCursor(Qt::WaitCursor);
qDebug("Running jobs: %u", m_runningThreads);
if(!m_userAborted && m_settings->createPlaylist() && !m_settings->outputToSourceDir() && !lamexp_session_ending())
if(!m_userAborted && m_settings->createPlaylist() && !m_settings->outputToSourceDir())
{
SET_PROGRESS_TEXT(tr("Creating the playlist file, please wait..."));
QApplication::processEvents();
writePlayList();
}
if(m_userAborted || lamexp_session_ending())
if(m_userAborted)
{
CHANGE_BACKGROUND_COLOR(frame_header, QColor("#FFF3BA"));
WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarErrorState);
@ -461,7 +482,7 @@ void ProcessingDialog::doneEncoding(void)
m_systemTray->showMessage(tr("LameXP - Aborted"), tr("Process was aborted by the user."), QSystemTrayIcon::Warning);
m_systemTray->setIcon(QIcon(":/icons/cd_delete.png"));
QApplication::processEvents();
if(m_settings->soundsEnabled() && !lamexp_session_ending())
if(m_settings->soundsEnabled() && !m_forcedAbort)
{
PlaySound(MAKEINTRESOURCE(IDR_WAVE_ABORTED), GetModuleHandle(NULL), SND_RESOURCE | SND_SYNC);
}
@ -515,11 +536,7 @@ void ProcessingDialog::doneEncoding(void)
QApplication::restoreOverrideCursor();
if(lamexp_session_ending())
{
accept();
}
else if(!m_userAborted && checkBox_shutdownComputer->isChecked())
if(!m_userAborted && checkBox_shutdownComputer->isChecked())
{
if(shutdownComputer())
{

View File

@ -58,7 +58,7 @@ public:
private slots:
void initEncoding(void);
void doneEncoding(void);
void abortEncoding(void);
void abortEncoding(bool force = false);
void processFinished(const QUuid &jobId, const QString &outFileName, bool success);
void progressModelChanged(void);
void logViewDoubleClicked(const QModelIndex &index);
@ -75,7 +75,8 @@ protected:
void showEvent(QShowEvent *event);
void closeEvent(QCloseEvent *event);
bool eventFilter(QObject *obj, QEvent *event);
bool winEvent(MSG *message, long *result);
virtual bool event(QEvent *e);
virtual bool winEvent(MSG *message, long *result);
private:
void setCloseButtonEnabled(bool enabled);
@ -100,6 +101,7 @@ private:
QList<QUuid> m_succeededJobs;
QList<QUuid> m_failedJobs;
bool m_userAborted;
bool m_forcedAbort;
QSystemTrayIcon *m_systemTray;
int m_shutdownFlag;
CPUObserverThread *m_cpuObserver;

View File

@ -149,7 +149,7 @@ void SplashScreen::keyReleaseEvent(QKeyEvent *event)
void SplashScreen::closeEvent(QCloseEvent *event)
{
if(!m_canClose && !lamexp_session_ending()) event->ignore();
if(!m_canClose) event->ignore();
}
bool SplashScreen::winEvent(MSG *message, long *result)

View File

@ -270,7 +270,7 @@ void UpdateDialog::showEvent(QShowEvent *event)
void UpdateDialog::closeEvent(QCloseEvent *event)
{
if(!closeButton->isEnabled() && !lamexp_session_ending())
if(!closeButton->isEnabled())
{
event->ignore();
}

View File

@ -78,10 +78,11 @@ void WorkingBanner::show(const QString &text)
QApplication::processEvents();
}
void WorkingBanner::close(void)
bool WorkingBanner::close(void)
{
m_canClose = true;
QDialog::close();
emit userAbort();
return QDialog::close();
}
void WorkingBanner::show(const QString &text, QThread *thread)
@ -152,7 +153,7 @@ void WorkingBanner::keyReleaseEvent(QKeyEvent *event)
void WorkingBanner::closeEvent(QCloseEvent *event)
{
if(!m_canClose && !lamexp_session_ending()) event->ignore();
if(!m_canClose) event->ignore();
}
bool WorkingBanner::winEvent(MSG *message, long *result)

View File

@ -38,7 +38,6 @@ public:
void show(const QString &text);
void show(const QString &text, QThread *thread);
void show(const QString &text, QEventLoop *loop);
void close(void);
private:
QMovie *m_working;
@ -46,6 +45,7 @@ private:
public slots:
void setText(const QString &text);
bool close(void);
signals:
void userAbort(void);

View File

@ -44,6 +44,7 @@
#include <QEventLoop>
#include <QTimer>
#include <QLibraryInfo>
#include <QEvent>
//LameXP includes
#include "Resource.h"
@ -77,13 +78,24 @@ Q_IMPORT_PLUGIN(qsvg)
// TYPES
///////////////////////////////////////////////////////////////////////////////
static const size_t g_lamexp_ipc_slots = 128;
typedef struct
{
unsigned int command;
unsigned int reserved_1;
unsigned int reserved_2;
char parameter[4096];
} lamexp_ipc_t;
}
lamexp_ipc_data_t;
typedef struct
{
unsigned int pos_write;
unsigned int pos_read;
lamexp_ipc_data_t data[g_lamexp_ipc_slots];
}
lamexp_ipc_t;
///////////////////////////////////////////////////////////////////////////////
// GLOBAL VARS
@ -199,19 +211,25 @@ static const struct
{
char *sharedmem;
char *semaphore_read;
char *semaphore_read_mutex;
char *semaphore_write;
char *semaphore_write_mutex;
}
g_lamexp_ipc_uuid =
{
"{21A68A42-6923-43bb-9CF6-64BF151942EE}",
"{7A605549-F58C-4d78-B4E5-06EFC34F405B}",
"{60AA8D04-F6B8-497d-81EB-0F600F4A65B5}"
"{60AA8D04-F6B8-497d-81EB-0F600F4A65B5}",
"{726061D5-1615-4B82-871C-75FD93458E46}",
"{1A616023-AA6A-4519-8AF3-F7736E899977}"
};
static struct
{
QSharedMemory *sharedmem;
QSystemSemaphore *semaphore_read;
QSystemSemaphore *semaphore_read_mutex;
QSystemSemaphore *semaphore_write;
QSystemSemaphore *semaphore_write_mutex;
}
g_lamexp_ipc_ptr =
{
@ -227,9 +245,6 @@ static QMutex g_lamexp_message_mutex;
//Main thread ID
static const DWORD g_main_thread_id = GetCurrentThreadId();
//Session ending flag
static bool g_sessionIsEnding = false;
//Log file
static FILE *g_lamexp_log_file = NULL;
@ -409,8 +424,9 @@ void lamexp_message_handler(QtMsgType type, const char *msg)
{
static char prefix[] = "DWCF";
int index = qBound(0, static_cast<int>(type), 3);
unsigned int timestamp = static_cast<unsigned int>(_time64(NULL) % 3600I64);
QString str = QString::fromUtf8(msg).trimmed().replace('\n', '\t');
fprintf(g_lamexp_log_file, "[%c][%04I64d] %s\r\n", prefix[index], _time64(NULL) % 3600I64, str.toUtf8().constData());
fprintf(g_lamexp_log_file, "[%c][%04u] %s\r\n", prefix[index], timestamp, str.toUtf8().constData());
fflush(g_lamexp_log_file);
}
@ -488,6 +504,8 @@ void lamexp_init_console(int argc, char* argv[])
wchar_t *logfile = NULL;
size_t logfile_len = 0;
if(!_wdupenv_s(&logfile, &logfile_len, L"LAMEXP_LOGFILE"))
{
if(logfile && (logfile_len > 0))
{
FILE *temp = NULL;
if(!_wfopen_s(&temp, logfile, L"wb"))
@ -498,6 +516,7 @@ void lamexp_init_console(int argc, char* argv[])
free(logfile);
}
}
}
if(!LAMEXP_DEBUG)
{
@ -813,6 +832,41 @@ QIcon lamexp_app_icon(const QDate *date, const QTime *time)
}
}
/*
* Broadcast event to all windows
*/
static bool lamexp_broadcast(int eventType, bool onlyToVisible)
{
if(QApplication *app = dynamic_cast<QApplication*>(QApplication::instance()))
{
qDebug("Broadcasting %d", eventType);
bool allOk = true;
QEvent poEvent(static_cast<QEvent::Type>(eventType));
QWidgetList list = app->topLevelWidgets();
while(!list.isEmpty())
{
QWidget *widget = list.takeFirst();
if(!onlyToVisible || widget->isVisible())
{
if(!app->sendEvent(widget, &poEvent))
{
allOk = false;
}
}
}
qDebug("Broadcast %d done (%s)", eventType, (allOk ? "OK" : "Stopped"));
return allOk;
}
else
{
qWarning("Broadcast failed, could not get QApplication instance!");
return false;
}
}
/*
* Qt event filter
*/
@ -822,34 +876,21 @@ static bool lamexp_event_filter(void *message, long *result)
{
case WM_QUERYENDSESSION:
qWarning("WM_QUERYENDSESSION message received!");
if(!g_sessionIsEnding)
{
g_sessionIsEnding = true;
if(QApplication *app = reinterpret_cast<QApplication*>(QApplication::instance()))
{
for(int i = 0; i < 128; i++)
{
app->closeAllWindows();
app->processEvents();
Sleep(8);
}
}
}
*result = TRUE;
*result = lamexp_broadcast(lamexp_event_queryendsession, false) ? TRUE : FALSE;
return true;
case WM_ENDSESSION:
qWarning("WM_ENDSESSION message received!");
if(reinterpret_cast<MSG*>(message)->wParam == TRUE)
{
g_sessionIsEnding = true;
lamexp_broadcast(lamexp_event_endsession, false);
if(QApplication *app = reinterpret_cast<QApplication*>(QApplication::instance()))
{
app->closeAllWindows();
app->quit();
app->processEvents();
}
lamexp_finalization();
exit(1);
}
}
*result = 0;
return true;
default:
@ -1055,19 +1096,23 @@ bool lamexp_init_qt(int argc, char* argv[])
*/
int lamexp_init_ipc(void)
{
if(g_lamexp_ipc_ptr.sharedmem && g_lamexp_ipc_ptr.semaphore_read && g_lamexp_ipc_ptr.semaphore_write)
if(g_lamexp_ipc_ptr.sharedmem && g_lamexp_ipc_ptr.semaphore_read && g_lamexp_ipc_ptr.semaphore_write && g_lamexp_ipc_ptr.semaphore_read_mutex && g_lamexp_ipc_ptr.semaphore_write_mutex)
{
return 0;
}
g_lamexp_ipc_ptr.semaphore_read = new QSystemSemaphore(QString(g_lamexp_ipc_uuid.semaphore_read), 0);
g_lamexp_ipc_ptr.semaphore_write = new QSystemSemaphore(QString(g_lamexp_ipc_uuid.semaphore_write), 0);
g_lamexp_ipc_ptr.semaphore_read_mutex = new QSystemSemaphore(QString(g_lamexp_ipc_uuid.semaphore_read_mutex), 0);
g_lamexp_ipc_ptr.semaphore_write_mutex = new QSystemSemaphore(QString(g_lamexp_ipc_uuid.semaphore_write_mutex), 0);
if(g_lamexp_ipc_ptr.semaphore_read->error() != QSystemSemaphore::NoError)
{
QString errorMessage = g_lamexp_ipc_ptr.semaphore_read->errorString();
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read_mutex);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write_mutex);
qFatal("Failed to create system smaphore: %s", errorMessage.toUtf8().constData());
return -1;
}
@ -1076,6 +1121,28 @@ int lamexp_init_ipc(void)
QString errorMessage = g_lamexp_ipc_ptr.semaphore_write->errorString();
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read_mutex);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write_mutex);
qFatal("Failed to create system smaphore: %s", errorMessage.toUtf8().constData());
return -1;
}
if(g_lamexp_ipc_ptr.semaphore_read_mutex->error() != QSystemSemaphore::NoError)
{
QString errorMessage = g_lamexp_ipc_ptr.semaphore_read_mutex->errorString();
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read_mutex);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write_mutex);
qFatal("Failed to create system smaphore: %s", errorMessage.toUtf8().constData());
return -1;
}
if(g_lamexp_ipc_ptr.semaphore_write_mutex->error() != QSystemSemaphore::NoError)
{
QString errorMessage = g_lamexp_ipc_ptr.semaphore_write_mutex->errorString();
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read_mutex);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write_mutex);
qFatal("Failed to create system smaphore: %s", errorMessage.toUtf8().constData());
return -1;
}
@ -1094,6 +1161,7 @@ int lamexp_init_ipc(void)
else
{
QString errorMessage = g_lamexp_ipc_ptr.sharedmem->errorString();
LAMEXP_DELETE(g_lamexp_ipc_ptr.sharedmem);
qFatal("Failed to attach to shared memory: %s", errorMessage.toUtf8().constData());
return -1;
}
@ -1101,13 +1169,16 @@ int lamexp_init_ipc(void)
else
{
QString errorMessage = g_lamexp_ipc_ptr.sharedmem->errorString();
LAMEXP_DELETE(g_lamexp_ipc_ptr.sharedmem);
qFatal("Failed to create shared memory: %s", errorMessage.toUtf8().constData());
return -1;
}
}
memset(g_lamexp_ipc_ptr.sharedmem->data(), 0, sizeof(lamexp_ipc_t));
g_lamexp_ipc_ptr.semaphore_write->release();
g_lamexp_ipc_ptr.semaphore_write->release(g_lamexp_ipc_slots);
g_lamexp_ipc_ptr.semaphore_read_mutex->release();
g_lamexp_ipc_ptr.semaphore_write_mutex->release();
return 0;
}
@ -1117,26 +1188,31 @@ int lamexp_init_ipc(void)
*/
void lamexp_ipc_send(unsigned int command, const char* message)
{
if(!g_lamexp_ipc_ptr.sharedmem || !g_lamexp_ipc_ptr.semaphore_read || !g_lamexp_ipc_ptr.semaphore_write)
if(!g_lamexp_ipc_ptr.sharedmem || !g_lamexp_ipc_ptr.semaphore_read || !g_lamexp_ipc_ptr.semaphore_write || !g_lamexp_ipc_ptr.semaphore_read_mutex || !g_lamexp_ipc_ptr.semaphore_write_mutex)
{
throw "Shared memory for IPC not initialized yet.";
}
lamexp_ipc_t *lamexp_ipc = new lamexp_ipc_t;
memset(lamexp_ipc, 0, sizeof(lamexp_ipc_t));
lamexp_ipc->command = command;
lamexp_ipc_data_t ipc_data;
memset(&ipc_data, 0, sizeof(lamexp_ipc_data_t));
ipc_data.command = command;
if(message)
{
strncpy_s(lamexp_ipc->parameter, 4096, message, _TRUNCATE);
strncpy_s(ipc_data.parameter, 4096, message, _TRUNCATE);
}
if(g_lamexp_ipc_ptr.semaphore_write->acquire())
{
memcpy(g_lamexp_ipc_ptr.sharedmem->data(), lamexp_ipc, sizeof(lamexp_ipc_t));
if(g_lamexp_ipc_ptr.semaphore_write_mutex->acquire())
{
lamexp_ipc_t *ptr = reinterpret_cast<lamexp_ipc_t*>(g_lamexp_ipc_ptr.sharedmem->data());
memcpy(&ptr->data[ptr->pos_write], &ipc_data, sizeof(lamexp_ipc_data_t));
ptr->pos_write = (ptr->pos_write + 1) % g_lamexp_ipc_slots;
g_lamexp_ipc_ptr.semaphore_read->release();
g_lamexp_ipc_ptr.semaphore_write_mutex->release();
}
}
LAMEXP_DELETE(lamexp_ipc);
}
/*
@ -1147,31 +1223,35 @@ void lamexp_ipc_read(unsigned int *command, char* message, size_t buffSize)
*command = 0;
message[0] = '\0';
if(!g_lamexp_ipc_ptr.sharedmem || !g_lamexp_ipc_ptr.semaphore_read || !g_lamexp_ipc_ptr.semaphore_write)
if(!g_lamexp_ipc_ptr.sharedmem || !g_lamexp_ipc_ptr.semaphore_read || !g_lamexp_ipc_ptr.semaphore_write || !g_lamexp_ipc_ptr.semaphore_read_mutex || !g_lamexp_ipc_ptr.semaphore_write_mutex)
{
throw "Shared memory for IPC not initialized yet.";
}
lamexp_ipc_t *lamexp_ipc = new lamexp_ipc_t;
memset(lamexp_ipc, 0, sizeof(lamexp_ipc_t));
lamexp_ipc_data_t ipc_data;
memset(&ipc_data, 0, sizeof(lamexp_ipc_data_t));
if(g_lamexp_ipc_ptr.semaphore_read->acquire())
{
memcpy(lamexp_ipc, g_lamexp_ipc_ptr.sharedmem->data(), sizeof(lamexp_ipc_t));
g_lamexp_ipc_ptr.semaphore_write->release();
if(!(lamexp_ipc->reserved_1 || lamexp_ipc->reserved_2))
if(g_lamexp_ipc_ptr.semaphore_read_mutex->acquire())
{
*command = lamexp_ipc->command;
strncpy_s(message, buffSize, lamexp_ipc->parameter, _TRUNCATE);
lamexp_ipc_t *ptr = reinterpret_cast<lamexp_ipc_t*>(g_lamexp_ipc_ptr.sharedmem->data());
memcpy(&ipc_data, &ptr->data[ptr->pos_read], sizeof(lamexp_ipc_data_t));
ptr->pos_read = (ptr->pos_read + 1) % g_lamexp_ipc_slots;
g_lamexp_ipc_ptr.semaphore_write->release();
g_lamexp_ipc_ptr.semaphore_read_mutex->release();
if(!(ipc_data.reserved_1 || ipc_data.reserved_2))
{
*command = ipc_data.command;
strncpy_s(message, buffSize, ipc_data.parameter, _TRUNCATE);
}
else
{
qWarning("Malformed IPC message, will be ignored");
}
}
LAMEXP_DELETE(lamexp_ipc);
}
}
/*
@ -1841,19 +1921,13 @@ QStringList lamexp_available_codepages(bool noAliases)
return codecList;
}
/*
* Check if the session is about to end
*/
bool lamexp_session_ending(void)
{
return g_sessionIsEnding;
}
/*
* Finalization function (final clean-up)
*/
void lamexp_finalization(void)
{
qDebug("lamexp_finalization()");
//Free all tools
if(!g_lamexp_tool_registry.isEmpty())
{

View File

@ -71,6 +71,15 @@ typedef enum
}
lamexp_known_folder_t;
//LameXP user-defined events
typedef enum
{
lamexp_event = 1000, /*QEvent::User*/
lamexp_event_queryendsession = lamexp_event + 666,
lamexp_event_endsession = lamexp_event + 667
}
lamexp_event_t;
//LameXP version info
unsigned int lamexp_version_major(void);
unsigned int lamexp_version_minor(void);
@ -111,7 +120,6 @@ bool lamexp_portable_mode(void);
bool lamexp_shutdown_computer(const QString &message, const unsigned long timeout = 30, const bool forceShutdown = true, const bool hibernate = false);
bool lamexp_is_hibernation_supported(void);
QIcon lamexp_app_icon(const QDate *date = NULL, const QTime *time = NULL);
bool lamexp_session_ending(void);
//Translation support
QStringList lamexp_query_translations(void);

View File

@ -153,7 +153,7 @@ static int lamexp_main(int argc, char* argv[])
MainWindow *poMainWindow = new MainWindow(fileListModel, metaInfo, settingsModel);
//Main application loop
while(bAccepted && (iShutdown <= shutdownFlag_None) && (!lamexp_session_ending()))
while(bAccepted && (iShutdown <= shutdownFlag_None))
{
//Show main window
poMainWindow->show();
@ -161,7 +161,7 @@ static int lamexp_main(int argc, char* argv[])
bAccepted = poMainWindow->isAccepted();
//Show processing dialog
if(bAccepted && (fileListModel->rowCount() > 0) && (!lamexp_session_ending()))
if(bAccepted && (fileListModel->rowCount() > 0))
{
ProcessingDialog *processingDialog = new ProcessingDialog(fileListModel, metaInfo, settingsModel);
processingDialog->exec();

View File

@ -91,7 +91,7 @@ void MessageHandlerThread::stop(void)
if(!m_aborted)
{
m_aborted = true;
lamexp_ipc_send(0, "");
lamexp_ipc_send(0, NULL);
}
}

View File

@ -35,7 +35,7 @@ public:
private:
char *m_parameter;
bool m_aborted;
volatile bool m_aborted;
signals:
void otherInstanceDetected(void);