+ path, lilypond_book = checkProg('a LilyPond book (LaTeX) -> LaTeX converter', ['lilypond-book'])
+ if (lilypond_book != ''):
+ version_string = cmdOutput("lilypond-book --version")
+ match = re.match('^(\S+)$', version_string)
+ if match:
+ version_number = match.groups()[0]
+ version = version_number.split('.')
+ if int(version[0]) > 2 or (len(version) > 1 and int(version[0]) == 2 and int(version[1]) >= 1):
+ addToRC(r'\converter lyxpreview-lytex ppm "python -tt $$s/scripts/lyxpreview-lytex2bitmap.py" ""')
+ if dvipng == "dvipng":
+ addToRC(r'\converter lyxpreview-lytex png "python -tt $$s/scripts/lyxpreview-lytex2bitmap.py" ""')
+ else:
+ addToRC(r'\converter lyxpreview-lytex png "" ""')
+ if int(version[0]) > 2 or (len(version) > 1 and int(version[0]) == 2 and int(version[1]) >= 11):
+ # Note: The --lily-output-dir flag is required because lilypond-book
+ # does not process input again unless the input has changed,
+ # even if the output format being requested is different. So
+ # once a .eps file exists, lilypond-book won't create a .pdf
+ # even when requested with --pdf. This is a problem if a user
+ # clicks View PDF after having done a View DVI. To circumvent
+ # this, use different output folders for eps and pdf outputs.
+ addToRC(r'\converter lilypond-book latex "lilypond-book --lily-output-dir=ly-eps $$i" ""')
+ addToRC(r'\converter lilypond-book pdflatex "lilypond-book --pdf --latex-program=pdflatex --lily-output-dir=ly-pdf $$i" ""')
+ logger.info('+ found LilyPond-book version %s.' % version_number)
+ elif int(version[0]) > 2 or (len(version) > 1 and int(version[0]) == 2 and int(version[1]) >= 1):
+ addToRC(r'\converter lilypond-book latex "lilypond-book $$i" ""')
+ logger.info('+ found LilyPond-book version %s.' % version_number)
+ else:
+ logger.info('+ found LilyPond-book, but version %s is too old.' % version_number)
+ else:
+ logger.info('+ found LilyPond-book, but could not extract version number.')
+ #