Commit Graph

302 Commits

Author SHA1 Message Date
38e7dbae56 Refactored source types (Avisynth, VapourSynth, etc) into separate classes + loads of fixes. 2014-02-24 23:13:42 +01:00
6164e48604 Refactored runEncodingPass() into AbstractEncoder class and refactored encoder-specific parts into the corresponding Encoder classes. 2014-02-24 19:51:53 +01:00
0fa2a16e13 Refactored encoder version detection into encoder-specific classes. 2014-02-24 14:57:30 +01:00
b356e28a32 Some refactoring to allow supporting multiple encoders in the encode thread (far from being complete though). 2014-02-22 20:32:46 +01:00
52eb860a9c Added ".hevc" file extension to the save file dialog. 2014-02-21 23:57:03 +01:00
6f4a2c5493 Added x265 about box and web-links. 2014-02-21 19:28:17 +01:00
f35b9d2969 Implemented x265 detection. Also improved x264 and Avs2YUV verification. 2014-02-21 17:52:16 +01:00
2bafd5f5f6 Select the 64-Bit encoder by default on 64-Bit systems. 2014-02-15 00:40:15 +01:00
fce6ac31ff Disable selection of x265 in "add job" dialog for now. Will be re-enabled when it's actually supported. 2014-02-15 00:13:22 +01:00
e1c9f86520 Force update of the controls after a template has been loaded. 2014-02-14 23:58:39 +01:00
16837e49cb Actually create the EncodeThread instance. 2014-02-14 23:33:26 +01:00
a99b922856 Fixed a few types. 2014-02-14 23:32:36 +01:00
d97545c2e4 Fixed the EncodeThread class to work with the recent model changes. 2014-02-14 23:14:39 +01:00
ac9c8b3ce9 Made the mutexes in the model classes "mutable" rather than "static". 2014-02-14 23:13:16 +01:00
6982596882 Refactored SysinfoModel and PreferencesModel. Also made those classes thread-safe! 2014-02-14 00:01:00 +01:00
c873bf8527 Refactored calculation of the binary path to a separate class. Also more code refactoring. 2014-02-12 21:36:10 +01:00
2c97c709fc Added a new model to store the system capabilities. 2014-02-12 19:34:14 +01:00
7ed6499ff2 Removed "use 10-Bit encoding" from preferences. Also updated Help screen to show the help for the *selected* encoder. 2014-02-11 02:33:17 +01:00
5d9c70db03 Initial multi-encoder support. This will allow adding support for x265 in a future version. Also it makes switching between 32-Bit/64-Bit and 8-Bit/10-Bit x264 binaries more convenient. 2014-02-10 21:33:04 +01:00
1dd25db214 Bump version. 2014-02-07 12:44:01 +01:00
a624b2a392 Bump version. 2014-02-03 15:08:53 +01:00
4ccad3655b Refactored host connectivity check into a separate function. Also decrease the number of remaining connection attempts *only* if the connection failed. 2014-02-02 21:37:44 +01:00
ad9e7e0d77 Bound the maximum number of hosts that will be tested during connectivity test, rather than testing *all* hosts. This avoids that the connectivity test will take VERY long to fail when the Internet connection is actually NOT working. 2014-02-02 15:58:59 +01:00
d48e218b12 Updated WebUpdate and GnuPG binaries to the latest versions. 2014-02-02 15:57:08 +01:00
2d2e5f193b Removed dependency on CLIParser from "global" functions. 2014-02-02 15:54:39 +01:00
02b61aa490 Check version tag when connecting to the shared memory area -> avoids conflicts between different versions. 2014-02-01 22:00:22 +01:00
2d7aa8f949 Use the new CLI parser class in a few more places. 2014-02-01 20:21:24 +01:00
b18d067d51 Refactored command-line parser into a separate class. Consequently, eliminated a lot of redundant code in "main" and "win_main". 2014-02-01 19:19:06 +01:00
c899d1aa3f When job's are added via "--add-job", the job will now be either started immediately or enqueued, depending on the preferences. Before those job's were *always* started immediately. Furthermore, two [four] new command-line options can be used to control the startup behavior: The options "--[no-]force-start" and "--[no-]force-enqueue" will enabled [disable] that the *next* job added via "--add-job" is started immediately or appended to the queue, respectively. Neither of those is enabled, default behavior applies. 2014-02-01 15:34:11 +01:00
b5ee60f8d9 Enhanced IPC class to pass an additional "flags" value for each command. 2014-02-01 15:30:46 +01:00
05026c9c78 Some more refactoring of the IPC code. Moved "core" functions into a separate class. 2014-01-29 23:59:03 +01:00
34a1cfff51 Removed an obsolete class. 2014-01-29 16:32:26 +01:00
9848d78beb Some small improvements to IPC handling. 2014-01-29 16:23:55 +01:00
014a9bee57 Some fixes for UI status handling. 2014-01-28 02:16:12 +01:00
1f41a535d4 Improved UI status handling. 2014-01-28 02:09:43 +01:00
8d68357907 Handle incoming IPC commands in the "main" window. 2014-01-27 21:54:24 +01:00
3cb8f41b0e Fixed IPC initialization + some code refactoring. 2014-01-27 20:34:59 +01:00
fa9b468f92 Added multi-instance handling to main() function. 2014-01-27 20:21:29 +01:00
66883a749b Added new IPC handler class. Ported from MediaInfoXP and improved to suite Simple x264 Launcher. 2014-01-27 19:59:23 +01:00
b16bbfa60c Happy new year 2014! 2014-01-27 19:58:24 +01:00
a32c5443ae Added a new "--add-job <src_file> <out_file> <template>" command-line option. Also the old "--file" option has been deprecated in favor of "--add-file". 2014-01-20 22:02:53 +01:00
02dd413577 Make sure active user is in the "admin" group before checking for updates. 2013-12-16 22:58:52 +01:00
8420e7e311 Some fixes for updater dialog. 2013-12-16 22:58:21 +01:00
8d9fb210c6 Implemented update reminder to main window. Also added option to disable update reminder to preferences dialog. 2013-12-14 22:30:19 +01:00
e194239b96 Improved updater dialog. 2013-12-14 14:20:43 +01:00
93641a7bfc Some more installer refinements. 2013-12-14 13:19:30 +01:00
4b9a244f24 Some updates to the updater dialog. 2013-12-13 15:25:36 +01:00
c78a3c4990 Improved web-update to actually check for new versions and initiate a download. 2013-12-11 15:50:26 +01:00
d51294e088 Actually use updater thread in the update dialog (not completed yet!) 2013-12-09 22:19:32 +01:00
ac7cd2f155 Added binary utils required for the web-update utility. 2013-12-09 20:42:02 +01:00
ddfedba2dd More VapourSynth path fixes: We now store the VapourSynth path *including* the "core" or "core32" postfix. 2013-11-29 20:27:45 +01:00
21b57e4a42 Fixed VapourSynth detection with newer (R22+) VapourSynth versions. Hopefully. 2013-11-29 18:10:11 +01:00
f0817cf42b Added code to detect/initialize the system TEMP folder. 2013-11-29 18:09:38 +01:00
50bd16dc80 Some improvements to the updater dialog. 2013-11-23 15:20:07 +01:00
e860efa3e0 Added BLAKE2 checksum code. Also moved some files. 2013-11-23 15:19:17 +01:00
1302576654 First mock-up of the upcoming updater dialog. 2013-11-22 17:01:13 +01:00
d4459d8b9c Bump version. 2013-11-14 21:29:26 +01:00
2c97d55729 Switched the method for including the UIC header files to "Using a Pointer Member Variable". 2013-11-14 02:29:18 +01:00
aca377916b Fixed priority control in Preferences dialog. 2013-11-12 23:29:13 +01:00
581ea2563c Prevent system from going into Standby or Hibernation while an encode is running. 2013-11-10 23:20:24 +01:00
1f0cd5add0 Improved logging output, if Avisynth (Avs2YUV) or VapurSynth (vspipe) crashes. 2013-11-10 18:32:37 +01:00
fe48035eae Improved VapourSynth detection code. 2013-11-08 17:39:16 +01:00
b1ff469728 Convert the filename part of "short" paths to lower case, so the Avs2YUV file extension check won't fail. 2013-11-08 14:15:40 +01:00
50eec4814f Bump version. 2013-11-06 00:38:03 +01:00
aa2b7c6bb4 Some improvements to global functions header file. 2013-11-06 00:30:27 +01:00
7ed2c7e5ce Improved JobObject::addProcessToJob() function. 2013-11-03 18:59:29 +01:00
052bdf4ec7 Added JobObject class. 2013-11-03 18:35:17 +01:00
f6e3275018 Massive clean up: Removed Win32 API dependency from "global.h". All Win32 API calls are now wrapped in custom functions in "global.cpp". 2013-11-03 18:34:20 +01:00
21fcfa22cf Backported various changes in the "global" functions from LameXP. 2013-11-03 17:08:02 +01:00
9aa3e8ddde Cosmetics. 2013-11-03 16:56:55 +01:00
7fcd1a6358 Added support for modified x264 progress output, as used by some patched build (e.g. Komisar's "kMod" builds). 2013-10-13 22:09:05 +02:00
4c76729c4b Now also for "restart job" dialog: Only check "Run Immediately" initially when maximum running job count was not reached yet. 2013-10-13 22:08:06 +02:00
4f88c5bda7 Removed Unicode path to ANSI (short) path conversion for x264 process, as x264 finally supports Unicode on Win32. We still need the conversion for Avisynth (AVS2YUV) though. 2013-08-28 18:10:26 +02:00
36a7593760 Fixed VapourSynth registry path for Non-WOW64 (i.e. 32-Bit) versions of Windows. Previous path was assuming Registry Redirection, which is only used under WOW64, but not on native 32-Bit systems. 2013-08-27 21:35:17 +02:00
aa8c4084cd Set working directory of x264 to TEMP path to workaround x264's behavior of trying to create files (such as the OpenCL kernel) in the current working directory. By default, the working directory will be the x264 installation directory, which, of course, isn't writable on modern OS. This can lead to error messages. By setting the working directory explicitly to TEMP (which should always be writable) we avoid that. 2013-08-27 21:33:50 +02:00
9f3bd0e5b4 Improved VapourSynth warning message (added notice about Python 3.3). 2013-08-11 20:13:51 +02:00
28e82ea1a5 Some improvements in preferences dialog. 2013-08-09 13:41:02 +02:00
cb554dd5eb Added option to disable the Avisynth/VapourSynth warning messages to the preferences. 2013-08-08 23:18:31 +02:00
1bfbc3dc9d Updated web-links. 2013-08-07 16:00:46 +02:00
3766369c49 Refactored VapourSynth detection code into a separate thread, similar to Avisynth. 2013-08-07 15:34:02 +02:00
9635f092f6 Much improved VapourSynth detection + added option "--no-deadlock-detection" to disable process termination on timeout. 2013-08-04 18:44:53 +02:00
2aa2c7385f Implemented VaporSynth input support. 2013-08-02 20:44:47 +02:00
78f882f1ad Added VapourSynth detection code. 2013-08-02 18:09:12 +02:00
2adc1ee50c Added CLI option to skip the x264 version test. 2013-07-07 16:11:47 +02:00
74edad10e7 Fixed regression in previous commit. 2013-07-03 23:56:41 +02:00
74ac7077a6 Some more refactoring. 2013-07-03 21:52:19 +02:00
a74f27ab5b Code refactoring: Now "Preferences" and "Recently" used models are in separate classes for a more cleaner design. 2013-07-03 21:34:21 +02:00
43e1146263 Added sound effect when a job has completed or failed (optionally, disabled by default). 2013-07-01 03:03:21 +02:00
e1e7248b3a Added option to set the process priority of the encoder processes. 2013-06-17 00:42:57 +02:00
4e2094c296 Fixed a stupid mistake that made some of the *input* formats not show up. 2013-05-23 22:28:57 +02:00
cfe88da4fc Make help screen work again + updated Readme file. 2013-05-23 22:15:33 +02:00
a3072d9c6b Fixed a small bug: When adding multiple files and enabling the "Apply To All Files" option, then the current file was added twice. 2013-05-11 21:52:07 +02:00
a56ed35a1a Finished work to better handle multiple input files. 2013-05-11 01:50:05 +02:00
680debf496 Some more refactoring to allow better handling of multiple input files. 2013-05-08 22:46:25 +02:00
aacf84b88a Some initial refactoring to allow better handling of multiple input files. 2013-05-08 00:04:40 +02:00
b2b751035d Better support for new x264 builds with OpenCL Lookahead. 2013-05-05 14:11:34 +02:00
dd7a18abbb Moved the Avisynth detected code into a background thread. 2013-04-02 23:10:58 +02:00
2d80a1d7a5 Bumped versions. 2013-03-06 23:37:15 +01:00
7070d0d41f Bump version. 2013-01-15 21:18:24 +01:00
337a65bb2d Now using global "fatal exit" function. 2012-12-15 19:12:56 +01:00
6a2c9e463f Updated build script. 2012-12-05 22:51:27 +01:00
d17f7d0bd9 Added solution/project files for Visual Studio 2012. 2012-12-02 19:58:49 +01:00
4883e8aae2 Prepare for separate solutions for MSVC2010 and MSVC2012. 2012-12-02 19:36:43 +01:00
ea0f4b813e Fixed Drag&Drop with Qt v4.8.4. It still is a mystery how the old code ever worked with Qt 4.8.2 (and older). 2012-12-01 15:54:07 +01:00
9400b628d6 Updated version info. 2012-11-28 23:36:00 +01:00
6562924242 Show an additional tool-tip when the user enters "invalid" custom parameters. Should make things more clear. 2012-09-27 18:13:55 +02:00
f4549d74ef Allow "--frames" and "--fps" as custom parameters, because they might be useful when FFMS2 input is used. We will discard those parameters later, iff Avisynth/Pipe input is used. 2012-09-22 14:58:51 +02:00
3f8ed91da3 Added an option to save the output file to the same folder where the source is located. Also improved Avisynth detection in case of exception error. 2012-05-14 21:47:47 +02:00
1fcc296bda Fix of previous commit. 2012-05-08 16:08:02 +02:00
1f0518d10c Less restrictive minimum/maximum for the "target bitrate" selector. 2012-05-08 02:50:20 +02:00
38a6def683 Better handling of exceptions in Avisynth code. 2012-04-30 22:24:41 +02:00
7effdd62d8 Added an option to save the log automatically. 2012-04-30 19:26:41 +02:00
1cb2b2b4c8 Added support for VLD and fixed a few memory leaks found by VLD. 2012-04-30 16:56:01 +02:00
12e37c30a2 Bump version. 2012-03-29 18:45:51 +02:00
d55e24e3be Fix help display. Regression introduced when 8-Bit/10-Bit support was added. 2012-03-29 15:20:26 +02:00
b7acf86d6e Added option to choose between 8-Bit and 10-Bit encoding at runtime. We now include 8-Bit and 10-Bit builds in the distribution package. 2012-03-25 22:11:07 +02:00
2c021cf3f1 Improved file size estimation. 2012-02-27 21:39:15 +01:00
ae97181d06 Show an estimate(!) of the final size during the encode. 2012-02-23 03:18:46 +01:00
912f9e576e Properly remember the last selected output file filter index. 2012-02-22 23:53:16 +01:00
72a9145a5d Improved IPC behavior when the running instance does not respond for whatever reason. 2012-02-21 01:59:44 +01:00
ff3f5516d8 Added support for handling multiple instances. 2012-02-21 00:37:31 +01:00
47a0a1f8c7 Updated ReadMe file + slightly tweak install script. 2012-02-18 01:22:24 +01:00
0ece9fed40 Updated ReadMe file. 2012-02-17 22:18:40 +01:00
1033990705 Added a web-link for "Help and Support". 2012-02-16 23:58:33 +01:00
c91451069e Added "Copy" and "Paste" to custom context menu. 2012-02-16 14:33:26 +01:00
83e51e6a17 Added "Editor" dialog for custom parameters. 2012-02-16 02:08:46 +01:00
c66376096d Delete zero-size output files when job fails or is aborted. 2012-02-15 00:45:42 +01:00
aefe4fa3ea Strip down Avisynth header file to what we actually need/use. 2012-02-14 23:57:28 +01:00
10b495bfa5 Added a "restart" button and extended JobListModel API as required. 2012-02-14 23:36:44 +01:00
877c06712d Added some more information about audio encoding to ReadMe file. 2012-02-14 20:50:35 +01:00
e81d00dee7 Bump version. 2012-02-14 00:27:02 +01:00
a0991e1137 Added option to by-pass the Avisynth check. Not recommended! 2012-02-13 20:49:16 +01:00
9829729d7f Actually detect the Avisynth version. Will accept version 2.5 or later. 2012-02-13 18:52:55 +01:00
9667385870 Make sure that the current configuration can be saved to a template, even if it equals the "<Recently Used>" configuration. Also added Avisynth credits. 2012-02-13 16:44:50 +01:00
6ed0a8be29 Make installer remember the install location from a previous installation. 2012-02-13 02:12:04 +01:00
5046a80d56 Properly verify custom Avs2YUV parameters. Also improved color-space info in the ReadMe file. 2012-02-13 00:04:39 +01:00
e316c3cd37 Compatibility fix. 2012-02-12 17:35:50 +01:00
e149f87ed8 Added support for custom Avs2YUV parameters. Required to allow passing trough 4:2:2 (YV16) and 4:4:4 (YV24) data, as Avs2YUV converts to 4:2:0 (YV12) by default. YV16 and YV24 requires Avisynth 2.6! 2012-02-12 15:58:28 +01:00
ac5d2c4f89 Improved deadlock handling. We will now throw a warning after 1 minute and abort after 5 minutes of inactivity. This may still be too short for FFVideoSource() to finish indexing on extremely large files. Though in this case the user should use 'ffmsindex' to create the index beforehand. 2012-02-11 16:10:21 +01:00
1d5af73ac7 Minimum required OS is Windows XP, not Windows 2000. 2012-02-11 03:11:29 +01:00
8a1666485c Improved installer script. 2012-02-11 00:28:32 +01:00
2147ef1a34 Improved internal API for version info. 2012-02-11 00:19:24 +01:00
4085e0b57a Updated ReadMe file. 2012-02-11 00:06:56 +01:00
68a01d1483 Improved version info. 2012-02-10 22:48:08 +01:00
d83ddf7303 Improved version info. 2012-02-10 22:30:27 +01:00
ed774d4f0f Implemented asynchronous handling of dropped files, so the source application gets unblocked ASAP. Also added Drag&Drop support to the "Add Job" dialog. 2012-02-10 18:42:16 +01:00
9f2a0c4f10 Refactored selection of the "data" directory into a global function and killed some Copy&Paste code. 2012-02-10 18:40:28 +01:00
5b01c67785 Make the installer explicitly request elevation. 2012-02-10 12:32:08 +01:00
defd0b795a Updated ReadMe file. 2012-02-10 02:18:28 +01:00
5ceb25656c Implemented a portable mode. Will be enabled, if the string "portable" is found in the EXE name. 2012-02-10 01:58:45 +01:00