denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] A Good Idea


From: Richard Shann
Subject: Re: [Denemo-devel] A Good Idea
Date: Thu, 04 Mar 2010 17:28:59 +0000

On Thu, 2010-03-04 at 16:23 +0100, Till Hartmann wrote:
> On 04.03.2010 13:46, Richard Shann wrote:
> > I have had a Good Idea for scrolling while playing back. It occurred to
> > me after playing live MIDI with Denemo's playback and chatting about
> > this with Nils on irc #denemo.
> > It applies to the case where you are displaying several systems (lines)
> > of the music down the screen. At present provided the playhead is in
> > view, it moves along the music and when it gets to the last measure
> > starts scrolling the music a measure at a time (or some such!).
> > What we can do is mimic what happens when you turn a page at the piano,
> > or in the orchestra pit. *BUT* with an extra twist - the page has been
> > cut horizontally betwen the systems, and only the top half, which has
> > already been played is turned. This can happen in advance - when you
> > reach the bottom system - so your eye can move on whenever it likes as
> > you approach the bottom of the page.
> >
> > This is described on denemo.org
> > http://denemo.org/index.php/Midi_Player_Controls
> > in this way:
> > I propose a page turning effect with the novelty that the page is cut
> > between the top two systems. When you reach the bottom system the top
> > system of the next page is drawn at the top (with a break sign at the
> > end of the line). When you reach the top line the rest of that page is
> > drawn. This is like you had an assistant to turn the page for you, with
> > the added benefit that he can turn the top part of the page (which is no
> > longer playing) while you are looking at the last line, and the rest
> > once you have started at the top.
> >
> > I have a script doing Midi thru, which lets you play along with the
> > playback, but it will be better implemented in C
> > Then we can store each midi event in an smf_track_t and ....
> >
> > J. would you like to look at importmidi.c with a view to separating out
> > the file open/new score/new staff stuff from the core function that
> > takes an smf_track and puts the smf_events into a given staff?
> >
> > Richard
> >
> >
> >
> >
> > _______________________________________________
> > Denemo-devel mailing list
> > address@hidden
> > http://lists.gnu.org/mailman/listinfo/denemo-devel
> >    
> This sounds good, but I'm unsure what exactly it is you're describing.
> Basically this sounds like scrolling vertically / knowing what the first 
> system on the next page is.
> I made three quick sketches - I think the third one 
> (denemoplayback3.png) depicts your proposal.
> The gif file (denemoplaybackanim.gif) basically shows vertical scrolling 
> (which is interesting but not the best solution).
> The png file (denemoplayback3.png) shows your 
> next-page-first-system-at-the-top-system. What's important (and I forgot 
> to do that) is to somehow highlight that next-page-system and make clear 
> that it's not part of the current system.

yes that is (quite) important, that is what this bit of my email meant:

> >system of the next page is drawn at the top (with a break sign at the
> > end of the line).

The break sign is some sort of visible indication that the music does
not follow on from the top to the second line: I imagine a heavy zig-zag
line at the left margin of the top line. Though, a little bit in
fantasy, I also thought about showing the page twisted over so it looked
like a page twisted in the middle so the top of the next page was
visible!
Such things are not out of the question with cairo.

Richard

> 
> Till
> 
> P.S.: I actually made another sketch (hence denemoplayback--3--.png) 
> (which I won't attach here) which fixed the first system of next page to 
> the bottom of the window (so, when the last system has been played and - 
> after that - the system of the following page has almost finished 
> playing, the next page would "scroll up" from the bottom of the screen 
> to the top).





reply via email to

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