Re: Markup parsing question

2011-10-26 Thread Bertalan Fodor (LilyPondTool)
Thank you David, this explains me what I didn't understand.
It turned out that somehow I was looking at a bad parser.yy.

Actually I'm not running/debugging the C code, but instead only reading it
(and porting some of the parsing code to Java).

Bertalan

On Wed, Oct 26, 2011 at 7:26 AM, David Kastrup d...@gnu.org wrote:

 Bertalan Fodor (LilyPondTool) lilypondt...@organum.hu writes:

  Dear LilyPond devs,
 
  I have a problem with the LilyPond markup parsing, which prevents me
  to finish my new release of LilyPondTool.
  Could you help me a bit on that?
 
  I have this ly file
  --
  dot = \markup {
q \musicglyph #accordion.dot
  }
 
  { c^\dot }
  --
 
  When the markup is parsed, it will become:
  ( q (musicglyph accordion.dot))
  through the rules: markup_braced_list - markup_list - markup_top -
  full_markup - identifier_init
 
  This really makes sense, but please correct me if I'm wrong.

 You are wrong.  \markuplines (soon to become \markuplist) takes this
 markup list verbatim.  \markup, however, wraps it in a line-markup.  Put
 the following after your assignment:

 #(begin)
 #(display dot)

 This produces:

 (#procedure line-markup (layout props args) (  q (#procedure
  musicglyph-markup (layout props glyph-name) accordion.dot)))

  Now when I'm referring to it in c^\dot, the following code is run:
 
  if (Text_interface::is_markup (sid)) {
  
  return MARKUP_IDENTIFIER;
  } else if (Text_interface::is_markup_list (sid)) {
  
  return MARKUPLINES_IDENTIFIER;
  }
 
  The result of this must be MARKUP_IDENTIFIER (as only those can be
  used as direction_reqd_event - gen_text_def - full_markup
 
  But if I look in Text_interface.isMarkup, it will just do the
  following:
 
  return (scm_is_string (x)
|| (scm_is_pair (x)
 SCM_BOOL_F
!= scm_object_property (scm_car (x),
ly_symbol2scm (markup-signature;
  }
  So my value, ( q (musicglyph accordion.dot)) will not be
  considered as a markup, but instead a markup list, so I'm getting a
  parse error.
 
  Can you help me where I misunderstand the code?

 Have you actually tried your code?  Works fine here.

 --
 David Kastrup


 ___
 lilypond-devel mailing list
 lilypond-devel@gnu.org
 https://lists.gnu.org/mailman/listinfo/lilypond-devel

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Markup parsing question

2011-10-26 Thread Bertalan Fodor (LilyPondTool)
I thought it was part of 2.14.1 source tarballI, probably I have changed it
myself accidentally, changed this line:
$$ = scm_list_2 (ly_lily_module_constant (line-markup),  $1);
to
$$ = $1;

when playing with it, as the source tarballs are correct.

Thank you for your help,

Bertalan

On Wed, Oct 26, 2011 at 8:45 AM, David Kastrup d...@gnu.org wrote:

 Bertalan Fodor (LilyPondTool) lilypondt...@organum.hu writes:

  Thank you David, this explains me what I didn't understand.
  It turned out that somehow I was looking at a bad parser.yy.

 Interesting.  Where did you get it?

 --
 David Kastrup


 ___
 lilypond-devel mailing list
 lilypond-devel@gnu.org
 https://lists.gnu.org/mailman/listinfo/lilypond-devel

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Markup parsing question

2011-10-25 Thread Bertalan Fodor (LilyPondTool)
Dear LilyPond devs,

I have a problem with the LilyPond markup parsing, which prevents me to
finish my new release of LilyPondTool.
Could you help me a bit on that?

I have this ly file
--
dot = \markup {
  q \musicglyph #accordion.dot
}

{ c^\dot }
--

When the markup is parsed, it will become:
( q (musicglyph accordion.dot))
through the rules: markup_braced_list - markup_list - markup_top -
full_markup - identifier_init

This really makes sense, but please correct me if I'm wrong.

Now when I'm referring to it in c^\dot, the following code is run:

if (Text_interface::is_markup (sid)) {

return MARKUP_IDENTIFIER;
} else if (Text_interface::is_markup_list (sid)) {

return MARKUPLINES_IDENTIFIER;
}

The result of this must be MARKUP_IDENTIFIER (as only those can be used as
direction_reqd_event - gen_text_def - full_markup

But if I look in Text_interface.isMarkup, it will just do the following:

return (scm_is_string (x)
  || (scm_is_pair (x)
   SCM_BOOL_F
  != scm_object_property (scm_car (x),
  ly_symbol2scm (markup-signature;
}
So my value, ( q (musicglyph accordion.dot)) will not be considered as a
markup, but instead a markup list, so I'm getting a parse error.

Can you help me where I misunderstand the code?

Thank you,

Bertalan
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: lilypond too noisy on the cmd line

2011-01-02 Thread Bertalan Fodor (LilyPondTool)
You should consider using a proper logging framework with different
logging levels.

Bert

On 1/2/11, Graham Percival gra...@percival-music.ca wrote:
 On Sat, Jan 01, 2011 at 02:25:57AM -0500, David Santamauro wrote:

 On Sat, 1 Jan 2011 10:19:18 +
 Graham Percival gra...@percival-music.ca wrote:

  http://code.google.com/p/lilypond/issues/detail?id=1074
  Patches appreciated.  Unfortunately I doubt that anything will
  happen unless you personally work on it, but it's on the books.

 Question: Should the be_verbose_global variable control this? I'm not
 sure a new command line argument is really needed as long as it is
 agreed upon what verbose is and isn't.

 I added a be_quiet_global in my sandbox but reading the thread makes me
 think that simplification is needed and not an expansion.

 Since we already have a be_verbose_global variable, I can't
 imagine much serious objection to having a be_quiet_global.  My
 initial guess would be that we want three different types of
 output:
 - verbose
 - normal
 - quiet

 However, this is definitely outside my depth.

 Cheers,
 - Graham

 ___
 lilypond-devel mailing list
 lilypond-devel@gnu.org
 http://lists.gnu.org/mailman/listinfo/lilypond-devel


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: convert-ly on lilypondTool under GNU/Linux

2010-10-29 Thread Bertalan Fodor (LilyPondTool)
Yeah, it uses python only if convert-ly command (in PluginsPlugin
properties) is set to convert-ly.py (It looks for the py extension)
If you change that to just convert-ly that should work (at least that's the
intention, though I don't have linux so I can't test that.)

On Tue, Oct 26, 2010 at 1:16 PM, Francisco Vila paconet@gmail.comwrote:

 Hello Bert,

 The convert-ly function in LilyPondTool tries to call python
 convert-ly.py ; this could be correct for Windows, but in GNU/Linux
 the command is just convert-ly -e; is there a way to avoid this
 function from calling python and instead issue the command directly?

 Thanks
 --
 Francisco Vila. Badajoz (Spain)
 www.paconet.org , www.csmbadajoz.com

___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Any way to use lilypond as a library? (embeded)

2010-04-07 Thread Bertalan Fodor (LilyPondTool)



Why I ask that?

I'm creating a little application and I would like to create simple midi files
on the fly, but I would like to avoid to enter in midi internals (avoid to waste
my time reinventing the wheel). And lilypond file format is really easy to use.

So my idea is:

 * My program creates a tune.
 * Create a string with the lilypond description.
 * Calls a function, and it creates a external midi file
 * My program uses the midi file.

  

Check JFugue. That would be more appropriate for this purpose.

Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Enhancement request: Termination message for lilypond compilations

2010-03-26 Thread Bertalan Fodor (LilyPondTool)




   (lilypond $*  echo Success) || echo Failed
1. Lilypond is a multi-OS application, it doesn't just run under bash 
on a Linux-derived OS (e.g cmd on Windows, running from detached gui 
environment from JEdit or Frescobaldi - btw JEdit could also be 
running under Windows).
Doesn't LilyPond correctly return an error code upon exit? Then the GUI 
apps could easily show this message.


Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: half-dot

2010-03-26 Thread Bertalan Fodor (LilyPondTool)




Francisco Vila wrote:

  2010/3/26 David Bobroff bobr...@centrum.is:
  
  
Now, however, this notation convention has appeared again in another piece
by a different composer. An example can bee seen here:

http://centrum.is/~bobroff/lilypond/half-dot.png

  
  
As a first step, you can do the following to make quarter+16th to
appear as plain quarter notes. Then, possibly add a cosmethic 'x' to
it is easier from here.

\relative c' {
	\time 15/16
	
	c4~c16
	c4~c16
	c4~c16
	
	c4*5/4
	c4*5/4
	c4*5/4 |
  



My favorite tweak helps here, overriding the stencil with text
interface.

\relative c' {
 \time 15/16
 
 c4~c16
 c4~c16
 c4~c16

\override Dots #'stencil = #ly:text-interface::print 
\override Dots #'text = \markup { "" }
\override Dots #'extra-offset = #'(0.2 . -1)

 c4.*5/6
 c4.*5/6
 c4.*5/6 |
}




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: weblily: security risk

2010-03-11 Thread Bertalan Fodor (LilyPondTool)
Note that there are existing effort on creating a service that can be 
used to render lilypond scores in Google Wave or in any web application. 
You can get its code at 
http://code.google.com/p/lilypondy/http://code.google.com/p/lilypondy/source/browse/#svn/trunk/lilywaveservlet


You can see some good ideas about request queue, caching etc.

Bert
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Grammar: meaning of terminals

2010-03-08 Thread Bertalan Fodor (LilyPondTool)
The lexer reads regular expressions, and tries to match them to a rule. 
A rule will return a token and a value (yylval). These two will be used 
by the parser to interpret the input.

This is so simple.
So for example how a note name is recognized:
a note name like fs will be read as [a-zA-Z\200-\377]+ regular 
expression (ALPHAWORD in lexer.ll).
In notes and figure lexer state (notes, figures in lexer.ll) it will 
return scan_bare_word, based on the rule:

notes,figures{
   {ALPHAWORD}{
   return scan_bare_word (YYText ());
   }


scan_bare_word is a function that takes the matched input and return the 
appropriate token and set the appropriate value in yylval. Look at the 
implementation of this function to understand how that token is actually 
generated.


Bert



Harmath Dénes wrote:

On 2010.03.04., at 19:36, Patrick McCarty wrote:

  

2010/3/4 Harmath Dénes harmathde...@gmail.com:


Greetings all,

it's great to have a grammar of LilyPond in the NR! But there are terminal 
rules which are not strings (BOOK_IDENTIFIER, CHORD_MODIFIER etc.). Where can 
their definitions be learned?
  

If you do a `git grep' for them in the source tree, you will see that
many of these terminals come to life in the lexing stage.



I see. The -p option gives even more useful output.

  

For example, BOOK_IDENTIFIER is the return value of
Lily_lexer::try_special_identifiers() in lily/parser.yy, but only if
its second argument is a Book smob.

-Patrick



It's not exactly clear to me how lexing and parsing are related, since there 
are lexer rules (e.g. NOTENAME_PITCH) which can be set from Scheme code. Could 
someone shed a light on this?

Thanks,
thSoft

___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: nice stockhausen excerpt

2010-02-22 Thread Bertalan Fodor (LilyPondTool)




Why not ask for rights from Stockhausen's copyright owner?

I would try: 

m...@stockhausen.org

Anyway, the fact that the example is an SVG is not too good: it has
problems displaying the tuplet numbers, and a pp.




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: top posting

2010-01-29 Thread Bertalan Fodor (LilyPondTool)



Thanks for letting me know about this. I used be strongly against top
posting and was quite vocal about it. I found that I was just
alienating myself from newer Internet users who didn't know what I was
talking about. It appears that this list is populated by a lot of long
term Internet users and I'll happily stop top posting!
  
I usually read my email on a mobile connection using a 120x176 px mobile 
phone, and bottom posting means extra traffic and extra scrolling.
For a longer discussion I usually don't care about history, only the 
latest events and thoughts, so for me please do top post. ;)


Thanks,

Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: top posting

2010-01-29 Thread Bertalan Fodor (LilyPondTool)


I think you don't understand what top posting means: It means that you quote 
the whole message (and all messages that it quoted) and simply add your reply 
at the top. This way, each mail contains the whole history!
  
I wanted to say that I prefer that to quote the whole message and simply 
add your reply at the bottom.
What you are asking for is to delete all irrelvant parts of the message you 
answer to and leave only the relevant parts in it. That's not top-posting, 
though.
  
No, I'm asking that the relevant parts be at the top of the message as 
much as possible, to prevent unnecessary network traffic and scrolling.


But honestly, my ultimate idea is freedom (that's why I'm here): 
everyone do what she feels effective.


Bert





___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Detailed instructions for jail mode

2009-12-01 Thread Bertalan Fodor (LilyPondTool)

Hi,

for the LilyPond Google Wave plugin, to ease hosting LilyPond services, 
I created detailed instructions about how to set up a good chroot jail.

Could it be (worth) linked in the doc somehow?

http://code.google.com/p/lilypondy/wiki/LilyPondInJail

Thanks,

Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: LilyPond web service

2009-11-22 Thread Bertalan Fodor (LilyPondTool)
Just a heads up for those who are thinking about hosting part of the 
distributed LilyPond server vision.
I created a Java servlet based service for LilyPond for the purposes of 
Google Wave.
It runs on a virtual private server with 256MB RAM (running Ubuntu 
Linux, Tomcat, a database and nothing more), and performs quite well for 
the simple tasks. Some important points though:
- it allows only one LilyPond processing request at one time, so a queue 
is created. I tested it with parallel processes but they killed the 
server (the memory was not enough)
- one LilyPond process can get at most 15sec of CPU time, and 32MB 
physical and 64MB virtual memory. This must be more fine tuning, 
including the LILYPOND_GC_YIELD setting, as this doesn't allow long 
parts to be compiled.

- LilyPond runs in jail mode, which is very good

The installation of the service is very easy, the hard part is actually 
setting up the jail mode for LilyPond, GhostScript and ImageMagick. So 
good instructions will be created for this.




Valentin Villenave wrote:

2009/10/12 Harmath Dénes harmathde...@gmail.com:
  

However, for it to work, of course, a web service is needed which takes
LilyPond code as its GET argument, renders it with LilyPond (safe or jail
mode of course), and returns the result as cropped PNG image. (Multiple
servers can be configured for load distribution.) Is there an official
LilyPond web service somewhere online like this (similar to
http://noteserver.org for Guido)?



The only LilyPond server at this point is the LilyPond Snippet
Repository at Milano University. But it tends to go down as soon as
several people use it at the same time :-)

A few other servers were installed, particularly for LilyPond web
plugins such as the Wordpress, the MediaWiki or the Spip plugins. I
also began installing LilyPond on a dedicated server for the LilyNet
website, but it's not nearly powerful enough. LilyPond requires a
*lot* of resources.

  

If not, I strongly propose setting up a server for this purpose. I already
implemented this HTTP service. It needs only PHP, LilyPond and ImageMagick
installed. Could you host this service? Until Google Wave gets more
widespread adoptance, users could benefit from it already with just a
minimalistic form-based web interface.



The LilyPond community unfortunately doesn't have the resources to
host such a service, however interesting it may be. We're already
sponsored for our bandwidth and web resources, but that's about all we
can get.

However, if you do develop a convenient web-application and set up an
experimental web-server, there's little doubt that many LilyPonders
will follow you and try to help you with regard to the hosting server.
But right now, it's kind of a long shot ;-)

Regards,
Valentin


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Suggestion: Music analysis in Lilypond?

2009-11-17 Thread Bertalan Fodor (LilyPondTool)
A Chordname like thing would take quite much time to implement and I 
don't think it is important enough for most of the users to make it happen.
Though you can use the Lyrics context for this, because you can write 
markups as lyric syllables if I'm right. On the lilypond-user list I'm 
quite sure you'll get directions if you can't figure out from the manual..


Ernir ÓskarPálsson wrote:

Dear developers,

I have recently found Lilypond, and am discovering step by step what a wonderful
program it is, and what a quick and simple method to print beautiful music it
presents (once I am a little more acquainted with it at least).

I have been learning the basics og the program through writing up and completing
my musical analysis assignments (am currently studying Musicology)
The figured bass tool (or is it called context?) has been terrific to use, and
leaves me wanting more:
Would it be possible to make a similar tool (or perhaps even more similar to the
Chordnames thing), where you can simply write harmonical analysis; that is
either the functional system (T S Sp D7 etc.) and/or the Schönberg/Hindemith
type with roman numbers (I IV ii V7 etc.)? 
The variants (bassnote-numbers, Dominant of Dominant, tonic-free chords,

french/German/Italian chords etc.) could propably be implemented in a similar
way as in the figured bass (?)

I hope I am not wasting your time, I realize lots of people must have thought of
this and perhaps there is some way to write it that I have yet to find out (like
I said I am new at this, and less than worthless at programming). 


If you like the idea, however, an implementation in a future update would be
terrific! 
otherwise, keep up the good work!!


Thankful regards,

Ernir Pálsson



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

  




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: BOM mark from Windows notepad

2009-11-13 Thread Bertalan Fodor (LilyPondTool)

Hehe, we've got this:

INITIAL,chords,lyrics,figures,notes{BOM_UTF8}/.* {
 if (this-lexloc-line_number () != 1 || this-lexloc-column_number 
() != 0)

   {
 LexerError (_ (stray UTF-8 BOM encountered).c_str ());
 exit (1);

That means, we correctly parse the BOM, but exit if it is not the first 
char.


Hans Aberg wrote:

On 13 Nov 2009, at 10:08, Bertalan Fodor (LilyPondTool) wrote:

I think changing the LilyPond parser to support BOM in the middle (ie 
not at the beginning) of the file is very hard. Actually if it is not 
at the beginning, then it should be treated as a regular character, 
which might not be present just anywhere in the file.


Why would that be? Did you not have a Flex generated .l file? If the 
input .l file is in UTF-8 and Flex in 8-bit mode, add a rule

  BOM {}
where BOM is the UTF-8 representation of the BOM. It will than add 
act as space, breaking tokens, but otherwise ignored. So it acts a 
zero-width space.


  Hans








___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Code formatter

2009-11-13 Thread Bertalan Fodor (LilyPondTool)

Yes, code formatting involves fascism.

- Someone, a lead architect should decide upon rules.
- Then a tool must be used to force these rules. It shouldn't be the 
tool's rules, but the tool should support the rules defined by the lead 
developer.

- You should NOT run it on all existing files.
- You should work the formatter on every file you commit, at least on 
the lines you changed. This is the only way to prevent merge conflicts 
caused by formatting.


Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Code formatter

2009-11-13 Thread Bertalan Fodor (LilyPondTool)
Forget the tool. Astyle is very configurable, but we still could need 
our own formatter (though I wouldn't like that).
Developing C++ code on Windows is practically impossible, but can be 
well done with the VirtualBox pc for which I host the ISO (see the CG :))

So it doesn't matter whether the tool is supported on Windows or not.

But first:
- what are the rules?
- and then how we force that
You can even force that with manually, that is not approving code that 
doesn't adhere, but all that can be automatized could be. So there might 
be some static code analysis tools to be used as well.



Graham Percival wrote:

On Fri, Nov 13, 2009 at 04:59:20PM -, Trevor Daniels wrote:
  

Chris Snyder wrote Friday, November 13, 2009 4:35 PM


Graham Percival wrote:
  

I know that you're thinking this is ridiculous, but unless
somebody does it, newbies will continue to face this difficulty.
This job won't get done by itself.

Yes, I do think it's ridiculous. As I understand, you're saying, go 
find a tool that makes the code conform to a standard we haven't 
defined yet.
  

Chris is right: if progress is to be made the rules
must be defined first.  They can be defined
incrementally; in fact some already exist.  If we
can't agree on the rules there is little point in
searching for a tool.



FFS!ok, **I** will start doing this investigation.

1) git pull -r; cd lily
2) astyle *.cc
3) git diff  foo.patch
4) ls -lh foo.patch
-rw-r--r-- 1 gperciva gperciva 3.4M 2009-11-13 17:14 foo.patch

hmm, that's not too optimistic.  Let's see...
--- a/lily/accidental-engraver.cc 
+++ b/lily/accidental-engraver.cc 
@@ -29,61 +29,61 @@ 
 class Accidental_entry 
 { 
 public: 
-  bool done_; 
+bool done_;



hmm, indenting variables to be 4 spaces instead of 2 spaces.
Hmm... ick, a *ton* of things in the patch look like this.  Let's
try making it 2 spaces instead.

5) git checkout *.cc
6) astyle --style=gnu

I couldn't immediately see a use 2 spaces for indents, but let's
try this gnu option!
6) git diff  foo.patch
7) ls -lh foo.patch
-rw-r--r-- 1 gperciva gperciva 2.1M 2009-11-13 17:18 foo.patch

well, it's smaller, at least.

8)  looking at a diff...
--- a/lily/accidental-engraver.cc
+++ b/lily/accidental-engraver.cc
@@ -27,18 +27,18 @@
 #include translator.icc

 class Accidental_entry
-{
-public:
-  bool done_;
+  {
+  public:
+bool done_;

interesting.  is that really the GNU style?  maybe I should check.
Or wait, maybe this is something changed in fixcc.py.  I'll check
there.

hmm... ok, that file is difficult to read.  But gives me an
idea... what if I just run fixcc.py on the output of astyle
--style=gnu ?

... run the command... git-diff... look at the patch... ok, it's
bigger now.  that sucks.  What happens if we skip astyle and just
run fixcc.py ?

... ok, it *still* gives a 3-meg patch.  This is pretty good
evidence that, despite some people's claims to the contrary,
fixcc.py is broken.  Let's give up on that.


9)  ok, back to the original let's use 2 spaces instead of 4.
  astyle --indent=spaces=2 *.cc
gperc...@sapphire:~/src/lilypond/lily$ ls -lh foo.patch 
-rw-r--r-- 1 gperciva gperciva 2.2M 2009-11-13 17:30 foo.patch


well, this is looking better.  BTW, it's interesting that the
non-GNU style works better than the GNU style.

So, what's in the diff... hmm, stuff like this:
--- a/lily/accidental-engraver.cc
+++ b/lily/accidental-engraver.cc
@@ -109,8 +109,8 @@
Accidental_engraver::update_local_key_signature (SCM new_sig)
 {
   last_keysig_ = new_sig;
   set_context_property_on_children (context (),
-   ly_symbol2scm
(localKeySignature),
-   new_sig);
+ly_symbol2scm
(localKeySignature),
+new_sig);

   Context *trans = context ()-get_parent_context ();



that looks ok to me.  (although the email might break it up).
Basically, instead of lining up
  (context
  ly_symbol2cm
it lines up
  (contest
   ly_symbol2cm

I think the original was actually a typo.  Ok.  I am comfortable
proposing (and defending) this change.

what else is there?
@@ -121,10 +121,10 @@
Accidental_engraver::update_local_key_signature (SCM new_sig)

   SCM val;
   while (trans  trans-where_defined (ly_symbol2scm
(localKeySignature), val) == trans)
-{
-  trans-set_property (localKeySignature, ly_deep_copy
   (last_keysig_));
-  trans = trans-get_parent_context ();
-}
+  {
+trans-set_property (localKeySignature, ly_deep_copy
(last_keysig_));
+trans = trans-get_parent_context ();
+  }
 }

 struct Accidental_result


aha, the dreaded where should { brace go ?  well, astyle has a
whole bunch of options to change this.  For now, I'll just make a
note that we need to discuss this.  I'll keep on going, but once
I've finished my investigations, I'll make an email thread
specifically for this example, asking what we want, 

Re: developers developers developers

2009-11-12 Thread Bertalan Fodor (LilyPondTool)
I feel a very big obstacle for fixing bugs: the lack of modern tools for 
developing LilyPond.


For example in the CG there are many advices about Emacs, which 
according to the opinion of the 94% of the expert (really expert!) 
software developers I know (there are quite many of them) has been a 
piece of useless crap relative to Eclipse or Netbeans for at least 7 
years now.


Perhaps even the development platform should be changed here and there 
to make sure there are good tools to use.


Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: developers developers developers

2009-11-12 Thread Bertalan Fodor (LilyPondTool)

Sure, though I'm afraid they are mostly Java programmers.
One of them declined to participate even in LilyPondTool.

Bert

Would you please invite a couple of dozen of them to help with lilypond 
development?


I only know about 3 really expert! programmers, possibly 6 plain
expert programmers in total.  One of them died.

Jan.

  





___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: developers developers developers

2009-11-12 Thread Bertalan Fodor (LilyPondTool)



Perhaps even the development platform should be changed here and there
to make sure there are good tools to use.



One thing I have learnt in the past: it is mostly pointless to try
supporting a platform that is not your own choice.  If others are
passionate enough about it, they will do a better job than you can.

Lilypond is a batch processing system.  You can use whatever editor you
like with it.  If there are people who like Emacs, that does not change
Lilypond to the better or worse.

  


I'm talking about developer tools. For example, some months ago I got 
the advice to use grep to browse LilyPond source code.


Bert
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: developers developers developers

2009-11-12 Thread Bertalan Fodor (LilyPondTool)

Werner LEMBERG wrote:

I'm talking about developer tools. For example, some months ago I
got the advice to use grep to browse LilyPond source code.



BTW, have you found something better?


Werner

  
Eclipse is quite good at finding macro definitions etc., but it relies 
on some special build configuration, i must set up first correctly.
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: developers developers developers

2009-11-12 Thread Bertalan Fodor (LilyPondTool)

Graham Percival wrote:

On Thu, Nov 12, 2009 at 01:40:37PM +0100, Bertalan Fodor (LilyPondTool) wrote:
  
I feel a very big obstacle for fixing bugs: the lack of modern tools for  
developing LilyPond.



What, precisely do you mean by this?
- C++ and scheme sucks?  I doubt this will change.
- the build system sucks?  we're working on changing that.
- new contributors spending days fiddling with indentation before
  they can get patches approved?  there's an issue tracker about
  automatically indenting code to avoid this problem.
  (nobody's working on it, but we *do* know about the problem)
  
Good visual debugger for both scheme and C++, running well on Windows 
and Linux.

Easy build procedure using visual tools.

Goal: To let a developer download lilyubuntu iso, and have the 
development tools set up perfectly well for development, gdb configured 
well etc.
I started to do this, checking KDevelop, Eclipse, Netbeans, Anjuta, and 
posted my findings on the list months ago. (My conclusion was that 
Eclipse is quite good, but still not perfect - but didn't yet try Scheme 
debugging).


Bert


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: developers developers developers

2009-11-12 Thread Bertalan Fodor (LilyPondTool)

Werner LEMBERG wrote:

I'm talking about developer tools. For example, some months ago I
got the advice to use grep to browse LilyPond source code.


BTW, have you found something better?

  

Eclipse is quite good at finding macro definitions etc., but it
relies on some special build configuration, i must set up first
correctly.



Hmm.  Can Eclipse do a regular expression search over all lilypond
files, including documentation ones?  What tool do you use for this
purpose?
  

Yes, Eclipse is capable of that.
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: developers developers developers

2009-11-12 Thread Bertalan Fodor (LilyPondTool)

Yes, that suffice if you are looking for text.
But if you are looking for function and class definition, reference, 
exception throwing places, macro expansion as tooltip etc. There are a 
lot of things a good development environment must do for effective work.


dem...@suffolk.lib.ny.us wrote:

I'm talking about developer tools. For example, some months ago I
got the advice to use grep to browse LilyPond source code.
  

BTW, have you found something better?



for those working on a mac, XCode and BBEdit have grep-like facilities as
well as project-wide search capabilities that report results in a list
that is itself a navigation tool for the hits.

--
Dana Emery


  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Google displays 2.9 doc

2009-11-11 Thread Bertalan Fodor (LilyPondTool)

Hi,

can something be done to make Google display latest doc and not 2.9?

Thanks,

Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: BOM mark from Windows notepad

2009-11-11 Thread Bertalan Fodor (LilyPondTool)

It is a regression. BOM was supported for sure.

Patrick McCarty wrote:

On 2009-11-11, Francisco Vila wrote:
  

Hello. When LilyPond for Linux encounters a BOM from files made with
the Windows notepad, it issues an error.



Has this always been the case, or is this a new issue with 2.13.7?

  

I think it should continue making the PDF anyway, because the file has
an otherwise correct syntax; what do you think?



Yes, definitely.  The BOM is permitted by the UTF-8 spec, so an error
should not be issued.

Thanks,
Patrick


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Policy about SRFI usage?

2009-11-09 Thread Bertalan Fodor (LilyPondTool)

I would add: make Scheme code as portable as possible.

Han-Wen Nienhuys wrote:

On Thu, Nov 5, 2009 at 12:48 PM, David Kastrup d...@gnu.org wrote:
  

Hi,

I was wondering what the Lilypond policies are for using SRFI, such as
SRFI-13 for string functions.  My question was triggered by looking at
scm/lily-sort.scm (only used at document creation time) which could be




There are no specific policies, except that you have to be careful.
For example, there is a
GUILE module that provides a format function, which also has enormous
high rate of garbage generation; switching back to a hand-coded format
cut memory usage in half.


  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Policy about SRFI usage?

2009-11-09 Thread Bertalan Fodor (LilyPondTool)

David Kastrup wrote:

Bertalan Fodor (LilyPondTool) lilypondt...@organum.hu writes:

  

Han-Wen Nienhuys wrote:

On Thu, Nov 5, 2009 at 12:48 PM, David Kastrup d...@gnu.org wrote:

I was wondering what the Lilypond policies are for using
SRFI, such as SRFI-13 for string functions.  My question was
triggered by looking at scm/lily-sort.scm (only used at
document creation time) which could be

There are no specific policies, except that you have to be
careful.  For example, there is a GUILE module that provides a
format function, which also has enormous high rate of garbage
generation; switching back to a hand-coded format cut memory
usage in half.
  

I would add: make Scheme code as portable as possible.



Hm?  You mean, run on other interpreters rather than Guile?  If so, why?

  
Yes. For example I'm currently integrating the SISC Scheme interpreter 
into LilyPondTool to make instant error checking more correct. If there 
is much dependency on Guile-specific modules/code, my task is much 
harder, because I have to reimplement functionality.

In general, all code should be portable and maintainable, that is
- make sure code is tool-agnostic,
- make sure there are good tool support

That's why it would be a bad idea to adopt R6RS for LilyPond (no tools), 
and it is a bad idea to make LilyPond code GUILE-dependent (no life 
outside Guile).


Still, it is ok if the Guile modules used are implemented in pure R5RS - 
for example the module system is implemented using core R5RS features, 
so that can be safely used, still producing portable Scheme code.


Bert
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Alternative music font

2009-10-19 Thread Bertalan Fodor (LilyPondTool)

Wow too.
Actually, there are things in Feta what I don't feel natural either.
For example: the caesura sign, the G-clef and the trill indication feels 
better for me in Gonville.
Though the G-clef is I think a clear LilyPond watermark, so I would keep 
that one :)

The best would be if I could set up where to get which glyph from.

Bert

Simon Tatham wrote:

Hi,

I've recently drawn a new font of musical symbols for use with
Lilypond, which look more like the ones I'm used to and hence
distract me less. I put it up on the web this weekend at

  http://www.chiark.greenend.org.uk/~sgtatham/gonville/

Currently the only way I've found to use that font with Lilypond is
to create a symlink mirror of the entire Lilypond data directory,
replace the 'fonts' subdirectory, and point $LILYPOND_DATADIR at the
altered copy. Would it be possible to introduce a command-line or
configuration option of some sort, to make it easier to select an
alternative font? (Or is there one I've missed?)

Cheers,
Simon



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

  





___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: keyboard navigation in html docs

2009-07-31 Thread Bertalan Fodor (LilyPondTool)

A learning curve is always steep:

http://www.psywww.com/intropsych/ch07_cognition/learning_curve.html

Bert

Mark Knoop wrote:

At 17:37 on 30 Jul 2009, Mark Polesky wrote:
  

Jonathan Kulp wrote:


I think it's possibly to detect keypresses in javascript.
  

1)  Would it be cool or annoying to press n in the docs to
proceed to the next page?  Admittedly this would be much more
useful in the LM than the NR.


I appreciate anything like this that keeps me off the mouse.
  

Have you tried the Opera browser? Last time I looked, they were
the leaders in the area of keyboard shortcuts. That was a couple
years ago, but I remember being impressed.




For the ultimate in keyboard browsing, try Vimperator. Like all the
best software (e.g. LilyPond, Vim, etc.) there's a steep learning
curve...

http://vimperator.org/


  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: How to put to the NEWS on homepage?

2009-07-28 Thread Bertalan Fodor (LilyPondTool)

Thank you.

Actually jEdit's versioning scheme is quite awkward, as 4.3pre16 is a 
very stable version, far more stable than the not maintained 4.2 final.
What is major release in this sense is the release LilyPondTool - it 
contains features that have been in development for 6 months. (And the 
latest plugin central release was at that time as well).


Bert

Graham Percival wrote:

Anybody with git access could apply a patch to site/something.html
in the web branch.  I'm not totally certain that we _want_ to make
such announcements as a general rule, but in the absence of
anybody telling me not to, I'm willing to apply such a patch.

I make no guarantees about the future, although I must admit that
if we discuss lilypondtool in LM 1.2 -- which should be possible
in 2-3 days -- then there's a much stronger case to be made for
adding major announcements about lilypondtool.
I'm not certain that 4.3pre16 qualifies as a major annoucement,
but as I said, I'm willing to apply a patch regardless of these
misgivings.

Cheers,
- Graham

On Tue, Jul 28, 2009 at 07:44:13AM +0200, Bertalan Fodor (LilyPondTool) wrote:
  
I haven't got any answer yet, so now I'm a bit afraid that it's going to  
be ignored.


Who could put this announcement to the NEWS (I do think it's a good idea)?

The latest version of LilyPondTool has been released to the jEdit plugin  
repository. Now it supports Virtual Piano and MIDI input, and a dockable  
PDF viewer with advanced point-and-click support. To get it, in JEdit  
4.3pre16 or later (http://www.jedit.org) go to Plugins  Plugin Manager  
and choose LilyPondTool from the Install tab. For more information check  
http://lilypondtool.organum.hu





___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel



  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


How to put to the NEWS on homepage?

2009-07-27 Thread Bertalan Fodor (LilyPondTool)
I haven't got any answer yet, so now I'm a bit afraid that it's going to 
be ignored.


Who could put this announcement to the NEWS (I do think it's a good idea)?

The latest version of LilyPondTool has been released to the jEdit plugin 
repository. Now it supports Virtual Piano and MIDI input, and a dockable 
PDF viewer with advanced point-and-click support. To get it, in JEdit 
4.3pre16 or later (http://www.jedit.org) go to Plugins  Plugin Manager 
and choose LilyPondTool from the Install tab. For more information check 
http://lilypondtool.organum.hu





___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Grob type (and other metadata) in point-and-click url

2009-07-20 Thread Bertalan Fodor (LilyPondTool)
Would it be theoretically possible to include other metadata in the 
point-and-click url besides the input file position?

I'm looking at:

(define (grob-cause offset grob

I'm not sure, how much information is included in that grob object.

If a text script for example would have the information that it is a 
Voice.TextScript, or that the notehead it is coming from a note event it 
would allow powerful finishing tools, like extra-offset, adding 
transposition in the editors.


What do you think?

Thanks,

Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: lilybuntu confusion

2009-07-01 Thread Bertalan Fodor (LilyPondTool)



1) Memory: use the recommended base size of 384 MB?
   * are there system requirements for compiling LilyPond?
   * Do I need more RAM to compile the program than I would to
 compile just the docs?
   * I initially selected 384, but then VirtualBox warned me that
 384 MB is more than 75% of all my RAM (I'm on an older
 computer with only 504 MB RAM). That would've left 120 MB for
 everything else and the warning said that was a bad idea. But
 I didn't know what to lower it to, or if I could lower it at
 all. So I changed the 384 to 200. I still don't know if it
 matters.



As long as there's enough memory to run things, you're OK.  Extra memory
needs will be met by using virtual memory (on the hard disk).
  
Well, I would recommend _at least_ 384MB, but running two OS'es at the 
same time on a computer with 0.5G RAM can be hard.

3) Storage type: Dynamically exapanding storage?


Yes, definitely.

5) Virtual Location Disk Size: use recommended (8 GB)?
   * Does compiling LilyPond require more/less?
   * What if I only want to allocate 2GB (hypothetically)?
   * If I select 8GB, it'll start at the base size in expand
 dynamically anyway, right? It would be good to understand
 this.



Probably want to use the recommended.  2GB may make it too tight.
  
You can't even install the OS on 2GB. You need at least a 4GB hard disk, 
but that could be tight as well. I would recommend 6GB.


I would mention, that the lilybuntu.iso is a Live CD (mounted as a 
virtual CD), which must be installed to the virtual hard drive before 
you can use the development tools.


Bert
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: lilypond vs. GNU/LilyPond

2009-06-22 Thread Bertalan Fodor (LilyPondTool)

I hope nobody. For a potential user, the term GNU is incomprehensible.

Bert

Graham Percival wrote:

On the new website, I'm following the previous website which
simply wrote LilyPond.  Does anybody want to make a strong case
in favor of replacing this with GNU/LilyPond everywhere?

(or maybe just once or twice, in the intro or something like that?)

Cheers,
- Graham


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

  





___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel



Re: guile sandbox without guile

2009-06-22 Thread Bertalan Fodor (LilyPondTool)

I played a bit with jEdit's console:

In jEdit Console plugin you need to add

%set GUILE_LOAD_PATH g:\program files\lilypond\usr\share\guile\1.8

and then you can start guile from the System Shell.
Unfortunately the LilyPond shell doesn't support the #(top-repl) 
discussed in 
http://lilypond.org/doc/v2.13/Documentation/devel/contrib-guide/Debugging-LilyPond#Debugging-LilyPond


So if you want the guile prompt you need to start LilyPond from the 
system shell, but not from the bin directory (I don't why it happens, 
that when you start lilypond.exe from its directory, it doesn't start):


G:\ g:\Program Files\LilyPond\usr\bin\lilypond ${f}

(${f} is substituted automatically with the current buffer's path)


Trevor Daniels wrote:


Henning Plumeyer Sunday, June 21, 2009 8:53 PM



Am 21.06.2009, 02:31 Uhr, schrieb Neil Puttock n.putt...@gmail.com:

I also tried that with no success.  Having read the Guile manual, I
thought adding the environment variable GUILE_LOAD_PATH=C:\Program
Files\LilyPond might work, but it doesn't have any effect.


I have an environment variable

GUILE_LOAD_PATH=D:\Programme\LilyPond\usr\share\guile\1.8

and guile works from inside the command prompt and from Run


Yes, this (or rather the equivalent location on
my system) works fine on Vista too.  Seems like
we have two reliable ways of making guile work
under Windows now.

Mark, do you want to make a patch for the changes
to LM B which you want to see, or shall I extract
some changes from your note and the various comments?
If you do it, I think we should document both of
these methods for Windows (or three, if we mention
git bash).

Graham, should these be in the CG too?  They are
helpful to Windows users developing Scheme code.

Trevor



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel






___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


I want to develop automatic lyric contraction

2009-06-22 Thread Bertalan Fodor (LilyPondTool)

Hi,

I'd like to dig myself into the C++ source of LilyPond.
I have a long-wished feature, for support automatic lyric contraction.
That means the following:
When there is not enough space for a hyphen to appear, the hyphen is 
removed. Like instead of yeah - yeah - yeah, yeah yeah yeah. In 
these cases I would like LilyPond to automatically contract it to 
yeahyeah - yeah, moving the syllables, taking kerning into account.


Do you think it is feasible without major rewrite? I do see some 
callback to the lyric syllable in the hyphen engraver, but I'm not sure 
about it.


(Also, for some languages contraction would change the spelling, e.g. in 
German c-k may become kk, Hungarian sz-sz becomes ssz.  But that's 
another story.)


Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: I want to develop automatic lyric contraction

2009-06-22 Thread Bertalan Fodor (LilyPondTool)
Generally I would fix the first syllable's position (leaving it as it 
is), and then move the following ones closer to the first. I believe 
this would always produce pleasant results, as if one of the last 
syllables would go too early, then it would be still long enough to 
remain under the corresponding note (because if it weren't long, then it 
wouldn't make the hyphen disappear in normal spacing.)
However, there should be a way to change the first syllable's position, 
because in the hand-engraved scores I looked at, they often follow 
special rules: generally a syllable has 3 letters, it is centered under 
the note, but a 2 letter syllable is aligned to the left side of the 
note. So if you have a word with 2 syllables, like money, then in 
contraction ney will still be centered under its note, but mo will be 
moved to the right. But this is not general rule, so I think it would be 
enought to make sure there is a property, which in contraction 
situations would allow me to override the default spacing.


Bert

Mats Bengtsson wrote:



Bertalan Fodor (LilyPondTool) wrote:

Hi,

I'd like to dig myself into the C++ source of LilyPond.
I have a long-wished feature, for support automatic lyric contraction.
That means the following:
When there is not enough space for a hyphen to appear, the hyphen is 
removed. Like instead of yeah - yeah - yeah, yeah yeah yeah. In 
these cases I would like LilyPond to automatically contract it to 
yeahyeah - yeah, moving the syllables, taking kerning into account.

How would this contracted syllable be aligned to the two note heads?

  /Mats






___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: I want to develop automatic lyric contraction

2009-06-22 Thread Bertalan Fodor (LilyPondTool)

Han-Wen Nienhuys wrote:

On Mon, Jun 22, 2009 at 9:25 AM, Bertalan Fodor
(LilyPondTool)lilypondt...@organum.hu wrote:
  

I'd like to dig myself into the C++ source of LilyPond.
I have a long-wished feature, for support automatic lyric contraction.
That means the following:
When there is not enough space for a hyphen to appear, the hyphen is
removed. Like instead of yeah - yeah - yeah, yeah yeah yeah. In these
cases I would like LilyPond to automatically contract it to yeahyeah -
yeah, moving the syllables, taking kerning into account.

Do you think it is feasible without major rewrite? I do see some callback to
the lyric syllable in the hyphen engraver, but I'm not sure about it.



I think it would be a difficult to implement.  You'd have to replace
the hyphen code and write code that checks the distance between this
syllable and the next; if that distance is too small, it would remove
or make transparent the following syllable, and change the text of the
1st to be the contracted version.

There are some other hairy issues: in general, any contraction can
change the spelling of a word, so what happens if you have


   a -  b - c - d - e

and it is set very tightly?  Any contraction change the spelling of
any syllable (and the space it takes up), so how do you decide between
contracting

  aB - c - d - e

and

  a - b - Cd - e

first?

the changed spelling may alter the size of the word, and may trigger
another round of contractions.

  
I'd go one syllable by one. Also, I would not allow automatic change of 
spelling - that is generally impossible without a full hyphenation 
engine with dictionary (even in those cases it often mistakes), so the 
user would have to explicitly set spell-changing upon contraction. I can 
hardly imagine cases when the respelling results in more space, but 
certainly that would call for some handling - but that could be solved 
by the user by setting the minimum-distance in those places.


Bert
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: development on windows

2009-06-17 Thread Bertalan Fodor (LilyPondTool)

A quick update:
- tried Anjuta - couldn't import LilyPond
- tried KDevelop - there were problems with it regarding setting 
different arguments to lilypond
- tried Eclipse CDT - after some tutorial about importing the project 
(http://moblin.org/documentation/moblin-sdk/coding-tutorials/getting-started-developing-eclipse), 
it provided the best debugging experience.


Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: development on windows

2009-06-16 Thread Bertalan Fodor (LilyPondTool)

Jonathan, only one issue:

- If a command is not found (like typing 'asdf' in the terminal window), 
some python script is telling errors. Is that intentional?


Just for the record:

- On Asus EEE 901 KDevelop works very well using this VirtualBox + 
LilyUbuntu setup, running on a pen drive.
- I did some configuration in kdevelop: changing the debug target path 
to ., linked kdesudo to kdesu (as kdevelop looks for kdesu, which has 
been renamed). Then set up Debug configuration to use /usr/bin/libtool 
--mode=execute. This way make, make install works from inside the IDE.
- CTags integration works well, jumping to macro definitions is a matter 
of two clicks.
- Then I successfully installed a breakpoint in main.cc, and runned 
LilyPond step by step, having the variable values and so displayed in 
the IDE. Great!
- Also found that KDevelop supports syntax coloring for Scheme and 
LilyPond as well.


Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: development on windows

2009-06-16 Thread Bertalan Fodor (LilyPondTool)

Jonathan Kulp wrote:

Bertalan Fodor (LilyPondTool) wrote:

Jonathan, only one issue:

- If a command is not found (like typing 'asdf' in the terminal 
window), some python script is telling errors. Is that intentional?




Can you post the terminal output from this?  The only message I see 
when I do this is as follows:


j...@bashtop:~/Desktop$ asdf
bash: asdf: command not found

Hm. Now the same for me...


This all sounds great.  I don't know what KDevelop is, though.  Is it 
something normally used in the KDE desktop?
KDevelop is a C/C++ IDE for Linux. After a 110MB download, it works on 
LilyBuntu as well. There is a Gnome IDE as well called Anjuta, but that 
doesn't seem so active.




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: development on windows

2009-06-15 Thread Bertalan Fodor (LilyPondTool)

Yes, that was a good idea. Now I'm gonna try this thing out on my Eee Pc. :)

Jonathan Kulp wrote:

Bertalan Fodor wrote:
Now I'm running lilybuntu in Sun VirtualBox from my pendrive. 
Successfully

built LilyPond, now I start playing with kdevelop.

Thanks for the fun.

Bert



Cool!  Thanks for testing, Bert.  Did you get the Guest Additions 
installed successfully?


Jon






___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: development on windows

2009-06-11 Thread Bertalan Fodor (LilyPondTool)






Tim, have you used VMware before?  This should allow you to
compile LilyPond inside a virtual machine.  I'm not certain what
the best way is to transfer the iso from Jonathan to you, though.



The goal of this iso to make it usable on a virtualization tool. The 
open source Sun VirtualBox can for example mount this as the virtual 
hard disk.
Once it's ready maybe I can create a torrent?  I've never done that 
before but it's probably the best way to transfer it.  It'll take a 
while.  
I can also give you FTP access to one of the servers run by me where you 
could upload it. That would be the easiest.


Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: development on windows

2009-06-05 Thread Bertalan Fodor (LilyPondTool)



- does anybody feel like making cygwin packages for the missing
  software?
  
Well, for some time I used to be the cygwin maintainer of lilypond. Was 
quite nightmare.

- does anybody have VMware (commercial version) and feel like
  making a small Linux installation which has all the required
  software?  Potential contributors would be able to run this
  in the free VMware version.
  

Why VMware? There are free alternatives, like MS Virtual PC, Sun VirtualBox.



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: development on windows

2009-06-05 Thread Bertalan Fodor (LilyPondTool)
VirtualBox is Open Source and runs on Linux hosts, so I would recommend 
this.


Creating an OS that can be used is a matter of creating a disk image.
One approach is to install ubuntu on the virtual machine, then install 
the additional tools, and share the resulting virtual disk.


Bert

Graham Percival wrote:

On Fri, Jun 05, 2009 at 12:26:41PM +0200, Bertalan Fodor (LilyPondTool) wrote:
  

- does anybody have VMware (commercial version) and feel like
  making a small Linux installation which has all the required
  software?  Potential contributors would be able to run this
  in the free VMware version.
  
  

Why VMware? There are free alternatives, like MS Virtual PC, Sun VirtualBox.



Never heard of them, but then again, I haven't looked at
virtualization since about 10 years ago (when I was trying to run
the old Ultima computer games on Linux).

If you're familiar with these, which would you recommend?  And can
we create the OS and run the OS with the free versions?

Cheers,
- Graham

  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: development on windows

2009-06-05 Thread Bertalan Fodor (LilyPondTool)

Jonathan Kulp wrote:

Bertalan Fodor (LilyPondTool) wrote:
VirtualBox is Open Source and runs on Linux hosts, so I would 
recommend this.


Creating an OS that can be used is a matter of creating a disk image.
One approach is to install ubuntu on the virtual machine, then 
install the additional tools, and share the resulting virtual disk.




Can't all of the tools be installed from inside the virtual machine?

Yes, that was my proposal as well.




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: development on windows

2009-06-05 Thread Bertalan Fodor (LilyPondTool)


BTW, having said all of this, I actually have an .iso of my own remix 
of xubuntu that has all of the Lilypond build tools installed already. 
It's kind of big, about 1.1GB, so it either has to go on a DVD or it 
can be used as an .iso to install it in a virtual machine. I used a 
tool called remastersys to create it.

Great - it seems we're almost done.



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: development on windows

2009-06-05 Thread Bertalan Fodor (LilyPondTool)
As we are looking for windows-experienced developers I really think that 
the ubuntu way would be better, it is easier for us windowsers.




If you guys think it would be useful then I'll have a go at it. I 
think I can remaster xubuntu with all the Lilypond build tools and get 
it under 700MB to fit on a CD. I would go with Debian but the tool 
remastersys is specifically made for doing Ubuntu remixes and I'm  
not sure it would work with straight Debian.


I'm not sure if I can build it in such a way as to include the git 
source files. Normally that's the sort of thing in an individual 
user's /home directory and would be left out of the remix. When 
someone installs from one of these remixes it works the same way as 
with regular Ubuntu, they create user accounts at the time of 
installation. I feel that if I can get it under 700 megs with all of 
the build tools and with the git program installed, then just about 
any user can open a terminal and copy-paste the git commands you put 
together in the CG to grab the source code. I've copy/pasted from CG 
several times myself and it works perfectly.


Jon





___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Using .ily for included lilypond files

2009-05-25 Thread Bertalan Fodor (LilyPondTool)
It's not a problem for me. As you can see, I always try to catch up with 
LilyPond. That's why LilyPondTool is only released along with stable 
LilyPond versions.
I'm only trying to help measuring the weight of a change: it's not just 
a matter of changing convert-ly.


Bert


Carl D. Sorensen wrote:


On 5/22/09 7:25 AM, Bertalan Fodor (LilyPondTool)
lilypondt...@organum.hu wrote:

  


By the way, who's offering to spend the 5-20 hours required to
implement such changes to the parser?  (whatever we end up
deciding)
 
  

And also in the LilyPondTool parser? ;)



Bert,

As mucn as I like LilyPondTool, it seems to me that we can't refuse to make
changes to LilyPond just because it would require changes to LilyPondTool.


Carl


  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Using .ily for included lilypond files

2009-05-18 Thread Bertalan Fodor (LilyPondTool)

Just wondering.

Is the fact, that a change like this breaks existing editor support for 
LilyPond, considered at all?




Graham Percival wrote:

In the large DOC: Makefile thread that nobody new is going to
read, there was a proposal to use .ily to indicate setup
lilypond files.

I quite like this suggestion, so I'm asking somebody to take the
next step: integrate this with lilypond.

- change (almost) everything in ly/ to .ily.
- update the internal loading included files stuff.
- update the docs (i.e. \include gregorian.ly should now
  just be gregorian.ily)
- make a convert-ly rule.  Any of the built-in files (i.e.
  accordian.ly) should be changed automatically.  Since we
  still support including .ly, we don't need to print out
  a warning for other files.
- add a NEWS item.

Cheers,
- Graham


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

  





___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Using .ily for included lilypond files

2009-05-18 Thread Bertalan Fodor (LilyPondTool)
That's fine for me. I will notify you if I figured out what could be 
broken.


Graham Percival wrote:

On Mon, May 18, 2009 at 01:13:06PM +0200, Bertalan Fodor (LilyPondTool) wrote:
  
Is the fact, that a change like this breaks existing editor support for  
LilyPond, considered at all?



If you're asking in the past tense, then no, it was never
considered, because we didn't imagine it would break anything.

If you're asking in the future tense, then yes, we're quite
willing to consider it, although not unless somebody specifies
what it would break.

Cheers,
- Graham

  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: lilypond wikipedia

2009-04-21 Thread Bertalan Fodor (LilyPondTool)
Wikipedia won't allow lilypond due to security and performance reasons 
as far as I know.

I and other have already created quite useful mediawiki plugins.

Bert

Francisco Vila wrote:

2009/4/21 Helder Geovane Gomes de Lima heldergeov...@gmail.com:
  

Hi everybody!

I would like to know if there is any progress about this topic.
How is it going? (is it going?)



Are you talking about

- the LilyPond article on Wikipedia
- the LilyPond plugin for mediawiki

There was an interesting project in http://draft.wikilily.org but it
is currently unreachable.

  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Not R5RS, but GUILE

2008-12-18 Thread Bertalan Fodor (LilyPondTool)

Unfortunately +1 is neither an R5RS identifier.

identifier: (letter|special_initial) subsequent* | + | - | ...
special_initial: ! | $ | % |  | * | / | : |  | = |  | ? | ^ | _ | ~

In general, a sequence of letters, digits, and “extended alphabetic 
characters” is an identifier when it begins with a character that cannot 
begin a representation of a number object. In addition, +, -, and ... 
are identifiers




Han-Wen Nienhuys wrote:

Can you also voice this concern on the guile devel list?

I think the reason the function exists is that is slightly more
efficient.  Feel free to define a +1 function and change lily to use
it.

On Thu, Dec 18, 2008 at 11:21 AM, Bertalan Fodor (LilyPondTool)
lilypondt...@organum.hu wrote:
  

Hi,

I found that many places you use the procedure 1+. Besides that how
ridiculous I think is to have a function that spares a space (1+ instead
of (+ 1, the real concern is that it doesn't conform to R5RS. R5RS doesn't
allow identifiers to start with a number.
I know that GUILE allows it (I wonder why).
But my Scheme parser (Julie) is stricter then Guile in this sense, so it
won't be able to parse LilyPond-supported SCM files. I want to parse them.
Could you change the (1+ calls to (+ 1?

It's just a question about your opinion.

Bert



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel






  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: why is Dutch the default language for note-entry?

2008-12-16 Thread Bertalan Fodor (LilyPondTool)

No it, can't be. Think of Bb H in german etc.

Graham Percival wrote:

On Tue, Dec 16, 2008 at 02:48:43PM +0100, Jan Nieuwenhuizen wrote:
  

Op dinsdag 16-12-2008 om 13:07 uur [tijdzone +0100], schreef Hans Aberg:


You need a font, though, and perhaps a special key map, too.
  

Now that's a fun idea.  It even works!



Could this be an independant language?  I don't see why it's
stuffed into ly/nederlands.ly (other than this being the default).
Could it be ly/utf8.ly instead?

Cheers,
- Graham


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: why is Dutch the default language for note-entry?

2008-12-16 Thread Bertalan Fodor (LilyPondTool)

But then why not use a font like this:

http://www.icogitate.com/~ergosum/fonts/musicfonts.htm



Jan Nieuwenhuizen wrote:

Op dinsdag 16-12-2008 om 15:58 uur [tijdzone +0100], schreef Hans Aberg:
  

On 16 Dec 2008, at 14:48, Jan Nieuwenhuizen wrote:



You might call for using Unicode:
 r16 g♯( a g♯ f♯♯ g♯ c♯ e d♯ c♯ d♯ c♯ b♯ c♯ e
g♯)

You need a font, though, and perhaps a special key map, too.


Now that's a fun idea.  It even works!
  

Thank you. I think it increases readability, too.



If you want readabilty, why not have

   ♯g( a ♯g ♯♯f

etc? For typeability, ymmv though.

Jan.

  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: LP's staff lines are thinner than Henle...

2008-12-15 Thread Bertalan Fodor (LilyPondTool)
Years ago I made a 4800dpi film in a printshop. It was surprisingly 
different than a 600dpi laser-print.
So to make a fair comparison one should print pages with the same 
professional technology and see.


Bert

Carl D. Sorensen wrote:


On 12/14/08 11:45 PM, Mark Polesky markpole...@yahoo.com wrote:

  

LM 1.1 Background - Engraving states:

our staff lines... are also
much thicker than lines in the
computer edition.

In both the HTML and PDF versions, LilyPond's staff lines are
in fact the thinnest when compared. I've included a png to
make this easier to see. In the HTML version, the distance
from top to bottom staff line of the LP example was smaller
than the other 2, but even when scaling the LP example to
match the other 2 (as I've done here) the LP lines are still
the thinnest. The PDF example is magnified about 300 times.

Can someone explain this?

- Mark



  



The staff lines on your other examples have been broadened by anti-aliasing.
The staff line on the LilyPond example have not been, because it's a vector
drawing.  So your comparision is not apt.

I have not viewed the originals to make any judgement of them.

Carl



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

  


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Wanting to do a GUI, looking for BNF, which FM should I be looking for?

2008-12-05 Thread Bertalan Fodor (LilyPondTool)
1. You can't fully parse LilyPond without actually running LilyPond. At 
least you need a Scheme parser.
2. You should use the lexer.ll and parser.yy files for creating you own 
parser.




Danalute wrote:

Willing to download, unroll, and RTFM, just, dont know where to start, a clue
or two would be appreciated.

Does the LY doc package include a specification for the language?  BNF or
whatever?

Kinda need something like that to hope of making a GUI for it.


  





___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Spanish Translation

2008-12-03 Thread Bertalan Fodor (LilyPondTool)

You only need to
- create a messages_es.properties file besides the messages.properties, and
- create a LilyPondTool_es.props file containing the messages from the 
LilyPondTool.props file.

- the LilyPondTool_es.props file shouldn't contain anything but localized 
messages
- the localization files shouldn't contain non-ascii (not even latin1-extended) 
characters. Instead we must use the unicode character code in \u003b format. It can 
be solved by a simple searchreplace or there are tools for this.

After doing this, the LilyPondTool_es.props file must be placed into the 
properties folder of jEdit along with other localization files. Actually jEdit 
can be localized this way: you just override some properties coming from other 
places - most plugins can be translated this way as they use this method for 
localization. For example if you look at Console plugin source, you can 
translate the messages from Console.props and put your .props file into the 
properties folder of jEdit.
Unfortunately this method sucks but there is no better way.

The message_es.properties files follows the normal way: it will be 
automatically loaded if JEdit/LilyPondTool is run on a machine with es locale 
set.

Bert


Francisco Vila wrote:

Hello Bertalan, I'd like to translate jEdit + LilyPondTool into
Spanish. You told me that there was a translatable resource file.
Where is it? Would be possible to include the Spanish localization as
standard and make it work automatically in Spanish environments? The
same goes for jEdit, I don't know if you could help me on that.
Thankyou

  




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Why does LilyPond delete the PDF first?

2008-06-11 Thread Bertalan Fodor (LilyPondTool)



LilypondTool works properly with JPedal under windows.  As long as JPedal is 
not the active window, the pdf can be properly written.  If JPedal is the 
active window, then you get a write error on the pdf.
  
Yes, because LilyPondTool has control over JPedal, so it closes the PDF 
when you press the Compile with lilypond button.


Bert


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Doc of 'style ?

2008-03-07 Thread Bertalan Fodor (LilyPondTool)
As I know the stencil callback is unfortunately C code. So the valid 
styles are only present in the C sources.

That's a drawback of the current documentation system.

Bert

Valentin Villenave wrote:

An additional question: are the spanner styles documented anywhere?

When I tried to answer Haipeng on -user, I browsed the Internals
Reference but couldn't find anything else than:


style (symbol):
'line

This setting determines in what style a grob is typeset. Valid
choices depend on the stencil callback reading this property.


So I browsed the source files, trying to get a list of possible
stencil callbacks; I found these in  define-sencil-commands.scm:


(map ly:register-stencil-expression
 '(beam
   bezier-sandwich
   blank
   bracket
   char
   circle
   dashed-line
   dashed-slur
   dot
   draw-line
   embedded-ps
   glyph-string
   named-glyph
   path
   polygon
   repeat-slash
   resetcolor
   round-filled-box
   setcolor
   text
   url-link
   utf-8-string
   white-dot
   white-text
   zigzag-line

   grob-cause
   no-origin
   placebox
   unknown

   delay-stencil-evaluation
   ))

I can't say I have any idea of to use them. I looked in output-ps.scm,
but that didn't really help. Can anyone help me to document it? I
can't wait to see how a bezier-sandwich looks like! :)

Cheers,
Valentin


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

  



--
LilyPondTool is the editor for LilyPond files.
See http://lilypondtool.organum.hu



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Julie: GUILE for Java

2008-03-04 Thread Bertalan Fodor (LilyPondTool)

Hi,

In the last 3 weeks I created the base for an R5RS Scheme interpreter 
written in Java, aimed at GUILE compatibility. It is quite basic yet, 
but I'm not very far from the point where I can start interpreting 
LilyPond input files as they are. Actually module support is what I have 
to implement until that.
I hope you know what that means... syntax checking, autocompletion in 
Scheme parts, Wysiwym display etc.
However, even to correctly parse LilyPond files I must implement 
LilyPond's exported interfaces, that is, Scheme procedures beginning 
with ly:, which are implemented as C++ functions. So definitely I won't 
be enough alone for this project to succeed.
So if you are interested, or think that in the future at some time will 
be interested in helping/contributing, whatever, you can check the 
sources at http://www.sourceforge.net/projects/julie


I think it would be good if I noticed you about it, even if you can't do 
much about this yet :-)


Bert

--
LilyPondTool is the editor for LilyPond files.
See http://lilypondtool.organum.hu



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Strange (buggy) Scheme assignment

2008-01-23 Thread Bertalan Fodor (LilyPondTool)

Hi,

in property-init.ly I found this: aikenHeads = \set shapeNoteStyles = 
##(do re mi fa #f la ti)

That seems to be a vector definition in Scheme: #(do re mi fa #f la ti)
However, it is not a valid Scheme expression, at least according to its 
formal grammar and the online Scheme interpreter, 
http://sisc-scheme.org/sisc-online.php


What is your opinion?

Thanks,

Bert


--
LilyPondTool is the editor for LilyPond files.
See http://lilypondtool.organum.hu



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Developer docs

2008-01-14 Thread Bertalan Fodor (LilyPondTool)

Valentin Villenave wrote:

Hi David, hi everybody.

David's feature request has been officially added as
http://code.google.com/p/lilypond/issues/detail?id=559

I'm both happy and sad to admit this request: I am happy to see that
people like David care about making LilyPond an even better program,
through such documented requests.

And I'm sad because I have to warn you that, honestly, we deeply lack
resources. ... simply developers. 
And I think developer documentation as well. 2 or 3 years ago I tried to 
implement something in the LilyPond codebase. Not to mention I have no 
idea how to debug such a source code, I just couldn't find my way 
through the smob, robust_anythings, Scheme-related C Macros, functions 
like scm_sloppy_assq, and so on. Because I've implemented a Java parser 
for LilyPond (and found that because of the great liberty of the format 
makes it actually impossible to check the grammar without actually 
interpreting everything), now I have a pretty clear understanding of the 
lexer and the parser.
But with other parts of the code I found it very, very hard to read. 
Perhaps because I am a Java developer for almost 10 years and got used 
to javadocs everywhere.
At least: shouldn't we use namespaces? To not mix lexer class (not even 
class, but yacc/flex code!) with engravers and common classes (like Moment)?


Bert




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel