Probably a noob question...swatches palette

Hi all, I work for a magazine publisher and I have an ad that was originally a PDF from a client. They needed some changes made to text and other elements so I opened it in Illustrator CS4 and did most of the changes. However there are some spot colors in use in the document that I need to make CMYK for printing purposes. I double-click on the name of the swatch and it pulls up the options. I then change it from book color to CMYK but the option to change it from a spot color stays grayed out. How do I change the spot colors to be separated? The document color mode is already CMYK, and I've tried the Edit->Edit colors->Convert to CMYK route but it messes up my transparency pretty badly. I've done google searches but have found nothing. My only other option is to do all the customer changes, then rasterize the ad in Photoshop which I'd rather not do in case they come back with more changes in the future. I even tried changing the spot colors in Acrobat using Pitstop but it wasn't totally successful. I've spent half the day on this and the ad needs to go out! =( Thanks ahead of time for any help.

Editing a PDF in Illustrator is a resort-after-the-last-resort maneuver. You should try to get hold of the original file and edit that. But you probably know that already and have either ruled out asking for it or been told it is unavailable, so here we are.
Your best bet for editing the colours is to do it in Acrobat, not Illustrator. Use Acrobat’s Advanced > Print Production > Output Preview command, you can convert any spot colours to process. Probably the colours are used in some objects that Illustrator cannot interpret into fully editable artwork. This often happens with areas where transparency was flattened when the PDF was made.

