lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Getting oriented


From: Redwood (Daniel)
Subject: Re: Getting oriented
Date: Wed, 30 Mar 2016 11:30:59 -0700

Thanks for responding, Han-Wen. Onwards!

-d
> On Mar 30, 2016, at 11:15 AM, Han-Wen Nienhuys <address@hidden> wrote:
> 
> You can call ly_display_scm from within the debugger.
> 
> You can get at the music objects from within the .ly file, eg.
> 
>  #(ly:display obj)
> 
> getting into a REPL is tricky.
> 
> On Wed, Mar 30, 2016 at 6:12 PM, Redwood (Daniel)
> <address@hidden> wrote:
>> [I’m attempting to improve the midi output from the c++ code…]
>> 
>> Still getting oriented. Here’s what I need help with:
>> 
>> 1) getting the guile REPL to start when the midi performer begins, so I can 
>> inspect the music objects (not the engraver objects).
>> I’ve gotten the REPL to start after lilypond begins, but here’s what I’m 
>> currently getting
>> 
>> Parsing...guile> (set-current-module lilypond-module)
>> #<directory (guile-user) b4f36e00>
>> 
>> Then I’m not sure what to do? I try this:
>> 
>> (,locals)
>> standard input:2:2: In expression (unquote locals):
>> standard input:2:2: Unbound variable: unquote
>> ABORT: (unbound-variable)
>> 
>> 2)  I try debugging from within C++
>> 
>> (gdb) b Performance::output
>> Breakpoint 1 at 0x82d6750: file performance.cc, line 72.
>> (gdb) r dant.ly
>> […]
>> Breakpoint 1, Performance::output (this=0x87a74f0, midi_stream=...,
>>    performance_name="") at performance.cc:72
>> (gdb) p *this
>> $1 = {<Music_output> = {<Smob<Music_output>> = {<Smob_core> = {
>>        self_scm_ = 0xb2915d30}, <Smob_base<Music_output>> = {
>>        static smob_tag_ = 14975, static scm_init_ = {static list_ =
>>    0x84c3edc <Smob_base<Scale>::scm_init_>, fun_ = 0x80e12b0
>>     <Smob_base<Music_output>::init()>,
>>          next_ = 0x84bd090 <Smob_base<Paper_outputter>::scm_init_>},
>>        static smob_name_ = "Music_output"}, protection_cons_ = 0x404},
>>    _vptr.Music_output = 0x83cc308 <vtable for Performance+8>,
>>    static type_p_name_ = "ly:music-output?"},
>>  audio_staffs_ = std::vector of length 2, capacity 2 = {0x87a6a18,
>>    0x87a6c88}, audio_elements_ = std::vector of length 18, capacity 32 = {
>>    0x87a6a18, 0x865a798, 0x865a7b0, 0x865a900, 0x865c3b0, 0x865c4b0,
>>    0x865c4f0, 0x865a8e8, 0x87a4838, 0x87a6cf8, 0x87a6c88, 0x865caf0,
>>    0x865cd38, 0x865c910, 0x865c700, 0x865c788, 0x865ce30, 0x865c660}, midi_ =
>>    0x87a4ff0, ports_ = false, header_ = 0x404}
>> 
>> My guess is that most of these raw numbers are actually scheme objects, 
>> which I don’t know how to debug.
>> 
>> Advice would be appreciated.
>> 
>> -d
>> 
>> _______________________________________________
>> lilypond-devel mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/lilypond-devel
> 
> 
> 
> -- 
> Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen




reply via email to

[Prev in Thread] Current Thread [Next in Thread]