denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] Midi shortcuts


From: Richard Shann
Subject: Re: [Denemo-devel] Midi shortcuts
Date: Mon, 09 May 2011 10:19:57 +0100

On Sun, 2011-05-08 at 13:13 +0000, Ralf Mattes wrote:
> On Sun, 08 May 2011 11:39:47 +0200, R. Mattes wrote:
> 
> 
> > I guess my general concern is that there is no distinction whatsoever
> > between the C side of denemo and the guile side.
> 
> 
> And to elaborate a bit more: denemo should deal with two types of data  (both
> as parameters and return values): SCM values for all functionality exposed to 
> the scripting layer or C data types for internal code. Nowhere should there be
> string representations  of scheme code. It almost always is a sign of bad 
> design
> if string->scheme or scheme->string shows up in code. But i fear that in 
> denemo 
> this is the result of big missunderstandings. Just one example: why 
> 
>  (eval-string (string-append "(d-SetEnharmonicPosition " (number->string  
> thestep) ")"))
> 
> instead of a simple
> 
>   (d-SetEnharmonicPosition (number->string  thestep))

Actually this is not some big misunderstanding, just idiocy. But it was
undoubtedly triggered by the way I have been doing the interaction with
C - viz. via strings and eval-string.


> 
> 
>  (define Pitchbend::commandUp "(d-CursorRight)")
>  
> Make it
> 
>  (define Pitchbend::commandUp d-CursorRight)
> 
> and then later on 
>  
>  (if  Pitchbend::commandUp (Pichtbend::commandUp))
> 
> etc. I hope it's clear what I'm trying to get at.

Yes - I think I understand the general picture you have painted. There
would be quite a bit of code to re-work in the C (all the stuff getting
scripted commands at runtime, error handling), but we would then be in
good shape then to move on to byte-compiled scheme. As, usual, we lack
the developer-time :(

Thanks a lot for the insights

Richard



> 
>  Cheers, RalfD
> 
> 
> 
>  
> 
> 
> 
> 
> _______________________________________________
> Denemo-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/denemo-devel




reply via email to

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