So confused about lilypond

[Today]
I had lilypond previously installed (2.22.1 if I recall correctly) and SCAMP couldn’t find the binary
So I uninstalled it and Frescobaldi (a lilypond “IDE”) and downloaded 2.24.0
But now I’m really confused becuase the original SCAMP setup implies there is an install program or something
But here I even looked on the lilypond website for how to properly install it and it literally just says to extract the folder and put it somewhere permanent
(Plus my OneDrive was bothering me, had to delete a lot of crap)
No bother, it will just look for the binary, right?

Couldn’t find it, after like 15 minutes of leaving it to run
In case it matters, here’s the code I was trying to run:

from scamp import *
import random

s = Session(tempo=130)

# s.print_default_soundfont_presets()

bass = s.new_part("fingered bass")
sax = s.new_part("alto sax")

bass_notes = [32, 34, 35.5, 25, 34, 36.5, 37.5, 31]
patterns = [[0, 3.5], [7, 7.5], [2, 3.5, 5], [None, 12]]

def bpart():
    for i in bass_notes:
        bass.play_note(i, 0.9, 1)
        
def spart():
    for j in bass_notes:
        p = random.choice(patterns)
        l = 1 / len(p)
        for intv in p:
            if intv is None:
                wait(l)
            else:
                sax.play_note(j+24+intv, 0.9, l)

s.start_transcribing()
for _ in range(4):
    s.fork(bpart)
    s.fork(spart)
    s.wait_for_children_to_finish()
performance = s.stop_transcribing()
performance.to_score().show()

(Yes, it was inspired off of one of the tutorials)

Help would be appreciated!! :+1:

I clearly need to look into this. Are you on windows or mac?

Windows 11

I think I fixed it. Try updating SCAMP and following the (updated) instructions here: Easy Setup for New Python Users — scamp 0.9.1.post9 documentation

Let me know how it goes!

BTW, let me know if it works! I want to make sure people can get it going.

Sorry for the silence, I’d forgotten about SCAMP for a while
It found the binary which is great, but now it spits back this:
’lilypond’ is not recognized as an internal or external command, operable program or batch file.

I was getting the same error until I added the Lilypond/bin directory to the system path (I’m on Windows 10). But now I’m getting this error when I try to run the test script:

from scamp import test_run
test_run.play(show_lilypond=True)
WARNING:root:Searching for LilyPond binary (this may take a while and is normal on first run)
Changing working directory to: `C:/Users/user/AppData/Local/Temp/tmpem_iwvht'
Processing `C:/Users/user/AppData/Local/Temp/tmpem_iwvht/2023-02-14T07-48-17-797415-98c6be4.ly'
Parsing...
programming error: file name not normalized: C:\Users\user\AppData\Local\SCAMP\scamp_lilypond_template.ly
continuing, cross fingers
C:/Users/user/AppData/Local/SCAMP/scamp_lilypond_template.ly:25:25: warning: deprecated: missing `.' in property path Glissando.breakable
    \override Glissando 
                        #'breakable = ##t
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
C:/Apps/lilypond-2.24.1/share/lilypond/2.24.1/ly/init.ly:65:2: error: Guile signaled an error for the expression beginning here
#
 (let ((book-handler (if (defined? 'default-toplevel-book-handler)
Throw to key `system-error' with args `(("open-fdes" "~A" ("Permission denied") (13)))'.

What does “programming error: file name not normalized” mean? I don’t think that’s the actual cause of the abend, I think it’s an error in the Guile code that’s being generated, but I’m not sure.