* Fwd: ob-lilypond: pre- and post-processing of source blocks
[not found] <0dabc937-df1c-4b65-971b-f83812526af4@dewdrop-world.net>
@ 2013-11-04 12:39 ` James Harkins
2013-11-04 14:00 ` Eric Schulte
0 siblings, 1 reply; 5+ messages in thread
From: James Harkins @ 2013-11-04 12:39 UTC (permalink / raw)
To: Emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1226 bytes --]
Apologies for resending -- I sent this a few hours ago but I don't see it
on gmane, or in the gnu.org archive either.
Actually the manual answers question #1 -- I should be able to use the
prologue header argument for that. And I can already do #2 (included just
to outline the desired behavior completely).
I haven't found anything in the manual explaining how to run a shell
command on the output file from LilyPond execution. That's really the
crucial one -- it makes no sense to embed an A4 sized image into a beamer
frame...
hjh
---------- Forwarded message ----------
From: "James Harkins" <jamshark70@dewdrop-world.net>
Date: Nov 4, 2013 1:44 PM
Subject: ob-lilypond: pre- and post-processing of source blocks
To: "orgmode" <emacs-orgmode@gnu.org>
Cc:
> I would like to be able to do the following with ob-lilypond (basic mode):
>
> 1. Wrap the source block in pre- and/or post-strings (specifically to add
"\header { tagline = ##f }" before the music expressions).
>
> 2. Have lilypond compile the block.
>
> 3. Run "convert -trim" on the resulting png. (Haven't figured out how to
use eps output with xelatex.)
>
> Is this at all feasible? If not, where would I stick this stuff into the
orgmode source?
>
> hjh
[-- Attachment #2: Type: text/html, Size: 1608 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Fwd: ob-lilypond: pre- and post-processing of source blocks
2013-11-04 12:39 ` Fwd: ob-lilypond: pre- and post-processing of source blocks James Harkins
@ 2013-11-04 14:00 ` Eric Schulte
2013-11-05 4:24 ` James Harkins
0 siblings, 1 reply; 5+ messages in thread
From: Eric Schulte @ 2013-11-04 14:00 UTC (permalink / raw)
To: jamshark70; +Cc: Emacs-orgmode
>> I would like to be able to do the following with ob-lilypond (basic mode):
>>
>> 1. Wrap the source block in pre- and/or post-strings (specifically to add
> "\header { tagline = ##f }" before the music expressions).
>>
>> 2. Have lilypond compile the block.
>>
>> 3. Run "convert -trim" on the resulting png. (Haven't figured out how to
> use eps output with xelatex.)
>>
>> Is this at all feasible? If not, where would I stick this stuff into the
> orgmode source?
>>
Look in lisp/ob-lilypond.el. Specifically (1) would be done in
`org-babel-expand-body:lilypond', and both (2) and (3) in
`org-babel-execute:lilypond'.
See http://orgmode.org/worg/org-contribute.html if you want to
contribute any enhancements back to Org-mode.
Best,
--
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Fwd: ob-lilypond: pre- and post-processing of source blocks
2013-11-04 14:00 ` Eric Schulte
@ 2013-11-05 4:24 ` James Harkins
2013-11-05 5:35 ` James Harkins
0 siblings, 1 reply; 5+ messages in thread
From: James Harkins @ 2013-11-05 4:24 UTC (permalink / raw)
To: Eric Schulte; +Cc: jamshark70, Emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 485 bytes --]
On Nov 4, 2013 10:08 PM, "Eric Schulte" <schulte.eric@gmail.com> wrote:
> Look in lisp/ob-lilypond.el. Specifically (1) would be done in
> `org-babel-expand-body:lilypond', and both (2) and (3) in
> `org-babel-execute:lilypond'.
Thanks. I'm not much of a LISPer so I have no idea when I might get around
to that.
In the meantime, I was just advised that lilypond has a command-line switch
"-dpreview" that should eliminate the need to run "convert -trim." I'll try
that first.
hjh
[-- Attachment #2: Type: text/html, Size: 634 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Fwd: ob-lilypond: pre- and post-processing of source blocks
2013-11-05 4:24 ` James Harkins
@ 2013-11-05 5:35 ` James Harkins
2013-11-05 6:17 ` Thomas S. Dye
0 siblings, 1 reply; 5+ messages in thread
From: James Harkins @ 2013-11-05 5:35 UTC (permalink / raw)
To: Emacs-orgmode; +Cc: Eric Schulte
On Tuesday, November 5, 2013 12:24:44 PM HKT, James Harkins wrote:
> On Nov 4, 2013 10:08 PM, "Eric Schulte" <schulte.eric@gmail.com> wrote:
>> Look in lisp/ob-lilypond.el. Specifically (1) would be done in
>> `org-babel-expand-body:lilypond', and both (2) and (3) in
>> `org-babel-execute:lilypond'.
>
> Thanks. I'm not much of a LISPer so I have no idea when I might get
around
> to that.
>
> In the meantime, I was just advised that lilypond has a command-line
switch
> "-dpreview" that should eliminate the need to run "convert -trim." I'll
try
> that first.
I have managed to get this working, by adding this to .emacs
(unfortunately, this is not exposed as a defcustom).
(setq ly-nix-ly-path "/usr/bin/lilypond -dpreview")
Incidentally, it would be very useful if babel offered a header argument
for commandline switches. If there is one, it was not obvious at [1] which
one it should be.
Then, this actually compiles and displays well enough:
#+name: pitches
#+begin_src lilypond -i :exports both :file pitches.png :prologue
\header{tagline=##f}
\include "english.ly"
{ c' e' g' fs' a' c'' ef'' d' }
#+end_src
Next up: I would like ":prologue \header{tagline=##f}" to be buffer wide. I
tried this:
#+PROPERTY: header-args:lilypond :prologue \header{tagline=##f}
.. but it didn't work at first.
[5 minutes]
OK, I had to refresh the buffer setup. That wasn't obvious in the
documentation.
So it all seems to be working now.
hjh
[1]
http://orgmode.org/manual/Specific-header-arguments.html#Specific-header-arguments
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Fwd: ob-lilypond: pre- and post-processing of source blocks
2013-11-05 5:35 ` James Harkins
@ 2013-11-05 6:17 ` Thomas S. Dye
0 siblings, 0 replies; 5+ messages in thread
From: Thomas S. Dye @ 2013-11-05 6:17 UTC (permalink / raw)
To: James Harkins; +Cc: Emacs-orgmode, Eric Schulte
James Harkins <jamshark70@gmail.com> writes:
> Incidentally, it would be very useful if babel offered a header argument
> for commandline switches. If there is one, it was not obvious at [1] which
> one it should be.
A header argument for command line switches is implemented for some
babel languages. See lines 68-79 of ob-dot.el, for instance, which
implements a :cmdline header argument. It might be easy to implement
something similar for ob-lilypond.el, as well.
All the best,
Tom
--
Thomas S. Dye
http://www.tsdye.com
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-11-05 6:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <0dabc937-df1c-4b65-971b-f83812526af4@dewdrop-world.net>
2013-11-04 12:39 ` Fwd: ob-lilypond: pre- and post-processing of source blocks James Harkins
2013-11-04 14:00 ` Eric Schulte
2013-11-05 4:24 ` James Harkins
2013-11-05 5:35 ` James Harkins
2013-11-05 6:17 ` Thomas S. Dye
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).