bugDenemo - Bugs: bug #33327, DENEMO_OVERRIDE_DURATION needed

 
 

bug #33327: DENEMO_OVERRIDE_DURATION needed

Submitter:  -Deleted Account- <steele>
Submitted:  Tue 17 May 2011 10:44:22 AM UTC
   
 
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Fixed
Privacy:  Public Assigned to:  None
Originator Name:  Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Mon 11 Jan 2016 05:48:41 PM UTC, comment #4: 

The Playback View makes this obsolete

Richard Shann <rshann>
Group administrator
Sun 24 Jul 2011 08:28:09 AM UTC, comment #3: 

I should have said:
I have just implemented DENEMO_OVERRIDE_DURATION for standalone Denemo Directives
This allows Upbeat to have no MIDI duration, so that the music starts straight away.

Richard Shann <rshann>
Group administrator
Wed 06 Jul 2011 04:13:56 PM UTC, comment #2: 

I have just implemented DENEMO_OVERRIDE_DURATION for Denemo Directives. Only tested with 0 so far.
Looking at the CHORD case, I can confirm that it would be a different thing to shorten the sounding part of notes (as opposed to shortening the notes, thereby bringing succeeding music forward), the attempt to do this in the code was failing and is not compiled in.

Richard Shann <rshann>
Group administrator
Tue 17 May 2011 12:04:23 PM UTC, comment #1: 

My recollection was that this would not be easy to implement, which is why I left it out. In fact, the original implementor of the MIDI generation in Denemo wrote code to respond to staccato, dynamics and so on - it was flaky, and, naturally rather rigid (to give them credit, they did allow environment variables to be set to influence it). It is disabled as it caused crashes sometimes.

Since proposing the DENEMO_OVERRIDE_DURATION flag I have thought that it would be better to do any sort of "humanizing" midi output by generating a new score from the old one with durations, volumes, start times etc adjusted to make the MIDI output desired. Support in C would be needed to keep this underlying mechanism out of the user's view, and to let the playback head show on the user's score, not the hidden score. This is written up on denemo.org.
Initial development would be to create a visible score for playback, as this will assist in debugging the script.

Richard Shann <rshann>
Group administrator
Tue 17 May 2011 10:44:22 AM UTC, original submission:  

DENEMO_OVERRIDE_DURATION is needed for various scripts like staccato or the chord-member overrides. (single-voice chord with different duration notes).

The difference to change duration in ticks is that this override should not affect the logic behind. Its purely for playback. Measure calculation, GetDurationInTicks etc. would still show the original value.

I see a problem when it comes to handle this in scripts. Is a relative (%) or absolute (tick) value better? And what if two of these modificators are on one note?
This problem is not Denemo specific but originates already in music notation. Staccato dots combined with legato slurs or tenuto signs... I've seen it all.

I have not yet thought much about the musical methods to handle this but I think it is not unsolvable. But maybe one modifier is not enough.

-Deleted Account- <steele>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by rshann (Posted a comment)
  • -email is unavailable- added by steele (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-01-11 rshann StatusNone Fixed
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code