denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] Windows Build 0.8.13 and Menucleaning


From: Jeremiah Benham
Subject: Re: [Denemo-devel] Windows Build 0.8.13 and Menucleaning
Date: Fri, 5 Feb 2010 14:40:51 -0600



On Feb 5, 2010, at 10:46 AM, Jeremiah Benham <address@hidden> wrote:

Ok. I think I will implement this first.

Jeremiah

On Feb 5, 2010, at 3:05 AM, Richard Shann <address@hidden> wrote:

Thinking about this, one thing to do is to write all the callbacks for
this playback console as C-functions that call scheme procedures, e.g.
the Play button
instead of calling ext_midi_playback() as the one on the toolbar does
use a callback function that looks like this

gboolean play_callback (GtkWidget *w, ...) {
call_out_to_guile("(DenemoPlayback)");
return TRUE;
}


So would I have to take playback out of generate_code.c (or whatever it is called). At the moment it generated a scheme d-play that makes calls ext_midi_playback. If I change it to play_callback here it would call DenemoPlayback which calls d-play which would mean it calls itself. Would I have to create a d-play in view.c that calls ext_midi_playback in view.c and take the line out of generate_code then add it manually to view.c?

Jeremiah


And in denemo.scm write e.GOP

(define (DenemoPlayback) (d-Play))

(this will be the wrong syntax:(

The idea is that we can develop the callback actions without
re-compiling, and also that the user can override them thru their own
~/.denemo/actions/denemo.scm

Richard



On Thu, 2010-02-04 at 18:54 +0000, Richard Shann wrote:
On Thu, 2010-02-04 at 10:21 -0600, Jeremiah Benham wrote:

Sure. What code should I be looking at?
Well I guess what we would like is a GtkFrame (hideable by prefs) packed
vertically with the various other ones (console, print preview ...). I
gues it would come high up in the order though: above the button bars
immediately below the main toolbar. (And of course we then remove the
play and stop from the main toolbar). You would need a frame to allow
you to layout the various things you would want.

Inside that would be buttons arranged as you think good - buttons for
Play, Stop, set interval to play, pause (how easy is it to do that?),
then Master volume control, Master tempo control, go back,. - I am not
sure what else - alex made some suggestions on denemo.org
perhaps someone could suggest a good set of controls and how they might
be laid out etc. It is not my strong point:)
Everything should be readily implementable using the commands available
- only Pause gives me pause for thought. Ask if you are not sure if a
command is there (or run DocumentCommand or whatever it is called).

Should be looking at the entry
toolbar? I would assume this can be hidden and displayed like any
other toolbar? Would I use GtkSpinButton

for what? You could have dialogs to pop up to get start and end times,
but most people will want to use the mouse for that. (e.g. set interval
to selection).

or some other kind of widget?
On the looping point would it be another spin button for the measure
well just a checkbox for Loop would be good - it would need to run a
script that set the callback on the end of play to play again unless
stop had been activated, which would require the control to leave the
script - I guess you are handy at this with all those buttons things.

number the loop starts and another for loop end? Is playback
interval
the tempo?

No playback interval is the start time and stop time (si->start_time,
stop_time IIRC). These are actual times (from start of piece) in
seconds.

Actually, talking about it this all seems quite a bit of stuff. Perhaps
just the simplest controls that show off some of the features of the
release.

Richard







_______________________________________________
Denemo-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/denemo-devel



_______________________________________________
Denemo-devel mailing lists
address@hidden
http://lists.gnu.org/mailman/listinfo/denemo-develRogers

reply via email to

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