Similar Messages

  • Probably a noob question, but why does the Mac OSX volume control window...

    ...randomly pop up sometimes. I think I'm triggering it, but I don't know how.

    It pops up when you use a dock and control the volume or when your sliding volume and you press the Home button. Its there so you won't have to navigate to the Music app and see the volume

  • Creating a new swatch palette

    I can't find this in the Help or Manual, so can anyone help me with this please?
    In Photoshop CS5, how can I create a new custom swatch palette for a project I'm working on?  I'd like to create a blank palette that I can add my own named swatches to, and load as needed.
    Of course, then the question is:  what's the name of PS's default palette, so I can bring it back when I move on to other things?
    Thanks for your help.

    To make your own custom swatches palette, edit the default one you have. From the swatches flyout menu choose >> save swatches.
    Then use load swatches to load these into other projects.

  • AIColor, swatch palette and AIArtHandles.

    For a given artwork, is there a way to retrieve all AIArtHandles, using a given AIColor (Fill, Stroke and Style) from the swatch palette?
    I would like to do this without parsing the entire artwork tree, and checking style, fill and stroke of all AIArtHandles. (If it is possible).
    The aim is to "index" the AIColor of the Artwork.
    Thank,
    Thomas.

    I don't know if this will work, but you might try looking at GetArtForCurrentPathStyle() in AIMatchingArt.h. It's not quite what you're asking for, but you might be able to jimmy the current path style to get the matches you want, I'm not sure.
    Also, if comes to having to parse the whole tree there's a function in AIPathStyle.h called ObjectUsesAIColor() that will check the object & and it's associated style for the colour in question. That might help if it comes to that.

  • How to remove stubborn colors in Indesign and Illustrator swatch palette

    Hello,
    There are actually two issues I have with colors in Illustrator and Indesign: One is to remove unused colors in the swatch palette. After I make sure all colors are correctly used in my file, I will select "unused colors" to get rid of extraneous colors but the unused colors still appears in the palette. Second, a color is used in the file (e.g. color designated not to print) but somehow it doesn't appear in the swatch palette until I select "show added colors" in the option pull down menu and instantaneously, it reappears in the palette. How does one hide the color while it is clearly used in the file.
    Does anyone have answers to these puzzling issues?
    Sutagami

    Thanks! I'll try the methods in the link you've provided but do you know the answer to the second question which is clicking on the "new add colors" in the option view. I've seen this happen in several instances where the actual color is being used but it's not visible until you select "new added colors". Keep in mind that this designated color (a process color of magenta) is intended not to print because it's a callout for dieline.
    I presumed the creator of this file main purpose is to reveal colors that are printing but hide non-printed colors like magenta dieline in the swatch palette.
    Sutagami

  • Color and Swatches palette behaviour in Illustrator CS5

    I only use the Swatches palette, but when I click the Tools palette color chips to select between stroke and fill, Illustrator brings up the Color palette by default; I have to go back and re-open the swatches palette - quite tedious.
    Is there any way to change this behaviour?
    I haven't been able to find anything useful in the Help or via Google - probably because I can't describe the issue in a few words!
    Thanks
    Rick
    Illustrator CS5 15.0.2 on Mac 10.6.6

    Yes - that works round it... !
    Thanks

  • Noob Question Re: Encoding to DVD

    This is my first post in the adobe forums , so hello all!
    I've been trolling this, and numerous other sites, hoping to understand the basic process of editing -> CD creation.
    So here it begins...I am working on "work-out" video tape. The footage was shot using a Canon H10 to removable memory card. All files are .MTS, which don't pose too many challenges for my computer (i7 processor w/ 6MB memory) after the most recent PP update. Editing, adding AE, titles, graphics, or using Sound Booth is relatively painless. I have a total of (4) timelines that comprise the total video (Trailer, Intro, Instructions, and Workout). As I edited the video I'd often render what I had testing formats such as avi, MPEG2, FLV/4, Blu-Ray H.264, etc. I was amazed with the clarity and sharpness as I stayed with in the confines of 1980x1020. So I have no problems there. Once the editing, I first created a blank timeline and pulled into it the other timelines to make on timeline called "Video Complete". I dynamic linked that timeline to Encore and found out that amount of data, in that format, created a very unstable Encore - it screamed and hollered about running out of memory, etc. I watched several tutorials and found that dynamic linking the indvidual timelines gave me a much more stable Encore.
    So I had the untranscoded .MTS files in Encore. I created my menu, linking the timelines, etc and built my project using the standard 720x480 (I believe) format. To say the least, I wasn't at all happy with the final product when watched on the television. Very pixalated/jagged around letters, etc.
    I don't mind shopping around for the correct answer or putting my time in on research, I'd just like to know if I am on the right playing field and/or headed in the right direction.
    So basically my questions are:
    1) Is dynamic linking .MTS files to Encore the correct approach as opposed to rendering the .MTS files in PPro to avi or MPEG2 before bringing them into the Encore project? (Based on wanting the best DVD quality possible)
    2) Transcoding settings for individual timelines should remain on automatic or should I adjust them and transcode before clicking on build project?
    3) Since I was able to see MPGE2 renderings (from PPro) on my computer screen as sharp and clear, should I expect the same quality from a DVD product?
    Any information would be helpful - thanks so much.
    Joe

    Re: Noob Question Re: Encoding to DVD
    Hi, great questions:
    I think this is a sound approach. MTS is short for MPEG-2 Transport Stream, so it's already MPEG-2 but will of course have to be re-transcoded for DVD to standard definition. If you want to experiment with high definition, you could try stripping the streams out of the MTS using a third party tool such as what you might find at videohelp.com - or not. Less transcoding is always better, but may not be practical. There's probably little advantage to doing this on the DVD side, but it might be worthwhile for Blu-ray? Or not.
    First, try using Interpret Footage on the asset (the MTS file itself) - set it to SD Widescreen. You may need to Revert to Original if it's already transcoded. Try building another DVD and check the footage.
    For the most part, yes. Of course, they will be standard definition on DVD.
    Message was edited by: jbowden
    Jbowden,
    Thanks for the response. I will check out "Interpret Footage" on the asset of the MTS file and toggle to SD Widescreen. Will do that tonight so I can compare the two for quality.
    Joe

  • My ipad mail is synced to my iMac mail account. On iPad, I can only see my inbox and sent messages. I can't see any of the folders I have created on my iMac. How do I do that? Probably a dumb question, but I know there's a lot of smart people out there!

    My iPad mail is synced to my private email account, which I organise on my iMac. On iPad, I can only see inbox and sent messages folders, not any of the other folders in my email account I have created on my iMac. How do I get iPad to show my other folders? Probably a dumb question, but I know there's a lot of smart people out there.

    If you select a mailbox, you should get an Edit button (easier to see in landscape mode). Clicking the button will provide you with check circles for the messages. You also get Delete and Move buttons at the bottom. Check the messages you want to move and then navigate to the mailbox you want to drop them into. I think as long as you can navigate to a mailbox you can move the messages to it.
    In the Mac Mail application and probably Outlook on the Windows side, you also setup rules to move messages to specific mailboxes. If the mailboxes are stored on the server, then you can have the sorting done on the server and they should appear that way on the iPad. If your later messages do not show up, you may need to have the iPad app pulled down more messages until they are all showing.

  • How To Delete All Colors In a Swatch Palette?

    If I wanted to create a new swatch palette without the preset colors being there, how can I delete all the swatches at once. I know how to delete each color individually but, is there a way to clear the palette?
    TIA
    knightball

    I believe you can do it in the Presets Manager.

  • Color Swatch Palette is Stuck

    I am a designer working for a printer. We have a customer who is trying to add a new color to her CS4 document. She is selecting New Color Swatch - Spot - Pantone Solid Coated but is getting Process Coated DS colors -- the palette is stuck. Any suggestions? When she sent the document to me I didn't have any problems with the swatch palette.
    Thanks for any help.

    from the help files:
    Restore all preferences and default settings
    When InDesign is behaving erratically, deleting preferences (also referred to as “trashing preferences” or “removing preferences”) often solves the problem.
    Do one of the following:
    (Windows) Start InDesign, and then press Shift+Ctrl+Alt. Click Yes when asked if you want to delete preference files.
    (Mac OS) While pressing Shift+Option+Command+Control, start InDesign. Click Yes when asked if you want to delete preference files.

  • Custom Swatch Palette (beta)

    Hi yall,
    I created this custom swatch palette which allows a person to keep swatch info in this palette and instantiate it in documents.  The palette can store notes about a particular swatch and there is a save button somewhere which will save your palette state as an xml file.
    //==================================================HOBO SWATCHES by Vasily ===========================================//
    // BETA
    * @@@BUILDINFO@@@ Hobo Swatches_v1.jsx !Version! Sat Jan 18 2014 22:36:40 GMT-0600
    function swatchPalette(){
    //===================================================Icon Resources========================//
    var infoBtnSrc='({total:2, '+
    'shape_1:{fillColor:[0.11, 0.18, 1], name:"", tag:"", strokeColor:null, pathPoints:[10, 3, 5, 5], ellipsePath:true, closed:true}, '+
    'shape_0:{fillColor:[0.11, 0.18, 1], name:"", tag:"", strokeColor:null, pathPoints:[[15, 15], [15, 11], [18, 11], [18, 9], [13, 9], [8, 9], [8, 11], [11, 11], [11, 15], [7, 15], [7, 17], [19, 17], [19, 15]], ellipsePath:false, closed:true}})';
    var addBtnSrc='({total:1, '+
    'group_0:{'+
    'shape_1:{fillColor:null, name:"", tag:"", strokeColor:[0, 0.14, 1], pathPoints:[[19, 9], [14, 9], [14, 4], [12, 4], [12, 9], [7, 9], [7, 11], [12, 11], [12, 16], [14, 16], [14, 11], [19, 11]], ellipsePath:false, closed:true, strokeWidth:2}, '+
    'shape_0:{fillColor:[1, 1, 0], name:"", tag:"", strokeColor:null, pathPoints:[[19, 9], [14, 9], [14, 4], [12, 4], [12, 9], [7, 9], [7, 11], [12, 11], [12, 16], [14, 16], [14, 11], [19, 11]], ellipsePath:false, closed:true}, total:2}})';
    var rmvBtnSrc='({total:2, '+
    'shape_1:{fillColor:null, name:"", tag:"", strokeColor:[0, 0.22, 0], pathPoints:[[20, 9], [6, 9], [6, 11], [20, 11]], ellipsePath:false, closed:true, strokeWidth:3}, '+
    'shape_0:{fillColor:[0.27, 1, 0], name:"", tag:"", strokeColor:null, pathPoints:[[20, 9], [6, 9], [6, 11], [20, 11]], ellipsePath:false, closed:true}})';
    var rstBtnSrc='({total:2, '+
    'group_1:{'+
    'shape_1:{fillColor:[1, 0, 0], name:"", tag:"", strokeColor:[0.14, 0.12, 0.13], pathPoints:[45, 4, 12, 12], ellipsePath:true, closed:true, strokeWidth:2}, '+
    'shape_0:{fillColor:null, name:"", tag:"", strokeColor:[0.14, 0.12, 0.13], pathPoints:[[51, 12], [51, 2]], ellipsePath:false, closed:false, strokeWidth:3}, total:2}, '+
    'group_0:{'+
    'shape_7:{fillColor:null, name:"", tag:"", strokeColor:[0.75, 0.36, 0], pathPoints:[[5, 16], [5, 5], [11, 5], [11, 10], [7, 10], [12, 15]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_6:{fillColor:null, name:"", tag:"", strokeColor:[0.75, 0.36, 0], pathPoints:[[20, 5], [15, 5], [15, 15], [19, 15]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_5:{fillColor:null, name:"", tag:"", strokeColor:[0.75, 0.36, 0], pathPoints:[[14, 10], [18, 10]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_4:{fillColor:null, name:"", tag:"", strokeColor:[0.75, 0.36, 0], pathPoints:[[34, 5], [29, 5], [29, 15], [34, 15]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_3:{fillColor:null, name:"", tag:"", strokeColor:[0.75, 0.36, 0], pathPoints:[[29, 10], [32, 10]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_2:{fillColor:null, name:"", tag:"", strokeColor:[0.75, 0.36, 0], pathPoints:[[21, 15], [26, 15], [26, 10], [22, 10], [22, 5], [27, 5]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_1:{fillColor:null, name:"", tag:"", strokeColor:[0.75, 0.36, 0], pathPoints:[[39, 16], [39, 5]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_0:{fillColor:null, name:"", tag:"", strokeColor:[0.75, 0.36, 0], pathPoints:[[35, 5], [42, 5]], ellipsePath:false, closed:false, strokeWidth:2}, total:8}})';
    var labModelSrc='({total:3, '+
    'shape_2:{fillColor:null, name:"", tag:"", strokeColor:[1, 1, 1], pathPoints:[[4, 2], [4, 8], [7, 8]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_1:{fillColor:null, name:"", tag:"", strokeColor:[0, 1, 1], pathPoints:[[12, 3], [12, 8], [9, 8], [9, 5], [12, 5]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_0:{fillColor:null, name:"", tag:"", strokeColor:[1, 1, 0], pathPoints:[[15, 2], [15, 8], [18, 8], [18, 5], [15, 5]], ellipsePath:false, closed:false, strokeWidth:2}})';
    var cmykModelSrc='({total:4, '+
    'shape_3:{fillColor:[0, 1, 1], name:"", tag:"", strokeColor:null, pathPoints:[[2, 9], [5, 9], [5, 8], [3, 8], [3, 3], [5, 3], [5, 2], [2, 2]], ellipsePath:false, closed:true}, '+
    'shape_2:{fillColor:[1, 0, 1], name:"", tag:"", strokeColor:null, pathPoints:[[10, 3], [9, 3], [9, 4], [8, 4], [8, 3], [7, 3], [7, 2], [6, 2], [6, 3], [6, 5], [6, 9], [7, 9], [7, 5], [8, 5], [8, 6], [9, 6], [9, 5], [10, 5], [10, 9], [11, 9], [11, 2], [10, 2]], ellipsePath:false, closed:true}, '+
    'shape_1:{fillColor:[1, 1, 0], name:"", tag:"", strokeColor:null, pathPoints:[[16, 2], [16, 3], [15, 3], [15, 4], [14, 4], [14, 3], [13, 3], [13, 2], [12, 2], [12, 4], [13, 4], [13, 5], [14, 5], [14, 9], [15, 9], [15, 5], [16, 5], [16, 4], [17, 4], [17, 2]], ellipsePath:false, closed:true}, '+
    'group_0:{'+
    'shape_4:{fillColor:[0, 0, 0], name:"", tag:"", strokeColor:null, pathPoints:[[19, 5], [19, 2], [18, 2], [18, 9], [19, 9], [19, 6], [20, 6], [20, 5]], ellipsePath:false, closed:true}, '+
    'shape_3:{fillColor:[0, 0, 0], name:"", tag:"", strokeColor:null, pathPoints:[[20, 8], [21, 8], [21, 6], [20, 6]], ellipsePath:false, closed:true}, '+
    'shape_2:{fillColor:[0, 0, 0], name:"", tag:"", strokeColor:null, pathPoints:[[22, 9], [22, 8], [21, 8], [21, 9]], ellipsePath:false, closed:true}, '+
    'shape_1:{fillColor:[0, 0, 0], name:"", tag:"", strokeColor:null, pathPoints:[[21, 3], [20, 3], [20, 5], [21, 5]], ellipsePath:false, closed:true}, '+
    'shape_0:{fillColor:[0, 0, 0], name:"", tag:"", strokeColor:null, pathPoints:[[22, 2], [21, 2], [21, 3], [22, 3]], ellipsePath:false, closed:true}, total:5}})';
    var rgbModelSrc='({total:5, '+
    'shape_4:{fillColor:[1, 0, 0], name:"", tag:"", strokeColor:null, pathPoints:[[2, 2], [2, 9], [3, 9], [3, 3], [5, 3], [5, 5], [3, 5], [3, 7], [4, 7], [4, 6], [6, 6], [6, 2]], ellipsePath:false, closed:true}, '+
    'shape_3:{fillColor:[1, 0, 0], name:"", tag:"", strokeColor:null, pathPoints:[[5, 8], [5, 7], [4, 7], [4, 8]], ellipsePath:false, closed:true}, '+
    'shape_2:{fillColor:[1, 0, 0], name:"", tag:"", strokeColor:null, pathPoints:[[6, 9], [6, 8], [5, 8], [5, 9]], ellipsePath:false, closed:true}, '+
    'shape_1:{fillColor:[0, 1, 0], name:"", tag:"", strokeColor:null, pathPoints:[[7, 9], [11, 9], [11, 6], [9, 6], [9, 7], [10, 7], [10, 8], [8, 8], [8, 3], [10, 3], [10, 4], [11, 4], [11, 2], [7, 2]], ellipsePath:false, closed:true}, '+
    'shape_0:{fillColor:[0, 0, 1], name:"", tag:"", strokeColor:null, pathPoints:[[13, 5], [13, 3], [15, 3], [15, 5], [16, 5], [16, 2], [12, 2], [12, 9], [16, 9], [16, 6], [15, 6], [15, 8], [13, 8], [13, 6], [15, 6], [15, 5]], ellipsePath:false, closed:true}})';
    var grayModelSrc='({total:7, '+
    'shape_6:{fillColor:[0.57, 0.58, 0.59], name:"", tag:"", strokeColor:null, pathPoints:[[7, 2], [7, 9], [8, 9], [8, 3], [10, 3], [10, 5], [8, 5], [8, 7], [9, 7], [9, 6], [11, 6], [11, 2]], ellipsePath:false, closed:true}, '+
    'shape_5:{fillColor:[0.57, 0.58, 0.59], name:"", tag:"", strokeColor:null, pathPoints:[[10, 8], [10, 7], [9, 7], [9, 8]], ellipsePath:false, closed:true}, '+
    'shape_4:{fillColor:[0.57, 0.58, 0.59], name:"", tag:"", strokeColor:null, pathPoints:[[11, 9], [11, 8], [10, 8], [10, 9]], ellipsePath:false, closed:true}, '+
    'shape_3:{fillColor:[0.82, 0.82, 0.83], name:"", tag:"", strokeColor:null, pathPoints:[[2, 9], [6, 9], [6, 6], [4, 6], [4, 7], [5, 7], [5, 8], [3, 8], [3, 3], [5, 3], [5, 4], [6, 4], [6, 2], [2, 2]], ellipsePath:false, closed:true}, '+
    'shape_2:{fillColor:[0.35, 0.36, 0.38], name:"", tag:"", strokeColor:null, pathPoints:[[15, 3], [13, 3], [13, 2], [15, 2]], ellipsePath:false, closed:true}, '+
    'shape_1:{fillColor:[0.35, 0.36, 0.38], name:"", tag:"", strokeColor:null, pathPoints:[[15, 3], [15, 5], [13, 5], [13, 3], [12, 3], [12, 9], [13, 9], [13, 6], [15, 6], [15, 9], [16, 9], [16, 3]], ellipsePath:false, closed:true}, '+
    'shape_0:{fillColor:[0.2, 0.22, 0.24], name:"", tag:"", strokeColor:null, pathPoints:[[21, 2], [21, 3], [20, 3], [20, 4], [19, 4], [19, 3], [18, 3], [18, 2], [17, 2], [17, 4], [18, 4], [18, 5], [19, 5], [19, 9], [20, 9], [20, 5], [21, 5], [21, 4], [22, 4], [22, 2]], ellipsePath:false, closed:true}})';
    var noteMarkSrc='({total:4, '+
    'shape_3:{fillColor:[0.53, 0.33, 0.26], name:"", tag:"", strokeColor:[0.14, 0.12, 0.13], pathPoints:[[11, 21], [11, 14], [4, 14]], ellipsePath:false, closed:true, strokeWidth:1}, '+
    'shape_2:{fillColor:[1, 0.97, 0.62], name:"", tag:"", strokeColor:[0.14, 0.12, 0.13], pathPoints:[[11, 21], [1, 21], [1, 14], [7, 14], [11, 19]], ellipsePath:false, closed:true, strokeWidth:1}, '+
    'shape_1:{fillColor:null, name:"", tag:"", strokeColor:[0.14, 0.12, 0.13], pathPoints:[[1, 17], [6, 17]], ellipsePath:false, closed:false, strokeWidth:1}, '+
    'shape_0:{fillColor:null, name:"", tag:"", strokeColor:[0.14, 0.12, 0.13], pathPoints:[[1, 19], [6, 19]], ellipsePath:false, closed:false, strokeWidth:1}})';
    var okBtnSrc='({total:2, '+
    'group_1:{'+
    'shape_5:{fillColor:null, name:"", tag:"", strokeColor:[0.39, 0.31, 0], pathPoints:[[11, 5], [5, 5], [5, 15], [11, 15]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_4:{fillColor:null, name:"", tag:"", strokeColor:[0.39, 0.31, 0], pathPoints:[[28, 5], [22, 5], [22, 15], [28, 15]], ellipsePath:false, closed:true, strokeWidth:2}, '+
    'shape_3:{fillColor:null, name:"", tag:"", strokeColor:[0.39, 0.31, 0], pathPoints:[[14, 4], [14, 15], [19, 15]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_2:{fillColor:null, name:"", tag:"", strokeColor:[0.39, 0.31, 0], pathPoints:[[45, 5], [40, 5], [40, 15], [45, 15]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_1:{fillColor:null, name:"", tag:"", strokeColor:[0.39, 0.31, 0], pathPoints:[[40, 10], [43, 10]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_0:{fillColor:null, name:"", tag:"", strokeColor:[0.39, 0.31, 0], pathPoints:[[31, 15], [36, 15], [36, 10], [32, 10], [32, 5], [37, 5]], ellipsePath:false, closed:false, strokeWidth:2}, total:6}, '+
    'group_0:{'+
    'shape_2:{fillColor:[0, 0, 0], name:"", tag:"", strokeColor:[0.57, 0.58, 0.59], pathPoints:[47, 2, 15, 15], ellipsePath:true, closed:true, strokeWidth:1}, '+
    'shape_1:{fillColor:null, name:"", tag:"", strokeColor:[0.93, 0.11, 0.14], pathPoints:[[51, 13], [58, 6]], ellipsePath:false, closed:false, strokeWidth:2}, '+
    'shape_0:{fillColor:null, name:"", tag:"", strokeColor:[0.93, 0.11, 0.14], pathPoints:[[58, 13], [51, 6]], ellipsePath:false, closed:false, strokeWidth:2}, total:3}})';
    var addToDocBtnSrc='({total:5, '+
    'shape_4:{fillColor:[1, 1, 0.59], name:"", tag:"", strokeColor:[0.14, 0.12, 0.13], pathPoints:[[22, 16], [13, 16], [13, 9], [17, 5], [22, 5]], ellipsePath:false, closed:true, strokeWidth:2}, '+
    'shape_3:{fillColor:[0.14, 0.12, 0.13], name:"", tag:"", strokeColor:null, pathPoints:[[11, 13], [8, 13], [8, 4], [11, 4]], ellipsePath:false, closed:true}, '+
    'shape_2:{fillColor:[0.14, 0.12, 0.13], name:"", tag:"", strokeColor:null, pathPoints:[[5, 10], [5, 7], [14, 7], [14, 10]], ellipsePath:false, closed:true}, '+
    'shape_1:{fillColor:[1, 0, 0], name:"", tag:"", strokeColor:null, pathPoints:[[13, 9], [6, 9], [6, 8], [13, 8]], ellipsePath:false, closed:true}, '+
    'shape_0:{fillColor:[1, 0, 0], name:"", tag:"", strokeColor:null, pathPoints:[[10, 5], [10, 12], [9, 12], [9, 5]], ellipsePath:false, closed:true}})';
    //===================================================Basic Functions========================//
        var UIElements=[Window,Group,EditText,Panel];
        for(var i=0; i<UIElements.length; i++){
            UIElements[i].prototype.setBg=function(rgb){
                this.graphics.backgroundColor=this.graphics.newBrush(this.graphics.BrushType.SOLID_COLOR, [rgb[0],rgb[1],rgb[2]]);
        function round2(num){
            return Math.round(num*100)/100;
        var env=ScriptUI.environment;
        function convertAppColor(src,dest,clrArr){
            return app.convertSampleColor(ImageColorSpace[src], clrArr, ImageColorSpace[dest], ColorConvertPurpose.defaultpurpose);
        function currentTime(){
            var time=new Date();
            var hours=time.getHours();
            var minutes=time.getMinutes();
            var seconds=time.getSeconds();
            if(seconds<10){seconds='0'+seconds;}
            if(minutes<10){minutes='0'+minutes;}
            var ampm=function(){
                if(hours>12){
                    hours-=12;
                    return 'pm';
                } else {
                    if(hours==0){hours=1;}
                    return 'am';
            return (hours)+":"+minutes+":"+seconds+" "+ampm;
        function getUIRGB(type, clr){
            for(var x=0; x<clr.length; x++){
                clr[x]=clr[x]*1;
            if(type=="RGB"){
                return [round2(clr[0]/255),round2(clr[1]/255),round2(clr[2]/255)];
            } else if(type=="CMYK"){
                var newArr=convertAppColor("CMYK","RGB",[clr[0],clr[1],clr[2],clr[3]]);
                return [round2(newArr[0]/255),round2(newArr[1]/255),round2(newArr[2]/255)];
            } else if(type=="GRAY"){
                var newArr=convertAppColor("GrayScale","RGB",[clr[0]]);
                return [round2(newArr[0]/255),round2(newArr[1]/255),round2(newArr[2]/255)];
            } else if(type=="LAB"){
                var newArr=convertAppColor("LAB","RGB",[clr[0],clr[1],clr[2]]);
                return [round2(newArr[0]/255),round2(newArr[1]/255),round2(newArr[2]/255)];
            } else {
                return [0.5,0.5,0.5];
    //===================================================Advanced Functions========================//
        //===================================XML=============//
        function wrapCDATA(str, propNm){
            str = '<data>'+str+'</data>';
            str = str.replace(/(\<data\>)/g, '<'+propNm+'><![CDATA[');
            str = str.replace(/(\<\/data\>)/g,']]\>'+'</'+propNm+'>');
            return XML(str);
        function stringXmlSafe(str){
            str=str.toString();
            str=str.replace(/&(?!(amp;|gt;|lt;|quot;|apos;))/g,"&amp;");
            str=str.replace(/</g,"&lt;");
            str=str.replace(/>/g,"&gt;");
            str=str.replace(/'/g,"&apos;");
            str=str.replace(/"/g,"&quot;");
            return str;
        function getXmlSwatchesArr(xmlFile){
            var myFile=xmlFile;
            myFile.open('r');
            myFile.seek(0,0);
            var fileStr=myFile.read();
            myFile.close();
            var xmlObj=XML(fileStr);
            var swatchArr=[];
            for(var x=0, ln=xmlObj.children().length(); x<ln; x++){
                var sw={};
                var thisSw=xmlObj.children()[x];
                sw.name=thisSw.descendants("name").toString();
                sw.aiSwatchKind=thisSw.descendants("aiswatchkind").toString();
                var comp=thisSw.descendants("colorcomp");
                sw.colorComp={};
                sw.colorComp.mode=comp.descendants("mode").toString();
                sw.colorComp.comp=[];
                for(var y=0, ln_2=thisSw.descendants("colorcomp").descendants("colorvalues").children().length(); y<ln_2; y++){
                    sw.colorComp.comp.push(thisSw.descendants("colorcomp").descendants("colorvalues").childre n()[y]*1);
                sw.notes=thisSw.descendants("notes");
                sw.originDoc=thisSw.descendants("origindoc").toString();
                swatchArr.push(sw);
            return swatchArr;
        function getXmlSwatchesXML(swatchArr){
            XML.prettyIndent=4;
            var xmlBody=new XML('<swatches></swatches>');
            for(var i=0; i<swatchArr.length; i++){
                var thisSw=swatchArr[i];
                xmlBody.appendChild(new XML("<swatch></swatch>")); xmlBody.swatch[i].@order=i+1;
                xmlBody.swatch[i].appendChild(new XML("<name>"+stringXmlSafe(thisSw.name)+"</name>"));
                if(thisSw.name!='none'){
                    if(thisSw.info && thisSw.info.plating){
                        thisSw.aiSwatchKind=thisSw.info.plating;
                        thisSw.colorComp.mode=thisSw.colorComp.typename;
                        thisSw.originDoc=thisSw.info.originDoc;
                        thisSw.notes=thisSw.info.notes;
                    xmlBody.swatch[i].appendChild(new XML("<aiswatchkind>"+stringXmlSafe(thisSw.aiSwatchKind)+"</aiswatchkind>"));
                    xmlBody.swatch[i].appendChild(new XML("<colorcomp></colorcomp>"));
                    xmlBody.swatch[i].colorcomp[0].appendChild(new XML("<mode>"+stringXmlSafe(thisSw.colorComp.mode)+"</mode>"));
                    xmlBody.swatch[i].colorcomp[0].appendChild(new XML("<colorvalues></colorvalues>"));
                    for(var j=0; j<thisSw.colorComp.comp.length; j++){
                        xmlBody.swatch[i].colorcomp[0].colorvalues[0].appendChild(new XML("<value>"+stringXmlSafe(thisSw.colorComp.comp[j])+"</value>"));
                    xmlBody.swatch[i].notes=wrapCDATA(thisSw.notes, 'notes');
                    xmlBody.swatch[i].origindoc=stringXmlSafe(thisSw.originDoc);
            return xmlBody;
        //===================================end XML=============//
        // gets type and color array from swatch in swatch palette - for BT
        function getAISwatchColor(processColorOrSpot,name){
            function round2(num){
                return Math.round(num*100)/100;
            var result={type:null, name:null, colorArr:null, uiColor:null, plating:null, originDoc:null, creDt:null, rgbClr:null, cmykClr:null, grayClr:null, labClr:null};
            var clr=processColorOrSpot;
            result.name=name;
            if(clr=="[RGBColor]"){
                result.type="RGB"; result.colorArr=[round2(clr.red),round2(clr.green),round2(clr.blue)];
                result.uiColor=[clr.red/255,clr.green/255,clr.blue/255]; result.plating='Process';
            } else if(clr=="[CMYKColor]"){
                result.type="CMYK"; result.colorArr=[round2(clr.cyan),round2(clr.magenta),round2(clr.yellow),round2(clr.black )]; result.uiColor=function(){
                    var newArr=convertAppColor("CMYK","RGB",[clr.cyan,clr.magenta,clr.yellow,clr.black]);
                    return [newArr[0]/255,newArr[1]/255,newArr[2]/255,];
                }(); result.plating='Process';
            } else if(clr=="[GrayColor]"){
                result.type="GRAY"; result.colorArr=[round2(clr.gray)]; result.uiColor=function(){
                    var newArr=convertAppColor("GrayScale","RGB",[clr.gray]);
                    return [newArr[0]/255,newArr[1]/255,newArr[2]/255,];
                }(); result.plating='Process';
            } else if(clr=="[SpotColor]"){
                clr=clr.spot;
                if(clr.colorType==ColorModel.SPOT){
                    result.plating='Spot';
                } else if(clr.colorType==ColorModel.PROCESS){
                    result.plating='GlobalProcess';
                } else if(clr.colorType==ColorModel.REGISTRATION){
                    result.plating='Registration';
                } else {
                    result.plating="Process";
                var intClr=clr.getInternalColor();
                for(var i=0; i<intClr.length; i++){
                    intClr[i]=round2(intClr[i]);
                if(clr.spotKind==SpotColorKind.SPOTLAB){
                    result.type="LAB"; result.colorArr=intClr; result.uiColor=function(){
                        var newArr=convertAppColor("LAB","RGB",[intClr[0],intClr[1],intClr[2]]);
                        return [newArr[0]/255,newArr[1]/255,newArr[2]/255,];
                } else if(clr.spotKind==SpotColorKind.SPOTRGB){
                    result.type="RGB"; result.colorArr=intClr; result.uiColor=[intClr[0]/255,intClr[1]/255,intClr[2]/255];
                } else if(clr.spotKind==SpotColorKind.SPOTCMYK){
                    result.type="CMYK"; result.colorArr=intClr; result.uiColor=function(){
                        var newArr=convertAppColor("CMYK","RGB",[intClr[0],intClr[1],intClr[2],intClr[3]]);
                        return [newArr[0]/255,newArr[1]/255,newArr[2]/255,];
            var colorMode=result.type;
            if(colorMode=="GRAY"){
                colorMode="GrayScale";
            var altClrs=[
                result.rgbClr=convertAppColor(colorMode, "RGB", result.colorArr),
                result.cmykClr=convertAppColor(colorMode, "CMYK", result.colorArr),
                result.grayClr=convertAppColor(colorMode, "GrayScale", result.colorArr),
                result.labClr=convertAppColor(colorMode, "LAB", result.colorArr),
            for(var c=0; c<altClrs.length; c++){
                for(var d=0; d<altClrs[c].length; d++){
                    altClrs[c][d]=round2(altClrs[c][d]);
            result.originDoc=app.activeDocument.name;
            result.creDt=currentTime();
            return result;
        function drawPath(shp, canvas){
            var thisShp=shp;
            if(thisShp.ellipsePath!=true){
                var vectorPts=thisShp.pathPoints;
                canvas.newPath(); canvas.moveTo(thisShp.pathPoints[0][0],thisShp.pathPoints[0][1]);
                for(var j=0; j<vectorPts.length; j++){
                    var thisAnchor=vectorPts[j];
                    var x=thisAnchor[0], y=thisAnchor[1];
                    canvas.lineTo(x,y);
                if(thisShp.closed==true){
                    canvas.closePath();
            } else {
                var cirPts=thisShp.pathPoints;
                canvas.newPath();
                canvas.ellipsePath(round2(cirPts[0]), round2(cirPts[1]), round2(cirPts[2]), round2(cirPts[3]));
                canvas.closePath();
            if(thisShp.fillColor!=null){
                var clr=thisShp.fillColor;
                var myBrush=canvas.newBrush(canvas.BrushType.SOLID_COLOR,clr);
                canvas.fillPath(myBrush);
            if(thisShp.strokeColor!=null){
                var clr=thisShp.strokeColor;
                var myPen=canvas.newPen(canvas.PenType.SOLID_COLOR,[clr[0],clr[1],clr[2],1], thisShp.strokeWidth);
                canvas.strokePath(myPen);
        function drawImg(objString, canvasArea){
            // using drawPath();
            var obj=eval(objString.replace(/(^'|';$)/g,''));
            var canvas=canvasArea.graphics;
            var counter=obj.total;
            while(counter>=0){
                for(all in obj){
                    if(all.match(/\d{1,2}$/g) && all.match(/\d{1,2}$/g)==counter){
                        var thisShp=obj[all];
                        if(all.match('group')){
                            var ctr=obj[all].total;
                            while(ctr>=0){
                                for(paths in obj[all]){
                                    if(paths.match(/\d{1,2}$/g) && paths.match(/\d{1,2}$/g)==ctr){
                                        drawPath(obj[all][paths], canvas);
                            ctr--;
                        } else {
                            drawPath(thisShp, canvas);
            counter-=1;
        function btnSkin(elem,aClr,w,h){
            var g=elem.graphics; var brush=g.newBrush(g.BrushType.SOLID_COLOR,aClr);
            g.newPath(); g.moveTo(1,1); g.lineTo(w-1,1); g.lineTo(w-1,h-1); g.lineTo(1,h-1); g.closePath(); g.fillPath(brush);
            var ltr=[aClr[0]*1.2,aClr[1]*1.2,aClr[2]*1.2];
            for(var c=0; c<ltr.length; c++){
                if(ltr[c]>1){
                    ltr[c]=1;
            brush=g.newBrush(g.BrushType.SOLID_COLOR,ltr); g.newPath(); g.rectPath(0,0,w,h/2); g.fillPath(brush);
            var pen=g.newPen(g.PenType.SOLID_COLOR,[1,1,1,1],2);
            g.newPath(); g.moveTo(1,1); g.lineTo(w-1,1); g.lineTo(w-1,h-1); g.lineTo(1,h-1); g.closePath();
            g.strokePath(pen);
        function createAltDisp(swObj, uiParent){
            var altClrs=swObj.info.altClrs;
            var modes=['CMYK','RGB','LAB','GRAY'];
            for(var m=0; m<modes.length; m++){
                if(swObj.colorComp.typename!=modes[m]){
                    var altG=uiParent.add('panel',undefined,modes[m]); altG.margins=[2,6,2,2];
                    altG.size=[80,88]; altG.spacing=2; altG.alignChildren='left';
                    if(modes[m]=="RGB"){
                        altG.add('statictext',undefined,'R: '+altClrs.rgbClr[0]);
                        altG.add('statictext',undefined,'G: '+altClrs.rgbClr[1]);
                        altG.add('statictext',undefined,'B: '+altClrs.rgbClr[2]);
                    } else if(modes[m]=="CMYK"){
                        altG.add('statictext',undefined,'C: '+altClrs.cmykClr[0]);
                        altG.add('statictext',undefined,'M: '+altClrs.cmykClr[1]);
                        altG.add('statictext',undefined,'Y: '+altClrs.cmykClr[2]);
                        altG.add('statictext',undefined,'K: '+altClrs.cmykClr[3]);
                    } else if(modes[m]=="LAB"){
                        altG.add('statictext',undefined,'L: '+altClrs.labClr[0]);
                        altG.add('statictext',undefined,'A: '+altClrs.labClr[1]);
                        altG.add('statictext',undefined,'B: '+altClrs.labClr[2]);
                    } else if(modes[m]=="GRAY"){
                        altG.add('statictext',undefined,'Black: '+altClrs.grayClr[0]);
        function swatchInfoBox(swObj, uiParent){
            var baseG=uiParent; // usually a group
            var g_1=baseG.add("panel",undefined,"Swatch Info"); g_1.size=[340,340]; g_1.spacing=2; g_1.margins=[4,12,4,4];
            var nameD=g_1.add('edittext',undefined,swObj.name,{readonly:true}); nameD.characters=20; nameD.justify='center';
            if(swObj.name!='none'){
                var mode=swObj.colorComp.typename;
                var sep=g_1.add('panel'); sep.size=[310,2];
                var g_1_0=g_1.add('group');
                    var txtG=g_1_0.add('group'); txtG.orientation='column'; txtG.spacing=2; txtG.margins=[2,2,2,2]; txtG.alignChildren='left';
                        txtG.add('statictext',undefined,'Color Model: '+swObj.colorComp.typename);
                        txtG.add('statictext',undefined,'Illustrator Swatch Type: '+swObj.info.plating);
                    var swD=g_1_0.add('panel'); swD.size=[34,34]; swD.setBg(swObj.fillColor);
                var sep_1=g_1.add('panel'); sep_1.size=[310,2];
                var g_1_1=g_1.add('group'); g_1_1.spacing=2;
                if(mode=="RGB"){
                    var rD=g_1_1.add('statictext',undefined,'Red: '+swObj.colorComp.comp[0]+',');
                    var gD=g_1_1.add('statictext',undefined,'Green: '+swObj.colorComp.comp[1]+',');
                    var bD=g_1_1.add('statictext',undefined,'Blue: '+swObj.colorComp.comp[2]);
                } else if(mode=="CMYK"){
                    var cD=g_1_1.add('statictext',undefined,'Cyan: '+swObj.colorComp.comp[0]+',');
                    var mD=g_1_1.add('statictext',undefined,'Magenta: '+swObj.colorComp.comp[1]+',');
                    var yD=g_1_1.add('statictext',undefined,'Yellow: '+swObj.colorComp.comp[2]+',');
                    var kD=g_1_1.add('statictext',undefined,'Black: '+swObj.colorComp.comp[3]);
                } else if(mode=="LAB"){
                    var lD=g_1_1.add('statictext',undefined,'Luminance: '+swObj.colorComp.comp[0]+',');
                    var aD=g_1_1.add('statictext',undefined,'a: '+swObj.colorComp.comp[1]+',');
                    var bD=g_1_1.add('statictext',undefined,'b: '+swObj.colorComp.comp[2]);
                } else if(mode=="GRAY"){
                    var gD=g_1_1.add('statictext',undefined,'Gray-Scale Black: '+swObj.colorComp.comp[0]);
                var g_1_2=g_1.add('group');
                createAltDisp(swObj, g_1_2);
                var sep_2=g_1.add('panel'); sep_2.size=[310,2];
                var originDocG=g_1.add('group'); originDocG.orientation='row';
                    var originDocH=originDocG.add('statictext',undefined,"Originating Document");
                    var originDocE=originDocG.add('edittext',undefined,swObj.info.originDoc,{readonly:true}); originDocE.characters=18;
                var g_1_3=g_1.add('panel',undefined,'Notes'); g_1_3.margins=[2,8,2,2]; g_1_3.spacing=2;
                    var notesE=g_1_3.add('edittext',undefined,'',{readonly:true, multiline:true}); notesE.size=[310,60];
                    if(swObj.info && swObj.info.notes && swObj.info.notes!=''){
                        notesE.text=swObj.info.notes;
                    var notesBtnG=g_1_3.add('group');
                        var viewBigBtn=notesBtnG.add('button',undefined,"View Big");
                        var editBtn=notesBtnG.add('button',undefined,"Edit Notes");
                        var clearBtn=notesBtnG.add('button',undefined,"Clear Notes");
                viewBigBtn.onClick=function(){
                    if(notesE.text!=''){
                        var notesW=new Window('dialog',"Notes in a bigger window:"); notesW.margins=[4,4,4,4];
                        var bignotesE=notesW.add('edittext',undefined,notesE.text,{multiline:true, readonly:true}); bignotesE.size=[300,360];
                        var closeNotes=notesW.add('button',undefined,"Ok");
                        notesW.show();
                    } else {
                        alert("There are no notes here.");
                editBtn.onClick=function(){
                    var editResult=function(){
                        var newNotes=null;
                        var w=new Window('dialog','Edit Notes');
                            var inst=w.add('statictext',undefined,"Tip: use Ctrl+Return to enter in a carriage-return.");
                            var editE=w.add('edittext',undefined,notesE.text,{multiline:true}); editE.size=[310,160]; editE.active=true;
                            var btnG=w.add('group');
                                var okBtn=btnG.add('button',undefined,'Set Notes (OK)');
                                var cclBtn=btnG.add('button',undefined,'Cancel');
                        okBtn.onClick=function(){
                            if(editE.text.replace(/\s/g)!=''){
                                newNotes=editE.text;
                            } else {
                                newNotes='';
                            w.close();
                        w.show();
                        return newNotes;
                    if(editResult!=null){
                        notesE.text=editResult;
                        swObj.info.notes=editResult;
                        swObj.noteChange=currentTime();
                clearBtn.onClick=function(){
                    if(confirm("Are you sure you want to clear the notes?")==true){
                        notesE.text='';
                        swObj.info.notes='';
                        swObj.noteChange=currentTime();
        function infoWindow(SESSION){ //======================================MINI UI
            var noteChange;
            var userChoice={showMode:SESSION.options.showMode, showNotes:SESSION.options.showNotes, noteChange:false};
            var swatchBox=function(){
                if(SESSION.selection.length==0){
                    return null;
                } else if(SESSION.selection.length==1){
                    return SESSION.selection[0];
                } else if(SESSION.selection.length>1){
                    return "--Multiple Selection--";
            var w=new Window('dialog',"Swatch Info & Preferences"); w.margins=[4,4,4,4];
                var g_0=w.add('group'); g_0.orientation='column'; g_0.spacing=4;
                    var g_0_1=g_0.add("group");
                    if(swatchBox!=null){
                        if(swatchBox=="--Multiple Selection--"){ // Multi
                            var msg=g_0_1.add('statictext',undefined,swatchBox);
                        } else { //Single
                            if(swatchBox.name!='none'){
                                noteChange=swatchBox.noteChange;
                                swatchInfoBox(swatchBox, g_0_1);
                            } else {
                                var msg=g_0_1.add('statictext',undefined,"Empty Cell");
                    } else { // NONE
                        //var msg=g_0_1.add('statictext',undefined,"NONE");
                    var g_0_1=g_0.add("panel",undefined,"Main Window Prefrences"); g_0_1.size=[340,44]; g_0_1.orientation='column';
                        var boxGrp=g_0_1.add('group');
                            var modelBx=boxGrp.add('checkbox',undefined,"Show Color Mode"); modelBx.value=SESSION.options.showMode;
                            var noteBx=boxGrp.add('checkbox',undefined,"Show Note Marker"); noteBx.value=SESSION.options.showNotes;
                    var g_0_2=g_0.add("panel",undefined,"Persistence Options"); g_0_2.size=[340,54];
                        var saveBtn=g_0_2.add('button',undefined,"Save Current Session");
                var okBtn=w.add('button',undefined,'Ok'); okBtn.size=[340,20]; okBtn.margins=[0,0,0,0];
                okBtn.onClick=function(){
                    w.close();
                saveBtn.onClick=function(){
                    var swcs=SESSION.swatchBoxes, swcsLn=SESSION.swatchBoxes.length;
                    var dir=SESSION.presetFolder;
                    var saveFl=File(dir+"/HoboSwatchSession.xml");
                    var blank=function(){
                        for(var s=0; s<swcsLn; s++){
                            if(swcs[s].name!='none'){
                                return false;
                        return true;
                    var go=false;
                    if(blank==true){
                        if(confirm('Set saved session to all blanks?',true,'Confirm this action:')==true){
                            go=true;
                    } else if(confirm('Save current session?',true,'Confirm this action:')==true){
                        go=true;
                    if(go==true){
                        if(!dir.exists){
                            dir.create();
                        saveFl.open('w');
                        saveFl.write('<?xml version="1.0"?>\r'+getXmlSwatchesXML(swcs));
                        saveFl.close();
                        if(saveFl.exists){
                            alert("Successfully Saved in: "+decodeURI(saveFl),'SUCCESS!');
                        } else {
                            alert("Sorry, "+decodeURI(saveFl)+"'s save operation was NOT successful!",'Failure... Horrible abysmal failure. :\'(');
            w.show();
            userChoice.showMode=modelBx.value;
            userChoice.showNotes=noteBx.value;
            userChoice.noteChange=function(){
                if(swatchBox!=null && (swatchBox.noteChange != noteChange)){
                    return true;
                return false;
            return userChoice;
    //===================================================For Bridge Talk========================//
        function asSourceString(func, withArgs){
            if(withArgs!=undefined && withArgs==true){
                return func.toSource().toString().replace("(","").replace(/\)$/,"");
            } else {
                return func.toSource().toString().replace("(function "+func.name+"(){","").replace(/}\)$/,"");
        function sendBTmsg(func, updateObj, resultFunc, resultFuncArgs){
            if(updateObj==undefined){updateObj={self: 'nothing'}};
            var updateObjName=updateObj.self;
            if(updateObjName!=undefined){
                var bt=new BridgeTalk;
                bt.target='illustrator';
                var btMsg=asSourceString(func);
                for(all in updateObj){
                    if(all!='self'){
                        var rx=new RegExp(updateObjName+'\\.'+all,'g');
                        btMsg=btMsg.replace(rx,updateObj[all]);
                bt.body=btMsg;
                //$.write(btMsg);
                if(resultFunc!=undefined){
                    bt.onResult=function(result){
                        resultFunc(result.body, resultFuncArgs);
                bt.send();
            } else {
                $.writeln("Error, function 'sendBTmsg(func, updateOb)': the update object should have a 'self' property, indentifying its' name.");
        function doNothing(){
            var nothing=function(){
                return;
        function initSwatch(SESSION, sw, name, mode, clrArr, uiClr, info){ // Result of getting document swatches.
            sw.fillColor=uiClr;
            sw.name=name;
            if(mode=="RGB" || mode=="LAB"){
                sw.colorComp={typename:ColorComp[mode].typename,comp:[clrArr[0],clrArr[1],clrArr[2]]};
            } else if(mode=="CMYK"){
                sw.colorComp={typename:ColorComp[mode].typename,comp:[clrArr[0],clrArr[1],clrArr[2],clrAr r[3]]};
            } else if(mode=="GRAY"){
                sw.colorComp={typename:ColorComp[mode].typename,comp:[clrArr[0]]};
            sw.colorComp.name=sw.name;
            SESSION.nameDisplay.text=sw.name;
            sw.info=info;
            sw.addDrawPhase(sw.coloredState);
            if(info.plating=="Spot"){
                sw.addDrawPhase(sw.spotMark);
            } else if(info.plating=="GlobalProcess"){
                sw.addDrawPhase(sw.globalMark);
            if(SESSION.options.showMode==true){
                sw.addDrawPhase(sw[mode+'Model']);
            if(SESSION.options.showNotes==true && sw.info && sw.info.notes!=''){
                sw.addDrawPhase(sw.noteMark);
            if(sw.selected==true){
                sw.removeDrawPhase(sw.selectedMark);
                sw.addDrawPhase(sw.selectedMark);
            sw.refresh();
            sw.instantiated=true;
            sw.elem.helpTip=sw.getInfo();
    //=========<<<<<<<<<<<<<<<BT Function
        function bt_func(){
            var outcome={swatches:[],};
            if(app.documents.length>0){
                var doc=app.activeDocument;
                var swcs=doc.swatches.getSelected();
                if(swcs.length>0){
                    BTOBJ.func_convertAppColor;
                    BTOBJ.func_currentTime;
                    BTOBJ.func_getAISwatchColor;
                    for(var s=0; s<swcs.length; s++){
                        var thisSw=swcs[s];
                        if(thisSw.color!="[PatternColor]" && thisSw.color!="[GradientColor]"
                            && thisSw.name!="[Registration]" && thisSw.name!="[None]"){
                            outcome.swatches.push(getAISwatchColor(thisSw.color, thisSw.name));
                    outcome=outcome.toSource();
                } else {
                    alert("Please select some swatches from the document's swatches palette.");
            } else {
                alert("Please open a document with swatches.");
        function bt_func_rt(objString, args){ //puts swatches into palette.
            var docSws=eval(objString).swatches; var SESSION=args[0];
            for(var s=0; s<docSws.length; s++){
                var thisSw=docSws[s];
                if(SESSION.selection[s]!=undefined){
                    if(thisSw.name!='none'){
                        var sw=SESSION.selection[s];
                        var info={plating: thisSw.plating, originDoc: thisSw.originDoc,
                            altClrs:{rgbClr:thisSw.rgbClr,cmykClr:thisSw.cmykClr,labClr:thisSw.labClr,grayClr:thisSw. grayClr},
                            notes: '',
                        initSwatch(SESSION, sw, thisSw.name, thisSw.type, thisSw.colorArr, thisSw.uiColor, info);
                    } else {
                        alert("Sorry, can't have a swatch by the name of '"+thisSw.name+"'");
        function bt_func_2(){
            BTOBJ.func_currentTime;
            var outcome={};
            if(app.documents.length>0){
                var doc=app.activeDocument;
                var swcs=eval(BTOBJ.sessionSelection);
                var nonConflictingSwatches=[];
                for(var s=0; s<swcs.length; s++){
                    var thisSw=swcs[s];
                    try{
                        doc.swatches.getByName(thisSw.name);
                        continue;
                    } catch(e){
                        nonConflictingSwatches.push(thisSw);
                for(var s=0; s<nonConflictingSwatches.length; s++){
                    var thisSw=nonConflictingSwatches[s];
                    for(var t=0; t<nonConflictingSwatches.length; t++){
                        var thisOtherSw=nonConflictingSwatches[t];
                        if(t!=s && thisSw.name==thisOtherSw.name){
                            nonConflictingSwatches.splice(s,1);
                            s=0;
                            break;
                if(nonConflictingSwatches.length>0){
                    var swG=doc.swatchGroups.add(); var d=new Date();
                    swG.name="Added at "+((d.getMonth()+1)+"/"+d.getDate()+"/"+d.getFullYear()+" "+currentTime());
                for(var s=0; s<nonConflictingSwatches.length; s++){
                    var thisSw=nonConflictingSwatches[s];
                    if(thisSw.plating!='Process'){
                        var dsw=doc.spots.add();
                        if(thisSw.colorComp.typename=="LAB"){
                            dsw.colorType=ColorModel.SPOT;
                        dsw.color=function(){
                            if(thisSw.colorComp.typename=="RGB"){
                                var c=new RGBColor();
                                c.red=thisSw.colorComp.comp[0];
                                c.green=thisSw.colorComp.comp[1];
                                c.blue=thisSw.colorComp.comp[2];
                                return c;
                            } else if(thisSw.colorComp.typename=="CMYK"){
                                var c=new CMYKColor();
                                c.cyan=thisSw.colorComp.comp[0];
                                c.magenta=thisSw.colorComp.comp[1];
                                c.yellow=thisSw.colorComp.comp[2];
                                c.black=thisSw.colorComp.comp[3];
                                return c;
                            } else if(thisSw.colorComp.typename=="LAB"){
                                var c=new LabColor();
                                c.l=thisSw.colorComp.comp[0];
                                c.a=thisSw.colorComp.comp[1];
                                c.b=thisSw.colorComp.comp[2];
                                return c;
                            } else if(thisSw.colorComp.typename=="GRAY"){
                                var c=new CMYKColor();
                                c.cyan=0;
                                c.magenta=0;
                                c.yellow=0;
                                c.black=thisSw.colorComp.comp[0];
                                return c;
                        dsw.name=thisSw.name;
                        if(thisSw.plating=="Spot"){
                            dsw.colorType=ColorModel.SPOT;
                        } else if(thisSw.plating=="GlobalProcess"){
                            dsw.colorType=ColorModel.PROCESS;
                        swG.addSpot(dsw);
                    } else {
                        var dsw=doc.swatches.add();
                        var color=function(){
                            if(thisSw.colorComp.typename=="RGB"){
                                var c=new RGBColor();
                                c.red=thisSw.colorComp.comp[0];
                                c.green=thisSw.colorComp.comp[1];
                                c.blue=thisSw.colorComp.comp[2];
                                return c;
                            } else if(thisSw.colorComp.typename=="CMYK"){
                                var c=new CMYKColor();
                                c.cyan=thisSw.colorComp.comp[0];
                                c.magenta=thisSw.colorComp.comp[1];
                                c.yellow=thisSw.colorComp.comp[2];
                                c.black=thisSw.colorComp.comp[3];
                                return c;
                            } else if(thisSw.colorComp.typename=="GRAY"){
                                var c=new GrayColor();
                                c.gray=thisSw.colorComp.comp[0];
                                return c;
                        dsw.color=color;
                        dsw.name=thisSw.name;
                        swG.addSwatch(dsw);
                outcome=outcome.toSource();
            } else {
                alert("Please open a document with swatches.");
    //===================================================Used Objects========================//
        var BTOBJ={
            self: "BTOBJ",
            doNothing: asSourceString(doNothing),
            func_getAISwatchColor: asSourceString(getAISwatchColor, true),
            func_convertAppColor: asSourceString(convertAppColor, true),
            func_currentTime: asSourceString(currentTime, true),
            func_round2: asSourceString(round2, true),
            sessionSelection: null,
        var ColorComp={
            CMYK:{typename:'CMYK', name:'', comp: [0,0,0,0]},
            RGB:{typename:'RGB', name:'', comp: [0,0,0]},
            LAB:{typename:'LAB', name:'', comp: [0,0,0]},
            GRAY:{typename:'GRAY', name:'', comp: [0]},
            NULL:{typename:'NULL', name:'None', comp:null},
        function SwatchBox(elem){
            this.uiOrder=elem.order;
            this.name='none';
            this.elem=elem;
            this.colorComp=ColorComp.NULL;
            this.elem.parentObj=this; // access constructor through UI element.
            this.selected=false;
            this.instantiated=false;
            this.refresh=function(){
                this.assignOnDraw(this.currentDrawingState);
                this.elem.hide();  this.elem.show();
            this.elem.helpTip='none';
            this.fillColor=[0.4,0.4,0.4];
            this.selectedMark={id: 'selected',
                func:function(elem){
                    var g = elem.graphics;
                    var pen=g.newPen(g.PenType.SOLID_COLOR,[0,0,0,0.7],3);
                    g.rectPath(2, 2, 19, 19); g.strokePath(pen);
                    pen=g.newPen(g.PenType.SOLID_COLOR,[1,1,1,1],2);
                    g.newPath(); g.moveTo(2,7); g.lineTo(2,2); g.lineTo(7,2); g.strokePath(pen);
                    g.newPath(); g.moveTo(21,7); g.lineTo(21,2); g.lineTo(16,2); g.strokePath(pen);
                    g.newPath(); g.moveTo(2,16); g.lineTo(2,21); g.lineTo(7,21); g.strokePath(pen);
                    g.newPath(); g.moveTo(21,16); g.lineTo(21,21); g.lineTo(16,21); g.strokePath(pen);
            this.coloredState={id:'colored',
                func:function(elem){
                    var g = elem.graphics;
                    var pen=g.newPen(g.PenType.SOLID_COLOR,[0.7,0.7,0.7,1],1);
                    var brush=g.newBrush(g.BrushType.SOLID_COLOR,elem.parentObj.fillColor);
                    g.newPath(); g.moveTo(1,1); g.lineTo(22,1); g.lineTo(22,22); g.lineTo(1,22); g.closePath();
                    g.fillPath(brush); g.strokePath(pen);
            this.noneState={id:'none',
                func:function(elem){
                    var g = elem.graphics;
                    var pen=g.newPen(g.PenType.SOLID_COLOR,[0.7,0.7,0.7,1],1);
                    var brush=g.newBrush(g.BrushType.SOLID_COLOR,[0.4,0.4,0.4]);
                    g.newPath(); g.moveTo(1,1); g.lineTo(22,1); g.lineTo(22,22); g.lineTo(1,22); g.closePath();
                    g.strokePath(pen); g.fillPath(brush);
            this.spotMark={id:'spot',
                func:function(elem){
                    var g = elem.graphics;
                    var brush=g.newBrush(g.BrushType.SOLID_COLOR,[1,1,1]), pen=g.newPen(g.PenType.SOLID_COLOR,[0.7,0.7,0.7,1],1);
                    g.newPath(); g.moveTo(22,13); g.lineTo(22,22); g.lineTo(13,22); g.closePath();
                    g.fillPath(brush); g.strokePath(pen);
                    g.newPath();
                    brush=g.newBrush(g.BrushType.SOLID_COLOR,[0,0,0]);
                    g.ellipsePath(18,18,2,2); g.fillPath(brush);
            this.globalMark={id:'global',
                func:function(elem){
                    var g = elem.graphics;
                    var brush=g.newBrush(g.BrushType.SOLID_COLOR,[1,1,1]), pen=g.newPen(g.PenType.SOLID_COLOR,[0.7,0.7,0.7,1],1);
                    g.newPath(); g.moveTo(22,13); g.lineTo(22,22); g.lineTo(13,22); g.closePath();
                    g.fillPath(brush); g.strokePath(pen);
            this.noteMark={id:'notes',
                func:function(elem){
                    drawImg(noteMarkSrc, elem);
            this.LABModel={id:'labmodel',
                func:function(elem){
                    drawImg(labModelSrc, elem);
            this.GRAYModel={id:'graymodel',
                func:function(elem){
                    drawImg(grayModelSrc, el

    Thank you W_J_T  and here is the place where I got my drawing from:
    http://forums.adobe.com/message/5819478#5819478
    * I posted the latest update at the bottom on Jan 25 2014.
    The principles of this method are to draw by reading the string object and that;s how you can change colors and things by changing the eval-led objects and redrawing them with putting an updating function into OnDraw and hiding/showing the element to force the OnDraw.  If you end up using this , I'd like to see some examples!

  • Syncing & Streaming from the same Library? - Noob question

    Good Evening - I have a silly noob question that I can't believe I can't find the answer to on my own: I have been trying to determine if it is possible to sync and stream from the same library simultaneously.
    I purchased the 40GB aTV and it has been syncing just fine with my Windows iTunes. I told it not to sync a few albums I never listen to so I wouldn't have issues with other songs or movies. I am upgrading to a new iMac and I am am going to re-rip many of my existing CD's to get them into a consistent audio quality of 192 AAC or above. This is going to push my library size to well over the 40GB limit in just music, not including any movies or TV shows I choose to pull in.
    The manual does not make it obvious (or I am not reading clearly) what happens to items that don't sync over - I assume they are still playable but will have to stream. Is there anyway to mark "preferred" albums or artists that should get synced and not streamed in case the iTunes library is unavailable for whatever reason?
    Also, when I change libraries is the aTV going to completely re-sync even though the music is must going to be migrated?
    Thanks for taking the time to answer these silly questions.

    That's not quite what I was looking for.
    My question remains, what happens to the items that can't be synced from my main library to my aTV? My library is just a smidge bigger than the available space on the aTV and not everything syncs over. Does that mean I won't be able to play those items not synced from my main library...
    As my library grows I don't want to have to choose what does and doesn't get synced from my library by mood. For example, every year my wife buys new christmas music - right now I could exclude it and everything else gets copied over, but come thanksgiving that stuff better be there for her and I don't want to choose other music or movies to remove.
    I guess I will just have to play to try it out.

  • Third Party Plug-in for Multiple Swatch Palettes in InDesign

    Hello,
    Does anyone know if there is a third-party plug in to have multiple swatch palettes in InDesign? I would like to create different palettes for different sections of the long document --- scrolling through all of the swatches each time is cumbersome.
    Many thanks!
    Jessica W.

    Here's a little trick that may not even require a third party plugin
    On the Master Page
    Create a bunch of rectangles, colour them with all the swatch colours you need, make as many pallettes as you like.
    Then group them together
    Create a text frame
    Insert the group as anchored objects
    Alignment make it away from spine (so it's always way out to the right or left)
    Then Move the text frame over so that it encroaches on the page.
    duplicate the frame and put it on the other side too.
    Now all your pages have palletes of colour beside them. And you can use the Eye Dropper to sample the colours.

  • CS4 & CS5 Swatches Palette

    Hi there, i know this is small but i wondered if we could have it fixed for CS6. CS3< were fine with this because they did not have custon UI, but CS4 was bad, and CS5 is slightly better but still wrong.
    Its just the swatches window, all of the colors are offset compaired to the old version where they were laid out properly. This image shows what i mean:
    http://i151.photobucket.com/albums/s133/rickyt_album/imageofswatches.jpg
    If this small UI error could be fixed it would be much appreciated!! I have also noticed the Mac version of CS5 does not have this it seems.

    To reinforce what Chris has said, drag the Swatches palette out of its docked position by its little tab...
    -Noel

  • Probably a stupid question

    just got a macbook pro and want to be able to use the webcam to chat with my hubby on his PC when he is out of town on business. he does NOT have a webcam so we need to know what kind he can get that will allow us to talk and see each other. i know this is probably a stupid question but we are new at this.....

    Welcome to Apple Discussions, bevs
    Any PC webcam that is compatible with your hubby's PC system, (Windows?) OS, and chat software will work. Best suggestions will come from the "Help" pages for his chat applications software.
    For you to be able to video chat with your hubby, it is important that you choose applications software that offers "cross-platform" (Mac to PC) video chat capability. There are several choices available, but Skype probably currently offers the best balance between ease of use and reliability in free cross-platform video apps.
    Whichever apps (and camera) you and hubby choose, everything must be compatible with your respective computers and operating systems. I mention this because your posted system info shows macbookpro   Mac OS X (10.0.x). Mac OS X (10.0.x) is now five major upgrades old. No MacBook Pros shipped with Mac OS X (10.0.x), so I expect that your system info just needs to be updated. However, if I am wrong, you will need to upgrade your Mac OS to use Skype, because Skype's System Requirements show you must use Mac OS X v10.3.9 Panther or later. I do not know any video chat apps that work with Mac OS X (10.0.x).
    In order to use Skype, both you and your hubby will need to download and install your respective versions of the Skype software. Skype offers free AV connections between computers (although its website seems to concentrate on its for-fee telephone connection service,) it is easy for most users to configure and set up, and it offers cross-platform audio with its video chat. (Not all video chat apps offer simultaneous audio.)
    Your iSight will work with Skype, as will most PC webcams for your hubby. For more information now, or for help if you encounter problems using Skype later, Skype offers comprehensive support that includes a dedicated Skype Forum as well as technical support directly from Skype in addition to its online FAQ and Knowledge-base.
    If you decide to go with Skype, your hubby can get Skype-specific suggestions for PC webcams here.
    Please let us know if you need any other info before you can mark your question "Answered." We will be happy to try to offer more focused suggestions for your specific questions.
    EZ Jim
    PowerBook 1.67 GHz w/Mac OS X (10.4.11) G5 DP 1.8 w/Mac OS X (10.5.1)  External iSight

Maybe you are looking for

  • Hard Drive Died, Have Music, Want Pics/Contacts/Apps

    Hello all. I am a bit frustrated. I love my iPhone, but really hate iTunes. My wife and I each have an iPhone and I have iPods as well. Recently, my hard drive on my old PC died (the one I would sync my iPhone with). I have all of my music backed up

  • Using 3 tables in Merge function T-SQL

    Hi there, I have a source table A and one View ,Target table B I was trying to write Merge function for incremental load I mean it is type1 load Table A should look at View   if it doesn't find the record then load into table B (Target) the columns a

  • ITunes library too large

    When connecting MBP to Apple TV prompt appears "iTunes library too large"

  • Migrating from Unity 7.0 to Unity Connection 8.5 on a new server.

    Hello all. I am currently in the process of migrating from Unity 7.0 on a windows platform to Unity Connection 8.5 on a new Linux server. I was unaware that UC 8.x runs on Linux so this caught me off guard. Can someone offer any tips, guides, links,

  • Epub Fixed Layout

    I am using CC and I want to export my indesign project to a fixed layout epub. When I go to export I am only given the option to export to a regular epub and not a fixed layout epub. How will I be able to export this as a fixed layout?