MCAutoQueue is a standalone application that can be used to fully automate things like Video Conversions, File Replacements, Post-Processing, Ad Skip Processing, and much more. It uses the power of MC's Smartlists, Database Fields, and Tag-On-Import settings to accomplish its magic. Here's a look:
Click to embiggen.Download Here Current Version: 0.9.9.2
Requirements:1. JRiver Media Center: MCAutoQueue was developed on MC19. Prior versions are not supported (though it may be functional).
Note: Confirmed still functional on MC27.
2. Microsoft .NET 4.5 Framework: This is the .NET framework from Microsoft. You probably already have it, but if not it is available here:
Microsoft .NET 4.5 Framework Download3. Windows 10, Windows 8, Windows 7. The .NET 4.5 Framework is not available for Windows XP and older versions of Windows. Sorry, guys, no XP support.
Please Note: This is a BETA. However, this can be considered a release candidate. No further substantial changes should be expected before the 1.0.0 release. I've been using it in production now for quite some time.
Change Log:Change logs for the current release:
*
glynor.common-ChangeLog.txt*
MCAutoQueue-ChangeLog.txt*
MCFileIngester-ChangeLog.txt*
MCVideoRedoer-ChangeLog.txtIncluded:I've also included a few quite handy processors that can be used with MCAutoQueue (or completely standalone), or as tools to build your own scripts. In particular, check out
MCFileIngester and
MCVideoRedoer details in the thread below.
Getting Started:You need three main things set up to use MCAutoQueue: a Field and Smartlist in MC, and some Processors (command line tools) to run on the files with this field filled in.
1. Field:MCAutoQueue uses a Field in Media Center as a key to pick
which processor will be used for a particular file. The best option is to use a String Type field in Media Center, and then add an "Acceptable Values" restriction to that field. Here's an example:
(I suggest you use [NeedsProcessing] but you can use anything you'd like.)To use the examples in the included example configuration file, you'd use this in the Acceptable Values restriction box when configuring the field:
Completed;Failed;Echo Normal;Echo Series Argument;Echo Causes Timeout;Echo No Update;Echo MC Style;AdScan;VideoReDo-iPhone;VideoReDo-AutoThen, add this Field to your Views in Media Center (as a column, or choose Also Show in the Tag Action Window). It is also convenient to make a view where you have the [NeedsProcessing] field added as a category, so you can see them in one place and filter by it. In any case, get it into your Views so you can tag some files with the field.
2. Smartlist:Then, you create a Smartlist in Media Center that shows any file that has an entry in this field, except for the special values "Failed" and "Completed". Here's an example Smartlist:
-[NeedsProcessing]=[],[Failed],[Completed] ~sort=[Date Imported]
You can use any filters on the Smartlist you want, including things like adding limits, a sort order (to process things in the preferred order), or anything else. You could even, if you want, use a manual Playlist (though a smartlist is almost always going to be preferable).
3. Processors:In MCAutoQueue itself, under the Settings button, you can define what command line tools you want to run on files that "match" this key. When it runs, MCAutoQueue will get the list of files from the playlist you made in Step 2. Then, for each of those files, it will read the contents of the field you defined in Step 1. And lastly, it will look at the names of the Processors you've defined looking for a match to decide which "Processor" (or command line tool) will be run on the file in question.
Click to embiggen.Each Processor can take these settings:
Key: The name of the processor, and the value that will trigger it in the [NeedsProcessing] field.
Command to Run: This must be a path to an executable file on disk (exe, script, etc).
Argument: The argument you'd like to use for the command. This setting is parsed, and works much like using MC's Rename, Move, and Copy tool. It can be as simple as the [Filename] of the file from MC, or as complex as using Media Center's expression language.
Options: Each Processor has a couple of options, which will be explained below.
Timeout: When they run, each processor is limited to a maximum run-time, after which MCAutoQueue kills the process and marks the file as failed. You can modify the timeout setting for each Processor independently here (in minutes).
Running MCAutoQueueWhen you run MCAutoQueue, it will pull the contents of the Smartlist, look at the Field to Process, decide which Processor to use, and then execute the commands one at a time in sequence (following the sort order defined in your Playlist in MC). As each Processor completes execution, MCAutoQueue will then mark the field "Completed" (and mark them as Failed if they fail).
When it finishes with all of the files in the Smartlist, it is done, and can exit. MCAutoQueue logs all of its activity, and can be controlled by command line options itself.
For best results, you would add
Tag On Import rules to your Auto Import settings in MC, that automatically set this [NeedsProcessing] field for you. Then, you schedule MCAutoQueue in the Windows Task Scheduler to run automatically in the middle of the night. It runs through and processes your files for you.
You can, of course, use it completely manually, though. Perhaps you just want to be able to queue up batches of files for processing manually? It doesn't matter, as it will work either way.
Command Line Options:MCAutoQueue (by glynor) v0.9.5 Command Line Help
Usage:
Process Media Center files using settings provided in the AQConfig file.
If no --config option is provided, the most-recently used automatic config file will be used.
Options:
-c, --config=AQCONFIG the AQCONFIG file to use for processing.
--notimeout Disable all processor timeouts (not recommended).
-e, --autoexit automatically exit after running. This option
is ignored if an error occurs and the relevant
preference is set.
--AutoExit automatically exit after running (alternate
syntax).
-a, --autorun automatically run the processor.
--AutoRun automatically run the processor (alternate
syntax).
-m, --runmin start up minimized. This has no effect if
autorun is not also set.
--AutoMinimize start up minimized (alternate syntax).
-h, --help show this message and exit
So, download it, give it a whirl, and tell me what you think!