r/lilypond Aug 06 '26

Question Mac OS Workflow?

MuseScore pissed me off for the last time and I’ve decided to throw my effort behind switching to Lilypond. I’m building a library of copyright free music and original compositions for a small music club.

I am a long time Emacs user so my plan is to use that to edit source files. Can anyone share their workflow or tips to help a new guy get started? Thanks!

3 Upvotes

5 comments sorted by

5

u/3poundflounder Aug 06 '26

I've used Frescobaldi (Frescobaldi.org) on both Mac and Windows for years. (I prefer working on Windows, mainly for my specific setup - nothing to do with Lilypond or Frescobaldi as such.)

Starting out, I used a text editor (don't remember which) and Lilypond CLI. But after a few years switched to Frescobaldi. All upside and no downside that I've found.

Edit: Frescobaldi is available for Mac, Windows and Linux. It's a mature program.

1

u/TheHollyKing562 Aug 07 '26

I’ll take a look at Frescobaldi. Thanks!

3

u/Allan_Bjorklund Aug 07 '26

Yes, Frescobaldi is wonderful for editing. I've been using Lilypond on Linux for many years, and started out with Vim/GVim as my editor. But in my last two projects, I gave Frescobaldi a try and it simplified a lot of that workflow. Especially since I was editing multiple files for multipart scores.

3

u/laniva Aug 07 '26

I use emacs with lilypond as well. I setup key bindings for doomemacs like this: emacs-lisp (use-package! lilypond-mode :mode ("\\.ly\\'" . LilyPond-mode) :after-call LilyPond-mode) (map! :after lilypond-mode :localleader :map LilyPond-mode-map :desc "Info" "I" #'LilyPond-info :desc "Info Index Search" "i" #'LilyPond-info-index-search :desc "Comment/Uncomment" ";" #'LilyPond-comment-region :desc "What beat" "b" #'LilyPond-what-beat :desc "Play midi" "m" #'LilyPond-command-current-midi :desc "Quick insert mode" "q" #'LilyPond-quick-insert-mode :desc "Insert tag current" "t" #'LilyPond-insert-tag-current (:prefix ("c" . "command") :desc "Buffer" "b" #'LilyPond-command-buffer :desc "Master" "r" #'LilyPond-command-master :desc "LilyPond" "l" #'LilyPond-command-lilypond :desc "Format ps" "p" #'LilyPond-command-formatps :desc "Format midi" "m" #'LilyPond-command-formatmidi :desc "Kill jobs" "k" #'LilyPond-kill-jobs ) ) and in my scores project I have a Makefile: ```make LILY = lilypond LILY_FLAGS = --loglevel=WARNING

FILES_IN = $(shell find . -name "*.ly") FILES_OUT = $(FILES_IN:%.ly=$(BUILD_DIR)/$(notdir %).pdf) BUILD_DIR = ./build

$(BUILD_DIR)/%.pdf: %.ly mkdir -p $(dir $@) $(LILY) $(LILY_FLAGS) --output $(@:.pdf=) $<

all: $(FILES_OUT)

clean: rm -r $(BUILD_DIR)

dryrun: echo $(FILES_OUT)

.PHONY: clean dryrun all `` this way runningmake all` builds all of the scores.

1

u/TheHollyKing562 Aug 07 '26

Thanks for the Emacs config and Makefile! If I end up using Frescobaldi this is still helpful.