#target photoshop #include "../../lib/m.js" var data, i, c, v, layer, layers = app.documents[0].layers; mojo.allchords.unshift(''); for (c = 0; c < mojo.prettytones.length; c++) { for (v = 0; v < mojo.allchords.length; v++) { chord = mojo.prettytones[c].split('/')[0]; chord += mojo.allchords[v]; data = mojo.guitar.getChord(chord); for (i = 1; i <= 6; i++) { layer = "" + i + data[i]; layers.getByName(layer).visible = true; } chord = chord.replace('#', '-sharp'); saveFile('~/stoyan/mojo/chords/images/' + chord + '.png'); for (i = 1; i <= 6; i++) { layer = "" + i + data[i]; layers.getByName(layer).visible = false; } } } function saveFile(filename) { // the following is mostly auto-generated by PS var idExpr = charIDToTypeID( "Expr" ); var desc14 = new ActionDescriptor(); var idUsng = charIDToTypeID( "Usng" ); var desc15 = new ActionDescriptor(); var idOp = charIDToTypeID( "Op " ); var idSWOp = charIDToTypeID( "SWOp" ); var idOpSa = charIDToTypeID( "OpSa" ); desc15.putEnumerated( idOp, idSWOp, idOpSa ); var idDIDr = charIDToTypeID( "DIDr" ); desc15.putBoolean( idDIDr, false ); var idIn = charIDToTypeID( "In " ); desc15.putPath( idIn, new File( filename ) ); var idFmt = charIDToTypeID( "Fmt " ); var idIRFm = charIDToTypeID( "IRFm" ); var idPNtwofour = charIDToTypeID( "PN24" ); desc15.putEnumerated( idFmt, idIRFm, idPNtwofour ); var idIntr = charIDToTypeID( "Intr" ); desc15.putBoolean( idIntr, false ); var idTrns = charIDToTypeID( "Trns" ); desc15.putBoolean( idTrns, true ); var idMtt = charIDToTypeID( "Mtt " ); desc15.putBoolean( idMtt, true ); var idMttR = charIDToTypeID( "MttR" ); desc15.putInteger( idMttR, 255 ); var idMttG = charIDToTypeID( "MttG" ); desc15.putInteger( idMttG, 255 ); var idMttB = charIDToTypeID( "MttB" ); desc15.putInteger( idMttB, 255 ); var idSHTM = charIDToTypeID( "SHTM" ); desc15.putBoolean( idSHTM, false ); var idSImg = charIDToTypeID( "SImg" ); desc15.putBoolean( idSImg, true ); var idSWsl = charIDToTypeID( "SWsl" ); var idSTsl = charIDToTypeID( "STsl" ); var idSLAl = charIDToTypeID( "SLAl" ); desc15.putEnumerated( idSWsl, idSTsl, idSLAl ); var idSWch = charIDToTypeID( "SWch" ); var idSTch = charIDToTypeID( "STch" ); var idCHsR = charIDToTypeID( "CHsR" ); desc15.putEnumerated( idSWch, idSTch, idCHsR ); var idSWmd = charIDToTypeID( "SWmd" ); var idSTmd = charIDToTypeID( "STmd" ); var idMDNn = charIDToTypeID( "MDNn" ); desc15.putEnumerated( idSWmd, idSTmd, idMDNn ); var idohXH = charIDToTypeID( "ohXH" ); desc15.putBoolean( idohXH, false ); var idohIC = charIDToTypeID( "ohIC" ); desc15.putBoolean( idohIC, true ); var idohAA = charIDToTypeID( "ohAA" ); desc15.putBoolean( idohAA, true ); var idohQA = charIDToTypeID( "ohQA" ); desc15.putBoolean( idohQA, true ); var idohCA = charIDToTypeID( "ohCA" ); desc15.putBoolean( idohCA, false ); var idohIZ = charIDToTypeID( "ohIZ" ); desc15.putBoolean( idohIZ, true ); var idohTC = charIDToTypeID( "ohTC" ); var idSToc = charIDToTypeID( "SToc" ); var idOCzerothree = charIDToTypeID( "OC03" ); desc15.putEnumerated( idohTC, idSToc, idOCzerothree ); var idohAC = charIDToTypeID( "ohAC" ); var idSToc = charIDToTypeID( "SToc" ); var idOCzerothree = charIDToTypeID( "OC03" ); desc15.putEnumerated( idohAC, idSToc, idOCzerothree ); var idohIn = charIDToTypeID( "ohIn" ); desc15.putInteger( idohIn, -1 ); var idohLE = charIDToTypeID( "ohLE" ); var idSTle = charIDToTypeID( "STle" ); var idLEzerothree = charIDToTypeID( "LE03" ); desc15.putEnumerated( idohLE, idSTle, idLEzerothree ); var idohEn = charIDToTypeID( "ohEn" ); var idSTen = charIDToTypeID( "STen" ); var idENzerozero = charIDToTypeID( "EN00" ); desc15.putEnumerated( idohEn, idSTen, idENzerozero ); var idolCS = charIDToTypeID( "olCS" ); desc15.putBoolean( idolCS, false ); var idolEC = charIDToTypeID( "olEC" ); var idSTst = charIDToTypeID( "STst" ); var idSTzerozero = charIDToTypeID( "ST00" ); desc15.putEnumerated( idolEC, idSTst, idSTzerozero ); var idolWH = charIDToTypeID( "olWH" ); var idSTwh = charIDToTypeID( "STwh" ); var idWHzeroone = charIDToTypeID( "WH01" ); desc15.putEnumerated( idolWH, idSTwh, idWHzeroone ); var idolSV = charIDToTypeID( "olSV" ); var idSTsp = charIDToTypeID( "STsp" ); var idSPzerofour = charIDToTypeID( "SP04" ); desc15.putEnumerated( idolSV, idSTsp, idSPzerofour ); var idolSH = charIDToTypeID( "olSH" ); var idSTsp = charIDToTypeID( "STsp" ); var idSPzerofour = charIDToTypeID( "SP04" ); desc15.putEnumerated( idolSH, idSTsp, idSPzerofour ); var idolNC = charIDToTypeID( "olNC" ); var list13 = new ActionList(); var desc16 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCzerozero = charIDToTypeID( "NC00" ); desc16.putEnumerated( idncTp, idSTnc, idNCzerozero ); var idSCnc = charIDToTypeID( "SCnc" ); list13.putObject( idSCnc, desc16 ); var desc17 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNConenine = charIDToTypeID( "NC19" ); desc17.putEnumerated( idncTp, idSTnc, idNConenine ); var idSCnc = charIDToTypeID( "SCnc" ); list13.putObject( idSCnc, desc17 ); var desc18 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCtwoeight = charIDToTypeID( "NC28" ); desc18.putEnumerated( idncTp, idSTnc, idNCtwoeight ); var idSCnc = charIDToTypeID( "SCnc" ); list13.putObject( idSCnc, desc18 ); var desc19 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCtwofour = charIDToTypeID( "NC24" ); desc19.putEnumerated( idncTp, idSTnc, idNCtwofour ); var idSCnc = charIDToTypeID( "SCnc" ); list13.putObject( idSCnc, desc19 ); var desc20 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCtwofour = charIDToTypeID( "NC24" ); desc20.putEnumerated( idncTp, idSTnc, idNCtwofour ); var idSCnc = charIDToTypeID( "SCnc" ); list13.putObject( idSCnc, desc20 ); var desc21 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCtwofour = charIDToTypeID( "NC24" ); desc21.putEnumerated( idncTp, idSTnc, idNCtwofour ); var idSCnc = charIDToTypeID( "SCnc" ); list13.putObject( idSCnc, desc21 ); desc15.putList( idolNC, list13 ); var idobIA = charIDToTypeID( "obIA" ); desc15.putBoolean( idobIA, false ); var idobIP = charIDToTypeID( "obIP" ); desc15.putString( idobIP, "" ); var idobCS = charIDToTypeID( "obCS" ); var idSTcs = charIDToTypeID( "STcs" ); var idCSzeroone = charIDToTypeID( "CS01" ); desc15.putEnumerated( idobCS, idSTcs, idCSzeroone ); var idovNC = charIDToTypeID( "ovNC" ); var list14 = new ActionList(); var desc22 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCzeroone = charIDToTypeID( "NC01" ); desc22.putEnumerated( idncTp, idSTnc, idNCzeroone ); var idSCnc = charIDToTypeID( "SCnc" ); list14.putObject( idSCnc, desc22 ); var desc23 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCtwozero = charIDToTypeID( "NC20" ); desc23.putEnumerated( idncTp, idSTnc, idNCtwozero ); var idSCnc = charIDToTypeID( "SCnc" ); list14.putObject( idSCnc, desc23 ); var desc24 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCzerotwo = charIDToTypeID( "NC02" ); desc24.putEnumerated( idncTp, idSTnc, idNCzerotwo ); var idSCnc = charIDToTypeID( "SCnc" ); list14.putObject( idSCnc, desc24 ); var desc25 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNConenine = charIDToTypeID( "NC19" ); desc25.putEnumerated( idncTp, idSTnc, idNConenine ); var idSCnc = charIDToTypeID( "SCnc" ); list14.putObject( idSCnc, desc25 ); var desc26 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCzerosix = charIDToTypeID( "NC06" ); desc26.putEnumerated( idncTp, idSTnc, idNCzerosix ); var idSCnc = charIDToTypeID( "SCnc" ); list14.putObject( idSCnc, desc26 ); var desc27 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCtwofour = charIDToTypeID( "NC24" ); desc27.putEnumerated( idncTp, idSTnc, idNCtwofour ); var idSCnc = charIDToTypeID( "SCnc" ); list14.putObject( idSCnc, desc27 ); var desc28 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCtwofour = charIDToTypeID( "NC24" ); desc28.putEnumerated( idncTp, idSTnc, idNCtwofour ); var idSCnc = charIDToTypeID( "SCnc" ); list14.putObject( idSCnc, desc28 ); var desc29 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCtwofour = charIDToTypeID( "NC24" ); desc29.putEnumerated( idncTp, idSTnc, idNCtwofour ); var idSCnc = charIDToTypeID( "SCnc" ); list14.putObject( idSCnc, desc29 ); var desc30 = new ActionDescriptor(); var idncTp = charIDToTypeID( "ncTp" ); var idSTnc = charIDToTypeID( "STnc" ); var idNCtwotwo = charIDToTypeID( "NC22" ); desc30.putEnumerated( idncTp, idSTnc, idNCtwotwo ); var idSCnc = charIDToTypeID( "SCnc" ); list14.putObject( idSCnc, desc30 ); desc15.putList( idovNC, list14 ); var idovCM = charIDToTypeID( "ovCM" ); desc15.putBoolean( idovCM, false ); var idovCW = charIDToTypeID( "ovCW" ); desc15.putBoolean( idovCW, false ); var idovCU = charIDToTypeID( "ovCU" ); desc15.putBoolean( idovCU, true ); var idovSF = charIDToTypeID( "ovSF" ); desc15.putBoolean( idovSF, true ); var idovCB = charIDToTypeID( "ovCB" ); desc15.putBoolean( idovCB, true ); var idovSN = charIDToTypeID( "ovSN" ); desc15.putString( idovSN, "images" ); var idSaveForWeb = stringIDToTypeID( "SaveForWeb" ); desc14.putObject( idUsng, idSaveForWeb, desc15 ); executeAction( idExpr, desc14, DialogModes.NO ); }