Yeah, I actually tried things like this.  It doesn't seem to work.  Even if you 
actually modify the file and then change it back, LyX still "knows" that the 
file hasn't "changed."

So, I don't think whatever decision LyX is making is based on the modification 
timestamp.  That would seem to be the easiest way to implement something like 
this, but LyX seems to use other criteria... anyone know what those criteria 
are?

Or, better yet, a way to just tell LyX to re-run Lilypond for all inset files?

--- On Mon, 4/16/12, Thomas Coffee <thomasmcof...@gmail.com> wrote:
On GNU/Linux, an easy way to solve it would be to run

touch *.ly

in the directory(ies) containing the Lilypond files to make them appear 
modified. Perhaps someone else knows how to do it the "right" way.



- Thomas


On Sun, Apr 15, 2012 at 4:24 PM, John McKay <jzmc...@yahoo.com> wrote:


I am working on a large project involving hundreds of musical examples typeset 
in Lilypond.  So far, LyX has been great in handling them.



I have run into one issue.  LyX seems to "know" if a Lilypond file hasn't 
changed since the last output PDF was generated.  If the Lilypond file hasn't 
changed, it doesn't run Lilypond again.



In most circumstances, I can see how this is desirable.



However, I need to know how to get LyX to regenerate ALL Lilypond files if I 
want to, even if the file LyX actually sees hasn't changed.



Basically, since the structure of my musical examples is so complex, I have 
taken to separating some general formatting instructions and the actual musical 
data into separate files.  These are loaded in the header of the Lilypond file 
that LyX actually sees, which is mostly a dummy file that sets up the score for 
the actual LyX example.





So, if I make changes to the actual notes of my file or to the general 
formatting header file for my examples, the file LyX sees usually doesn't 
change.  Yet, I still need LyX to re-run Lilypond sometimes.



I don't need this to happen all the time, but is there a command or a way to 
just tell LyX to re-run Lilypond for all external material insets if I want a 
complete wipe?



(I've noticed various ways of hacking this, like deleting an external material 
insertion and reinstating it in LyX, or adding an unnecessary blank comment 
line to my dummy files so LyX detects a "change," but these sorts of things are 
obviously annoying when dealing with hundreds of Lilypond files.)





Thanks for any suggestions!




Reply via email to