Comments (3)
That is actually an interesting quirk of standard music notation. See http://musicnotation.org/wp-content/uploads/2013/03/Standard_music_notation_practice.pdf, page 12, paragraph (c).
A whole rest represents one bar of music. It is different from a whole note in that way.
from abcjs.
That "quirk" says indeed that the whole rest fills the entire measure. But IMHO this leads to an ambiguity in ABC. In the case above, we have 4/2 measure; Consequently the whole note duration is z8. On the other z4 cannot be denoted in this case and should be flagged as error.
EASYABC solved the problem as shown in this screen shot. The z8 is placed in the center of the measure (with another symbol). The z4 is rendered as if it were a note ( not in the center of the measure).
abcjs version 1.10 behaves similar. It flags the z8 as undefined duration but the parser delivers a duration of 2.
To sum up: IMHO we should distinguish between the interpretation of ABC and the representation as in the notes. With respect of interpretation of ABC, we should look for best possible compatibility among tools.
Maybe a solution could be to implement "Z1" as a "whole" note with the duration of the measure. See http://abcnotation.com/wiki/abc:standard:v2.1#rests.
It appears to me that "Z" ist not interpreted correctly by abcjs either. It seems that Z1 is handled as z4. But in this case it should be handled similar to "z8" because of M:4/2 and L:1/4. ABCJS draws a whole rest in the center of the measure.
from abcjs.
I think a solution would be to use the special interpretation of a whole rest only when it is the only thing in a bar. That is, restrict the special case to:
|z4|
from abcjs.
Related Issues (20)
- TimingCallbacks clarification/bug? HOT 3
- [Feature Request] Add HTMLElement support for editArea parameter. HOT 4
- Changing Clef on next line. HOT 2
- Tablature plugin: Add support for tin whistle HOT 2
- Cannot click to select barline HOT 2
- `strTranspose` has incorrect type information HOT 1
- Tuplets: playback and/or display wrong if p or r are set to 1 HOT 4
- Smooth note drag HOT 1
- Hi, could you please tell me how to render simplified musical notation? I can render on abc2svg.js, but I donβt know how to handle it on abcjs. Can you help me? HOT 2
- Is there a simple way to color the notes in certain measures (e.g. even measures are black vs. odd measures are red)? HOT 1
- Key signature glyph in bass clef for the first line of a multi-voice tune are in the wrong place HOT 2
- Use of the symbol line s: isn't working HOT 1
- Lyrics Alignment HOT 2
- How can I add guitar tabs? HOT 2
- Connection between SVG elements and the code HOT 2
- Refresh purpose.md for Clarity and Structure HOT 1
- Support for snare buzz/closed roll HOT 1
- How to click lyrics and update them HOT 1
- Dotted quarter with half note
- Absolute drawing of note after initial rendering HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from abcjs.