FasdUAS 1.101.10 k l  Proper English Title Capitalization By Cantus Vetustus Report Bugs/Suggestions to cantusvetustus@spymac.com Based on Doug Adams's original "Track Names to Word Caps" AppleScript. His AppleScript can be downloaded at: http://www.malcolmadams.com/itunes/scripts/scripts09.shtml   , Proper English Title Capitalization By Cantus Vetustus Report Bugs/Suggestions to cantusvetustus@spymac.com Based on Doug Adams's original "Track Names to Word Caps" AppleScript. His AppleScript can be downloaded at: http://www.malcolmadams.com/itunes/scripts/scripts09.shtml  l  l  l 4.===========LIST OF TAGS TO MODIFY===========--\===========LIST OF TAGS TO MODIFY===========-- l :4These are the tags that will be selected by default.hThese are the tags that will be selected by default. j 0my_tags_to_modify J mname m!!"" album#$ #l%& %.(This is the list of tags you can modify.&''PThis is the list of tags you can modify.$() (j * 0tags_to_modify *J ++,- ,m..//name-01 0m2233 artist145 4m 6677composer58 8m 99:: album);< ;l<=> =l?@ ?5/===========LIST OF LOWERCASE WORDS===========--@AA^===========LIST OF LOWERCASE WORDS===========-->BC BlDE DYSThese are the words that will remain lowercase, unless they begin or end the title.EFFThese are the words that will remain lowercase, unless they begin or end the title.CGH GlIJ IXRSome additional words that include punctuation, such as "v." and "vs.", are below.JKKSome additional words that include punctuation, such as "v." and "vs.", are below.HLM Lj8N 0lowercase_words NJ7OOPQ PmRRSSaQTU TmVVWWanUXY XmZZ[[andY\] \m^^__as]`a `mbbccatade dmffggbutehi hmjjkkbyilm lmnnooenmpq pmrrssforqtu tmvvwwifuxy xm!zz{{iny|} |m!$~~of} m$'on m'*or m*-the m-0to m03viaM l l 60===========LIST OF UNMODIFIED WORDS===========--`===========LIST OF UNMODIFIED WORDS===========-- l f`These are the words that won't be modified at all. It's a good place to put all-uppercase words.These are the words that won't be modified at all. It's a good place to put all-uppercase words. j9 0unmodified_words J9 m9<FM m<?USA m?BWDPK mBE OYF N mEHUR mHKTV mKNMGM mNQDVD mQTABC mTWCD mWZUSSR mZ]CA m]`WA m`cNY mcfNYC mfiLP milEP mloVHS morUK mruGB mux 'Bout mx{ 'Cause m{~o' m~'n' mn' m    McCartney   m  v.  mvs. mde m feat. mPi-hsien m!!""OK #$ #m%%&&MED$' 'm(())MTV*+ *l+,- ,l./ .93===========LIST OF TRAILING CHARACTERS===========--/00f===========LIST OF TRAILING CHARACTERS===========---12 1l34 3{Any word trailed by a character in this list will be title cased. (ie. "a song" (with a remix) -> "A Song" (With a Remix))455Any word trailed by a character in this list will be title cased. (ie. "a song" (with a remix) -> "A Song" (With a Remix))267 6j8 0 other_chars 8m99::N_!"$%&/()=?@|#"  []{}*-+ " ` &:;.7;< ;l<=> =j? 0lowercase_match ?m  boovfals>@A @jB $0unmodified_matchunmodified_Match Bm  boovfalsACD CjE 0other_chars_match Em  boovfalsDFG FjH 0my_tags Ho 0my_tags_to_modifyGIJ IlJKL KpMMN 0awordaWordN 0newwordnewWordLOP OlPQR QlS SOTU TZVWX V> YZ Y1  sele ZJ  Wk c[[\] \r ^_ ^1   pFix _o 0old_fi]`a `rbc bm  boovtrue c1  pFixade ds!fg fchi h1  sele im  list go $0myselectedtracksmySelectedTracksejk jr"+lm lc")no nl"'p pn"'qr qm%'  nmbr rn"%st s2#%  cobj to"# $0myselectedtracksmySelectedTracks om'(  nmbr mo 0songs_selectedkuv uZ,[wxy w=,/z{ zo,- 0songs_selected {m-. xk2C||}~ }r2; c29 b27 b25 m23There is o34 0songs_selected m56 track selected. m78  TEXT o 0songs_selected_message~ r<C c<A b<? o<= 0songs_selected m=>( track was modified. m?@  TEXT o 0songs_modified_message ykF[ rFQ cFO bFM bFI mFGThere are oGH 0songs_selected mIL" tracks selected. mMN  TEXT o 0songs_selected_message rR[ cRY bRW oRS 0songs_selected mSV, tracks were modified. mWX  TEXT o 0songs_modified_messagev l\\ r\ n\ 1  bhit l\ I\ .sysodlogaskrTEXT b\i b\g b\c m\_^Welcome to Proper English Title Capitalization. o_b  ret ocf  ret ogh 0songs_selected_message  btns Jlw mlo Cancel morConfigure & mru Modify  dflt mz{  disp m~ o 0choice l Z = o 0choice mConfigure & k r l I .gtqpchltTEXT@@TEXT o 0tags_to_modify  prmp mSelect the track tags you wish to modify (unselected tags will be ignored):  inSL o 0my_tags_to_modify  mlsl m  boovtrue  empL m  boovfals o 0my_tags_to_modify~ Z} = o| |0my_tags_to_modify m{ { boovfals k r oz z 0my_tags oy y0my_tags_to_modifyx Iwv w.aevtoappnull**** fvx} Iu u.sysodlogaskrTEXT m Now we're ready.t t btns J m Cancels m Modifysrq r dflt mppq~ lonmonm   X3 l  l.   X.k k#) r#( c#& o#$j j0 selected_tag m$%i i TEXT oh h0 selected_tag Z)Fgf =). o)*e e0 selected_tag m*-  name r1B!" !l1>#dc #n1>$% $I2>b&a b0 texttolist TextToList&'( 'n27)* )137` ` pnam *o23_ _0atrackaTrack(+^ +17:] ] spac^a %f12dc "o\ \$0thetitle_as_listtheTitle_as_Listgf,- ,ZGd./[Z .=GL01 0oGHY Y0 selected_tag 1mHK2233 artist /rO`45 4lO\6XW 6nO\78 7IP\V9U V0 texttolist TextToList9:; :nPU<= <1QUT T pArt =oPQS S0atrackaTrack;>R >1UXQ Q spacRU 8fOPXW 5oP P$0thetitle_as_listtheTitle_as_List[Z-?@ ?ZeABON A=ejCD CoefM M0 selected_tag DmfiEEFFcomposer Brm~GH GlmzILK InmzJK JInzJLI J0 texttolist TextToListLMN MnnsOP O1osH H pCmp PonoG G0atrackaTrackNQF Q1svE E spacFI KfmnLK HoD D$0thetitle_as_listtheTitle_as_ListON@RS RZTUCB T=VW VoA A0 selected_tag WmXXYY album UrZ[ Zl\@? \n]^ ]I>_= >0 texttolist TextToList_`a `nbc b1< < pAlb co; ;0atrackaTrackad: d19 9 spac:= ^f@? [o8 8$0thetitle_as_listtheTitle_as_ListCBSef ergh gJ77 ho6 60newtitlenewTitlefij irkl kcmn mnop om5 5 nmbr pnqr q24 4 cobj ro3 3$0thetitle_as_listtheTitle_as_List nm2 2 nmbr lo1 1 0 last_itemjst sruv um00 vo/ /0 word_countertwx wl.-,.-,xyz yX{+| {k}}~ ~r m o* *0newwordnewWord l)(')(' X & k l%% GACheck if any of the words belong to the list of unmodified words.Check if any of the words belong to the list of unmodified words.$ Z#" = l! c o *0my_unmodified_matchmy_unmodified_Match m  TEXT! l c o 0awordaWord m  TEXT k r m  boovtrue o $0unmodified_matchunmodified_Match S#"$ &*0my_unmodified_matchmy_unmodified_Match o 0unmodified_words l   Z  o  $0unmodified_matchunmodified_Match k" l c]Unmodify matching words in unmodified_words list (actually just copy the word from the list).Unmodify matching words in unmodified_words list (actually just copy the word from the list). r c o *0my_unmodified_matchmy_unmodified_Match m  TEXT o 0newwordnewWord r" m  boovfals o $0unmodified_matchunmodified_Match  G%8 l%* =%* o%( 0 word_counter m()  l-4 =-4 o-0 0 word_counter o03  0 last_item k;A l;; /)Capitalize first and last words in title.RCapitalize first and last words in title. n;A I<A 0setcaseSetCase o<= 0awordaWord f;< kD lDD A;For words not beginning or ending the title (middle words).vFor words not beginning or ending the title (middle words). XDv kZq lZZ LFCheck if any of the middle words belong to the list of lowerase words.Check if any of the middle words belong to the list of lowerase words. ZZq =Za lZ] cZ] oZ[ (0my_lowercase_matchmy_lowercase_Match m[\  TEXT l]` c]` o]^ 0awordaWord m^_  TEXT kdm rdk mde  boovtrue o 0lowercase_match Slm (0my_lowercase_matchmy_lowercase_Match oGL 0lowercase_words lww Zw ow| 0lowercase_match k l c]Lowercase matching words in lowercase_words list (actually just copy the word from the list).Lowercase matching words in lowercase_words list (actually just copy the word from the list). r c o (0my_lowercase_matchmy_lowercase_Match m  TEXT o 0newwordnewWord r m  boovfals o 0lowercase_match k l  '!Capitalize the rest of the words.   BCapitalize the rest of the words.  n   I 0setcaseSetCase o 0awordaWord  f l l s o 0newwordnewWord n ; o 0newtitlenewTitle r l [ o 0 word_counter m o 0 word_counter +0awordaWord |o $0thetitle_as_listtheTitle_as_Listz l !" !Z#$ #=%& %o 0 selected_tag &m''((name $r)* )n+, +I- 0 listtotext ListToText-./ .o 0newtitlenewTitle/0 01  spac ,f *n12 11  pnam 2o 0atrackaTrack"34 3Z56 5=78 7o 0 selected_tag 8m99:: artist 6r;< ;n=> =I? 0 listtotext ListToText?@A @o 0newtitlenewTitleAB B1  spac >f <nCD C1  pArt Do 0atrackaTrack4EF EZ GH G=IJ Io 0 selected_tag JmKKLLcomposer HrMN MnOP OIQ 0 listtotext ListToTextQRS Ro 0newtitlenewTitleST T1  spac Pf NnUV U1  pCmp Vo 0atrackaTrackFW WZ )XY X= Z[ Zo  0 selected_tag [m \\]] album Yr%^_ ^n`a `Ib 0 listtotext ListToTextbcd co 0newtitlenewTitlede e1  spac af _nfg f1 $  pAlb go 0atrackaTrack k0atrackaTrack o $0myselectedtracksmySelectedTracks *$Check which tags are to be modified.hhHCheck which tags are to be modified. l0 selected_tag  o 0my_tags_to_modify ij il44jkl ks49mn mo45 0old_fi n158  pFixlo oI:cpq .sysodlogaskrTEXT pb:Grs rb:Etu tb:Avw vm:=xxyy Done! wo=@  ret uoAD  ret soEF 0songs_modified_messageqz{  btns zJJO||} }mJM~~OK{  dflt mRS  disp mVW  givu mZ] XIf .sysodlogaskrTEXT mfi:There are no tracks selected.  btns Jlq mlo Cancel  dflt mtu  disp mxy UmhookalisL Macintosh HDe1yH+JR iTunes.appd͔ Applicationse0JR$Macintosh HD:Applications:iTunes.app iTunes.app Macintosh HDApplications/iTunes.app/R l~}|~}| l{{ 5/The handler taking care of the casing of words.^The handler taking care of the casing of words. i Izy z0setcaseSetCasex ow w0awordaWordxy Y.vu Z ) E  o t t0 other_chars lsr n 4q q cha op p0j oo o0awordaWordsr k. r  lnm n 4l l cha ok k0j oj j0awordaWordnm oi i0j r!& b!$ o!"h h0newwordnewWord o"#g g0j of f0newwordnewWorde r'. m'(d d boovtrue oc c0other_chars_matche o16b b0other_chars_match k9 r9? l9=a` n9= 4:=_ _ cha o;<^ ^0j o9:] ]0awordaWorda` o\ \0j Z@ F@S l@G[Z ?@G l@EYX I@EWV W.sysoctonshorTEXT o@AU U0jVYX mEFTT`[Z lJQSR AJQ lJOQP IJOON O.sysoctonshorTEXT oJKM M0jNQP mOPLL{SR rVe bVc oVWK K0newwordnewWord lWbJI IWbHG H.sysontocTEXTshor lW^FE \W^ lW\DC IW\BA B.sysoctonshorTEXT oWX@ @0jADC m\]?? FEGJI o> >0newwordnewWord Fh{ lho=< ?ho lhm;: Ihm98 9.sysoctonshorTEXT ohi7 70j8;: mmn66@=< lry54 Ary lrw32 Irw10 1.sysoctonshorTEXT ors/ /0j032 mwx..[54- r~ b~ o~, ,0newwordnewWord o+ +0j o* *0newwordnewWord- r b o) )0newwordnewWord o( (0j o' '0newwordnewWord& r m% % boovfals o$ $0other_chars_match& l#" = o! !0j m  #" k     r   l n 4  cha o 0j o 0awordaWord  o 0j  Z F l ? l I .sysoctonshorTEXT o 0j m` l A l  I ! .sysoctonshorTEXT !o 0j   m{ r"# "b$% $o 0newwordnewWord %l& &I' .sysontocTEXTshor 'l( (\)* )l+ +I, .sysoctonshorTEXT ,o 0j *m  #o 0newwordnewWord r-. -b/0 /o 0newwordnewWord 0o 0j .o 0newwordnewWord k)1123 2r45 4l6 6n78 749  cha 9o 0j 8o 0awordaWord 5o 0j3: :Z);<=> ;F?@ ?lA A?BC BlD DIE .sysoctonshorTEXT Eo 0j Cm` @lF FAGH GlI IIJ .sysoctonshorTEXT Jo 0j Hm{ <rKL KbMN Mo 0newwordnewWord No 0j Lo 0newwordnewWord=OP OF QR QlS S?TU TlV VIW .sysoctonshorTEXT Wo 0j Um@ Rl X XA YZ Yl[ [I\ .sysoctonshorTEXT \o 0j Zm[P] ]k!^^_` _rab alc cId .sysontocTEXTshor dle e[fg flh hIi .sysoctonshorTEXT io 0j gm  bo 0x`j jr!kl kbmn mo 0newwordnewWord no 0x lo 0newwordnewWord >r$)op ob$'qr qo$% 0newwordnewWord ro%& 0j po 0newwordnewWord v0j m ls sntu t1  leng uo 0awordaWorduvw vlwxy xiz{ zI| 0 texttolist TextToList|}~ }o 0thetexttheText~ o 0 thedelimiter theDelimiter {k3 r n 1  txdl 1  ascr o 0 savedelim saveDelim Q* k  r  J  o 0 thedelimiter theDelimiter n 1   txdl 1  ascr r n 2  citm o 0thetexttheText o 0thelisttheList R .ascrerr ******** o 0errstrerrStr  errn o 0errnumerrNum k* r# o 0 savedelim saveDelim n 1 "  txdl 1  ascr R$* .ascrerr ******** o() 0errstrerrStr  errn o&' 0errnumerrNum r+0 o+, 0 savedelim saveDelim n 1-/  txdl 1,-  ascr L13 l12 o12 0thelisttheListy l i I 0 listtotext ListToText o 0thelisttheList o 0 thedelimiter theDelimiter k3 r n 1  txdl 1  ascr o 0 savedelim saveDelim Q* k  r  J ~ o } }0 thedelimiter theDelimiter~ n 1 | | txdl 1 { { ascrz r c oy y0thelisttheList mx x ctxt ow w0thetexttheTextz Rv v.ascrerr ******** ou u0errstrerrStrts t errn or r0errnumerrNums k* r# oq q0 savedelim saveDelim n 1 "p p txdl 1 o o ascrn R$*m m.ascrerr ******** o()l l0errstrerrStrkj k errn o&'i i0errnumerrNumjn r+0 o+,h h0 savedelim saveDelim n 1-/g g txdl 1,-f f ascre L13 l12dc o12b b0thetexttheTextdce la`_a`_ l^]\^]\ l[[ Created by Doug Adams*Created by Doug Adams lZZ ;5First Modified by Cantus Vetustus on Mon Jun 16, 2003jFirst Modified by Cantus Vetustus on Mon Jun 16, 2003Y lXX :4Last Modified by Cantus Vetustus on Tue Jun 18, 2003hLast Modified by Cantus Vetustus on Tue Jun 18, 2003YW9VUTW SRQPONMLKJIHG S0my_tags_to_modify R0tags_to_modify Q0lowercase_words P0unmodified_words O0 other_chars N0lowercase_match M$0unmodified_matchunmodified_Match L0other_chars_match K 0my_tags J0setcaseSetCase I0 texttolist TextToList H0 listtotext ListToText G.aevtoappnull****FF!EE.269D D RVZ^bfjnrvz~C C" "  !%( V boovfals U boovfals T boovfalsBA@  ? B0setcaseSetCaseA> > = =0awordaWord@ <;: <0awordaWord ;0j :0x 9876543210/ 9 leng 8 cha 70newwordnewWord 6.sysoctonshorTEXT5`4{ 3 bool2 1.sysontocTEXTshor0@/[?/-k,Ekhb//EO¡%EOeEcYb_/EOj  j &¡j j %EY%j  j & ¡%EY¡%EOfEcYk9/EOj  j &¡j j %EY¡%EYX/EOj  j & ¡%EY3j  j &j j EO¢%EY¡%E[OY.{-,+ .0 texttolist TextToList-**)( )0thetexttheText (0 thedelimiter theDelimiter,'&%$#" '0thetexttheText &0 thedelimiter theDelimiter %0 savedelim saveDelim $0thelisttheList #0errstrerrStr "0errnumerrNum!  ! ascr  txdl  citm 0errstrerrStr  errn 0errnumerrNum  errn+4,EOkv,FO-EWX,FO)lO,FO 0 listtotext ListToText 0thelisttheList 0 thedelimiter theDelimiter 0thelisttheList 0 thedelimiter theDelimiter 0 savedelim saveDelim 0thetexttheText 0errstrerrStr 0errnumerrNum   ascr  txdl  ctxt 0errstrerrStr  errn 0errnumerrNum  errn4,EOkv,FO&EWX,FO)lO,FO .aevtoappnull**** kQ 0 selected_tag 0atrackaTrack 0awordaWord *0my_unmodified_matchmy_unmodified_Match (0my_lowercase_matchmy_lowercase_MatchJ2EX'9K\x~  sele  pFix 0old_fi  list $0myselectedtracksmySelectedTracks  cobj  nmbr 0songs_selected  TEXT 0songs_selected_message 0songs_modified_message  ret  btns  dflt  disp .sysodlogaskrTEXT  bhit 0choice  prmp  inSL  mlsl  empL .gtqpchltTEXT@@TEXT .aevtoappnull****  kocl .corecnte********  pnam  spac 0 texttolist TextToList $0thetitle_as_listtheTitle_as_List  pArt  pCmp  pAlb 0newtitlenewTitle 0 last_item 0 word_counter 0newwordnewWord  bool 0setcaseSetCase 0 listtotext ListToText  givu}*,jv[*,EOe*,FO*,&EQO-,&EOk%%&EO%&EY%a%&EOa%&EOa_%_%%aaaamvamaka a,E`O_acbaa a!ba"ea#fa$ %EcObfbEcO)j &Ya'aa(a)lvala* YhO7b[a+l ,kh[a+l ,kh&EOa-)a.,_/l+0E`1YhOa2)a3,_/l+0E`1YhOa4)a5,_/l+0E`1YhOa6)a7,_/l+0E`1YhOjvE`8O_1-,&E`9OkE`:O_1[a+l ,kha;E`YW1b[a+l ,kh&&eEcOYh[OYOb&E`OPO_<_86GO_:kE`:[OYOa?)_8_/l+@a.,FYhOaA)_8_/l+@a3,FYhOaB)_8_/l+@a5,FYhOaC)_8_/l+@a7,FYh[OY[OYO*,GOaD_%_%%aaEkvakakaFaGa$ YaHaaIkvakaja Uascr ޭ