<p>If you want to have a little menu to change the CCLI number for different venues / sites, here's a script that will do it. You run the script before you start OpenLP. It modifies the registry, so use it at your own risk.</p><p>OpenLP should be closed when you run it.</p><p>Note that when an order of service is created/saved it saves the CCLI number, so if creating orders of service for a different site, set the CCLI number before you create the order of service.</p><p>Copy and paste the following code into a text file and save as "Start OpenLP.vbs" or similar.</p><p>Update the list of CCLI numebrs (and descriptions) as required.</p><p> </p><p>~~~~</p><p>Const HKCU = &H80000001</p><p> </p><p>'path to OpenLP file</p><p>RunOpenLP = "C:\Program Files\OpenLP\OpenLP.exe"</p><p> </p><p>'define CCLI values and descriptions</p><p>dim ccli(3)</p><p>ccli(1) = "90001"</p><p>ccli(2) = "90002"</p><p>ccli(3) = "90003"</p><p>dim cclidesc(3)</p><p>cclidesc(1) = "Site Description 1"</p><p>cclidesc(2) = "Site Description 2"</p><p>cclidesc(3) = "Site Description 3"</p><p> </p><p>'set max index</p><p>cclimax = ubound(ccli)</p><p> </p><p>'prepare to access registry</p><p>Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\.\root\default:StdRegProv")</p><p> </p><p>'define registry key required</p><p>strKeyPath = "Software\OpenLP\OpenLP\general"</p><p>strValueName = "ccli number"</p><p> </p><p>'read current CCLI number</p><p>oReg.GetStringValue HKCU,strKeyPath,strValueName,strValue</p><p> </p><p>'make list of possible ccli numbers from array</p><p>msg = "Current CCLI is " & strvalue & vbcrlf & vbcrlf </p><p>for i = 1 to cclimax</p><p> msg = msg & i & ". " & ccli(i) & " (" & cclidesc(i) & ") " & vbcrlf</p><p>next</p><p> </p><p>'ask user which CCLI they wish to use</p><p>resp = inputbox (msg, "Select New CCLI Value","1")</p><p>if resp <> "" then</p><p> 'make sure they entered a number</p><p> if isnumeric(resp) then</p><p> 'convert response to an integer</p><p> i = cint(resp)</p><p> </p><p> 'make sure the response is an acceptable value</p><p> if i > 0 and i <= cclimax then</p><p> 'write new CCLI number to registry</p><p> strValue = ccli(i)</p><p> oReg.SetStringValue HKCU,strKeyPath,strValueName,strValue</p><p> </p><p> 'read registry ccli number to check</p><p> oReg.GetStringValue HKcu,strKeyPath,strValueName,newValue</p><p> </p><p> 'compare</p><p> if newValue <> strValue then</p><p> msgbox "CCLI change was not successful",,"ERROR"</p><p> else</p><p> runresp = msgbox ("CCLI is now " & newValue & " (" & cclidesc(i) & ")" & vbcrlf & vbcrlf _</p><p> & "Do you want to start OpenLP?",vbYesNo+vbQuestion ,"Run OpenLP?")</p><p> if runresp = vbYes then</p><p> set scriptShell = CreateObject("Wscript.Shell")</p><p> scriptShell.run """" & RunOpenLP & """"</p><p> set scriptShell = nothing</p><p> end if</p><p> </p><p> end if</p><p> else</p><p> 'invalid number entered</p><p> msgbox "Invalid entry. CCLI not changed: " & strvalue,,"ERROR" </p><p> end if</p><p> end if</p><p>end if</p><p> </p><p>'goodbye</p><p>set oReg = nothing</p><p>wscript.quit</p><p>~~~ </p><p> </p><p> </p>