REVO8100 HyperTalkMIDI H c ; U (System) U (System) U (Text),unicode U (Menu) U (Text) U (Text),unicode cREVGeometryCache stackID cREVGeneral breakpointstates breakpoints breakpointconditions scalefactor ? @ : cREVGeometryCacheIDs 1507180862024 1507210091628 1507212257833 1507220969918 1507220969917 1507220969919 1507220969923 1507220969920 1507184028113 1507220969921 1507220969922 cREVGeometrycache total order cREVGeneral scripteditorvscroll scripteditorselection 0 jsPlayPage h 7 ' com.livecode.widget.browser horizontalScrollbarEnabled verticalScrollbarEnabled htmlText!
cREVGeneral scripteditorvscroll scripteditorselection 0 revUniqueID ЛuB PlayEp*-- Sent when the mouse is released after clicking -- pMouseButton specifies which mouse button was pressed on mouseUp pMouseButton do "jsPlayCommand.play('" & the selectedText of btn "GMPatchSelect" & "' , '100', '"& cd fld "ABCNotes" & "').hidden = 'hidden'" in widget "jsPlayPage" end mouseUp D^ R cREVGeneral scripteditorvscroll scripteditorselection 213 revUniqueID uB ABCNotes )` B D ] cREVGeneral table false scripteditorselection 0 revUniqueID uB scripteditorvscroll cRevTable cellFormat false maxColumnCount cellEdit false Qf4e a4e f4e c5e f4e f5e e5s d5s c5s d5s c5s b4s a4s b4s a4s g4s f4e.. f5q+ c6+ a6 ' ` u [ GMPatchSelect楫} global gBrowserId , gMidiOutPort on GMProgramChange pProgramNum, pTheChannel if pProgramNum is a number then if pProgramNum >0 and pProgramNum <129 and "." is not in pProgramNum then -- put pProgramNum subtract 1 from pProgramNum end if if pTheChannel is a number then if pTheChannel >0 and pTheChannel <17 and "." is not in pTheChannel then subtract 1 from pTheChannel end if -- get item pTheChannel of "0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCD,0xCE,0xCF" -- --put it -- if it <> empty then -- put it into tChannel -- subtract 1 from pTheChannel try --- pitchBend(c, xx) - pitch bender; returns Ec ll mm. -- program(c, xx) - program change; returns Cc xx. -- JZZ.MIDI.program (0, xx) get revBrowserExecuteScript (gBrowserId,"JZZ().openMidiOut("& quote & gMidiOutPort & quote &").program(" & pTheChannel & "," & pProgramNum & ")") -- get revBrowserExecuteScript (gBrowserId,"JZZ().openMidiOut("& quote & gMidiOutPort & quote &").wait(1).send([" & tChannel &"," & pProgramNum & ", 0]);" ) --this also works end try end if end if end GMProgramChange on menuPick pItemName get word two of the selectedLine of me -- put it GMProgramChange it, 1 --pTheChannel end menuPick on mouseDown put empty into tProgramList repeat with x = 0 to 127 put (gsPatchNumToName (x,1)) & cr after tProgramList end repeat ---answer tProgramList set the text of me to tProgramList end mouseDown function gsPatchNumToName gmPatchNum, theChannel if theChannel <> "ch10" then -- "ch10" is reserved for drums (& "ch11" additionally in GM2 spec) -- and theChannel <> "ch11" return item (gmPatchNum+1) of ("Acoustic Grand Piano,Bright Acoustic Piano,Electric Grand Piano,Honky-tonk Piano,Rhodes Piano,Chorused Piano,"&\ "Harpsichord,Clavinet,Celesta,Glockenspiel,Music Box,Vibraphone,Marimba,Xylophone,Tubular Bells,Dulcimer,Hammond Organ,Percussive Organ,"&\ "Rock Organ,Church Organ,Reed Organ,Accordion,Harmonica,Tango Accordion,Acoustic Guitar (nylon),Acoustic Guitar (steel),Electric Guitar (jazz),"&\ "Electric Guitar (clean),Electric Guitar (muted),Overdriven Guitar,Distortion Guitar,Guitar Harmonics,Acoustic Bass,Electric Bass (finger),"&\ "Electric Bass (pick),Fretless Bass,Slap Bass1,Slap Bass2,Synth Bass1,Synth Bass2,Violin,Viola,Cello,Contrabass,Tremolo Strings,Pizzicato Strings,"&\ "Orchestral Harp,Timpani,String Ensemble1,String Ensemble2,SynthStrings1,SynthStrings2,Choir Aahs,Voice Oohs,Synth Voice,Orchestra Hit,"&\ "Trumpet,Trombone,Tuba,Muted Trumpet,French Horn,Brass Section,Synth Brass1,Synth Brass2,Soprano Sax,Alto Sax,Tenor Sax,Baritone Sax,Oboe,"&\ "English Horn,Bassoon,Clarinet,Piccolo,Flute,Recorder,Pan Flute,Bottle Blow,Shakuhachi,Whistle,Ocarina,Lead1 (square),Lead2 (sawtooth),"&\ "Lead3 (calliope lead),Lead 4 (chiff lead),Lead 5 (charang),Lead 6 (voice),Lead 7 (fifths),Lead 8 (bass + lead),Pad1 (new age),Pad2 (warm),"&\ "Pad3 (polysynth),Pad 4 (choir),Pad 5 (bowed),Pad 6 (metallic),Pad 7 (halo),Pad 8 (sweep),FX1 (rain),FX2 (soundtrack),FX3 (crystal),"&\ "FX 4 (atmosphere),FX 5 (brightness),FX 6 (goblins),FX 7 (echoes),FX 8 (sci-fi),Sitar,Banjo,Shamisen,Koto,Kalimba,Bagpipe,Fiddle,Shanai,Tinkle Bell,Agogo,"&\ "Steel Drums,Woodblock,Taiko Drum,Melodic Tom,Synth Drum,Reverse Cymbal,Guitar Fret Noise,Breath Noise,Seashore,Bird Tweet,Telephone Ring,Helicopter,Applause,Gunshot") else -- theChannel is a drum kit channel (10) return item (gmPatchNum+1) of ("Standard Kit,2,3,4,5,6,7,8,Room Kit,10,11,12,13,14,15,16,Power Kit,18,19,20,21,22,23,24,25,Electronic Kit,"&\ "TR-808 Kit,27,28,29,30,31,32,Jazz Kit,34,35,36,37,38,39,40,Brush Kit,42,43,44,45,46,47,48,Orchestra Kit,50,51,52,53,54,55,56,SoundFX Kit,"&\ "58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,"&\ "100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,MT-32 Kit") end if end gsPatchNumToName --on mouseUp -- Ask "Enter Program Number:" -- if it <> empty then -- if it is a number then -- if it >0 and it <127 and "." is not in it then -- GMProgramChange it, 1 -- end if -- end if -- end if --end mouseUp _ Harpsichord }Acoustic Grand Piano Bright Acoustic Piano Electric Grand Piano Honky-tonk Piano Rhodes Piano Chorused Piano Harpsichord Clavinet Celesta Glockenspiel Music Box Vibraphone Marimba Xylophone Tubular Bells Dulcimer Hammond Organ Percussive Organ Rock Organ Church Organ Reed Organ Accordion Harmonica Tango Accordion Acoustic Guitar (nylon) Acoustic Guitar (steel) Electric Guitar (jazz) Electric Guitar (clean) Electric Guitar (muted) Overdriven Guitar Distortion Guitar Guitar Harmonics Acoustic Bass Electric Bass (finger) Electric Bass (pick) Fretless Bass Slap Bass1 Slap Bass2 Synth Bass1 Synth Bass2 Violin Viola Cello Contrabass Tremolo Strings Pizzicato Strings Orchestral Harp Timpani String Ensemble1 String Ensemble2 SynthStrings1 SynthStrings2 Choir Aahs Voice Oohs Synth Voice Orchestra Hit Trumpet Trombone Tuba Muted Trumpet French Horn Brass Section Synth Brass1 Synth Brass2 Soprano Sax Alto Sax Tenor Sax Baritone Sax Oboe English Horn Bassoon Clarinet Piccolo Flute Recorder Pan Flute Bottle Blow Shakuhachi Whistle Ocarina Lead1 (square) Lead2 (sawtooth) Lead3 (calliope lead) Lead 4 (chiff lead) Lead 5 (charang) Lead 6 (voice) Lead 7 (fifths) Lead 8 (bass + lead) Pad1 (new age) Pad2 (warm) Pad3 (polysynth) Pad 4 (choir) Pad 5 (bowed) Pad 6 (metallic) Pad 7 (halo) Pad 8 (sweep) FX1 (rain) FX2 (soundtrack) FX3 (crystal) FX 4 (atmosphere) FX 5 (brightness) FX 6 (goblins) FX 7 (echoes) FX 8 (sci-fi) Sitar Banjo Shamisen Koto Kalimba Bagpipe Fiddle Shanai Tinkle Bell Agogo Steel Drums Woodblock Taiko Drum Melodic Tom Synth Drum Reverse Cymbal Guitar Fret Noise Breath Noise Seashore Bird Tweet Telephone Ring Helicopter Applause Gunshot cREVGeneral scripteditorvscroll scripteditorselection 1517 revUniqueID uB JSstuff )` I N cellFormatting false cREVGeneral table false scripteditorselection 0 revUniqueID uB scripteditorvscroll cRevTable cellFormat false maxColumnCount cellEdit false ' ' ' ' ' ' ' ' ' ' ' ' ` L Reload JavaScriptsEp -- Sent when the mouse is released after clicking -- pMouseButton specifies which mouse button was pressed on mouseUp pMouseButton set the htmlText of widget "jsPlayPage" to cd fld "JSstuff" end mouseUp 5 cREVGeneral scripteditorvscroll scripteditorselection 206 revUniqueID uB About jsPlayCommand...Ep -- Sent when the mouse is released after clicking -- pMouseButton specifies which mouse button was pressed on mouseUp pMouseButton launch URL "http://www.kreativekorp.com/lib/jsPlayCommand/" end mouseUp @U cREVGeneral scripteditorvscroll scripteditorselection 140 revUniqueID ƍuB demo-notestring.png @ 4 9PNG IHDR tEXtSoftware Adobe ImageReadyqe<