[AppleScript] Make Optical Disc Burn Sets-Folders
Hi,
Over the years I have tinkered on an AppleScript for producing 'snapshots' of whatever is in my catalogs out to optical media, because I have found the Backup/CD-ROM function of iVMP/EM2/MP to be lacking some useful features. Recently I updated it to work with Media Pro.
It is available here.
It is currently beta, so use it on duplicate catalogs. Install it in /Users/<your user folder>/Library/Application Support/Phase One Media Pro/Plug-ins/Scripts/ and then relaunch MP.
What it does (from the script comments):
What it does that Backup/CD-ROM does not offer:
What it doesn't do:
How to use it (though it's pretty self-explanatory):
Sort media items by Path (makes most sense to me) then Create Burn Sets/Folders with largest-sized optical media for job, choosing a set prefix, numbering and zero-padding scheme, and parent folder for burn folders.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-About-GenAdjust_8bA.png
This may lead to the situation where the last set of files will not adequately fill the respective media.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-FirstRun_8bA.png
Show items in last set. In a bit, MP will show you the size of the visible items (in lower left of main window). Decide what size disc to use for the new visible items and re-run script, choosing a number scheme that works with previous run. When new sets are made, you can delete the previous set that did not fill up a disc.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-SecondRun_8bA.png
In the Finder, Trash the associated now-extraneous burn folder for the too-big disc.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-ParentFolder_8bA.png
You're now ready to pop in a disc and start burning. Or, wait until later.
When you go to do the next snapshot backup of newly added photos, etc., you can show all sets of previously burnt items, then choose to Show Hidden and sort to find what has not been burnt yet. Also, you can show the smaller-size disc sets from the previous burn sets and include them in your new set/burn folder series for larger discs again (deleting the now-extraneous smaller-size sets). While this will make the smaller disc(s) burnt earlier redundant, it will reduce the physical size of the overall collection and make it a bit more tidy, having it all now on larger discs.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-SecondRunAfter_8bA.png
Before doing high-quantity disc burning sessions, it is best to verify the script (and any custom disc capacity setup) output is actually going to fit on the respective disc.
Pop in a blank disc and use the Finder or MP to figure out what is the largest burn, by size. Then, try to burn it. You should see something like the following if it will fit on the disc in your drive (use Get Info window to verify on Macs with multiple optical drives which one the Mac is choosing):
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-Burn-OK_8bA.png
If you see something like the following, you either do not have a disc in the burner, or the set will not fit on the disc. You will need to edit (increase) the BurnBufferAdjustment in the script for that particular media, and probably rebuild all sets/burn folders from the first non-fitting set on.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-Burn-DiscNeeded_8bA.png
When you want to maximize media that can be put on a disc, use the script function to generate a 'probably accurate' buffer for the vendor-specific media (not all are created equal with regards to capacity!).
Use the Generate Adjustment command (beta) to generate an adjustment for any BLANK optical disk in any optical drive on your Mac, then copy paste the subsequent script text into the script in your AppleScript editor or choice, compile and save it. Relaunch MP to see your changes in the script.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-GenAdjust-Success_8bA.png
In script, make a new line in the appropriate place in the optiDiscs property list and paste in the new disc setting and name it relative to the vendor. You may have to manually tweak the BurnBufferAdjustment number to get the most out of your vendor-specific discs.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-GenAdjust-AddToScript_8bA.png
If you run into problems, you can always Trash the generated burn folders and delete the created media sets and start over. The script should not affect your actual files in any way.
Enjoy, and let me know if you have errors, or have made the script better.
Larry
Over the years I have tinkered on an AppleScript for producing 'snapshots' of whatever is in my catalogs out to optical media, because I have found the Backup/CD-ROM function of iVMP/EM2/MP to be lacking some useful features. Recently I updated it to work with Media Pro.
It is available here.
It is currently beta, so use it on duplicate catalogs. Install it in /Users/<your user folder>/Library/Application Support/Phase One Media Pro/Plug-ins/Scripts/ and then relaunch MP.
What it does (from the script comments):
Script will create media sets sized for a selected optical disc for all 'visible' items in front catalog, then create corresponding burn folders of item aliases (with all volume and folder structure intact) within a chosen parent Finder folder.
Subsequent runs of the script on the last media set previously created can further separate files onto smaller-sized discs, if needed. Regeneration of identically named media sets and burn folders will empty both and rebuild. Auto zero-padding of set numbers is relative to number being generated (e.g. 30 sets = 01, 02, 03, etc.), starting number, or starting number + number of sets (whichever is longer), with a minimum padding of 2 characters. Names of sets and burn folders (and burned volume names) can always be overridden later.
Edit script to add/adjust available discs and their approximated capacities, optionally using script to generate an accurate adjustment buffer for the current blank disc in an optical drive to get the most files burnt onto vendor-specific media (which often have slightly different actual capacities).
Enjoy, and let me know of any errors, or corrections to base disc sizes/capacities.
I'm not responsible for anything that happens due to use of this script.
History:
2011, July 26 (0.9.0-beta) Initial release. Tested with Media Pro version 1.01 on Mac OS X 10.6.8 on a Mac Pro (2008) and iMac (2011)
What it does that Backup/CD-ROM does not offer:
- Generates (and regenerates) media sets for to-be burned media items.
- Generates Finder burn folders (ending in .fpbf) with entire volume --> item parent folder structure, with the media item represented by an alias (i.e. media is NOT copied to burn folder).
- Creation of burn folders do not require optical media to be in drive. Build as many sets/burn folders as needed before burning.
- Subdivide sets/burn folders that don't fill up discs to economize optical media, before burning.
- Optical media can be adjusted in the script to maximize amount of media stored.
What it doesn't do:
- Doesn't go very fast when generating burn folders for large catalogs (for Blu-ray media, etc.), but sure beats waiting for MP to copy media to burn folders. 😉
- Doesn't offer to copy a catalog to optical media with reset paths, etc. Since media sets are generated for each burn folder (i.e. burnt disc) you can create a duplicated master catalog of items on optical media and use the Reset Paths command to align those items to the disc in the drive, just after it is burnt. Then, later, you can burn the master catalog to a separate CD for the whole snapshot collection. I find this maximizes actual media files on optical media, while offering a single index catalog (though I rarely burn it to a disc).
- Doesn't actually burn anything. Just does the prep work, which is very useful if you have 10,000+ upon 10,000+ of photos to backup.
- Doesn't re-sort files to fit the most on any given disc. It burns them in the order they are sorted in MP, fitting what it can, then jumping to a new disc.
- Does not support building sets/folders for multi-session burns (though it could).
- Does not support sidecar XMP files (though it could).
How to use it (though it's pretty self-explanatory):
Sort media items by Path (makes most sense to me) then Create Burn Sets/Folders with largest-sized optical media for job, choosing a set prefix, numbering and zero-padding scheme, and parent folder for burn folders.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-About-GenAdjust_8bA.png
This may lead to the situation where the last set of files will not adequately fill the respective media.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-FirstRun_8bA.png
Show items in last set. In a bit, MP will show you the size of the visible items (in lower left of main window). Decide what size disc to use for the new visible items and re-run script, choosing a number scheme that works with previous run. When new sets are made, you can delete the previous set that did not fill up a disc.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-SecondRun_8bA.png
In the Finder, Trash the associated now-extraneous burn folder for the too-big disc.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-ParentFolder_8bA.png
You're now ready to pop in a disc and start burning. Or, wait until later.
When you go to do the next snapshot backup of newly added photos, etc., you can show all sets of previously burnt items, then choose to Show Hidden and sort to find what has not been burnt yet. Also, you can show the smaller-size disc sets from the previous burn sets and include them in your new set/burn folder series for larger discs again (deleting the now-extraneous smaller-size sets). While this will make the smaller disc(s) burnt earlier redundant, it will reduce the physical size of the overall collection and make it a bit more tidy, having it all now on larger discs.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-SecondRunAfter_8bA.png
Before doing high-quantity disc burning sessions, it is best to verify the script (and any custom disc capacity setup) output is actually going to fit on the respective disc.
Pop in a blank disc and use the Finder or MP to figure out what is the largest burn, by size. Then, try to burn it. You should see something like the following if it will fit on the disc in your drive (use Get Info window to verify on Macs with multiple optical drives which one the Mac is choosing):
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-Burn-OK_8bA.png
If you see something like the following, you either do not have a disc in the burner, or the set will not fit on the disc. You will need to edit (increase) the BurnBufferAdjustment in the script for that particular media, and probably rebuild all sets/burn folders from the first non-fitting set on.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-Burn-DiscNeeded_8bA.png
When you want to maximize media that can be put on a disc, use the script function to generate a 'probably accurate' buffer for the vendor-specific media (not all are created equal with regards to capacity!).
Use the Generate Adjustment command (beta) to generate an adjustment for any BLANK optical disk in any optical drive on your Mac, then copy paste the subsequent script text into the script in your AppleScript editor or choice, compile and save it. Relaunch MP to see your changes in the script.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-GenAdjust-Success_8bA.png
In script, make a new line in the appropriate place in the optiDiscs property list and paste in the new disc setting and name it relative to the vendor. You may have to manually tweak the BurnBufferAdjustment number to get the most out of your vendor-specific discs.
http://dl.dropbox.com/u/6317362/mp/MakeOptiDiscBurns/OpticalDiscs-GenAdjust-AddToScript_8bA.png
If you run into problems, you can always Trash the generated burn folders and delete the created media sets and start over. The script should not affect your actual files in any way.
Enjoy, and let me know if you have errors, or have made the script better.
Larry
0
-
Wow Larry,
I'm really impressed that you've taken the time to create this, give it away to everyone, AND document it so well.
Thanks for the hard work!0 -
Hi Corey, Thanks for the hard work!
Thanks for the kind words. I scripted it on the clock... so I did make some coin. 😉 Had to write up how to use it for fellow employees as well.
I am adding two more features to round out the basics: XMP sidecar copying and an option for setting a fixed number of sets and burn folders to make (helps when you only want to test the script or commit to burning a specific quantity of discs at a time).
Let me know if the script works for you, and if not, what errors you have run into. We have used it in-house for awhile, but I recently added other features, like the creation of a burn adjustment, and rewrote much of the code.
Larry0
投稿コメントは受け付けていません。
コメント
2件のコメント