• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[3.9.11] abc in pro-files is no longer work at all
#1
In version 3.9.7 it was possible to achieve a very good score by making appropriate entries in abc-file section. Unfortunately, these entries (%%scale) only ever worked for exactly one screen resolution.
Code:
%%gchordfont sans-serifBoldItalic 12
%%partsfont serifBold 16
%%partsbox 1
%%vocalfont Helvetica 10
%%wordsfont Times-Roman 14
%%stretchlast 1
%%scale 2.3
K:F
[P:A]

In version 3.9.11 using the same pro-file I can no longer get a usable score at all:
   
  • The flat-b for chords is missing (green marked).
  • Chapter marks („Intro“, „A“) are looking like chord symbols (blue marked)
  • The page size cannot be influenced and is not fully utilized (red marked).
  • Pages break doesn’t work (yellow marked)
  • Removing all appropriate entries (using export-file from Musescore) does not solve the problems!
   
---------------------------------------------------------
13" - Point of View POV_TAB-P1325, Android 4.1.1
13" - Point of View POV_TAB-I1345, Android 5.1.1
Microsoft Surface Pro 4; Windows 10
Phone: Motorola Moto G3, Android 6.0
Reply
#2
Sharing also your source file would be helpful to investigate the issue (or at least a relevant part of it, if you want to avoid copyright issues).
The missing flat is definitely caused by the usage of a font that doesn't contain the 'real' flat symbol Unicode 0x266D, probably because MobileSheets doesn't use the expected font.
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply
#3
(02-20-2025, 09:45 PM)itsme Wrote: Sharing also your source file would be helpful to investigate the issue (or at least a relevant part of it, if you want to avoid copyright issues).

Here are extracts from the source files:
  • pro3_9_7.pro is the in version 3.9.7 fitting file for my surface pro 4
  • pro_original.pro is the version made direct from musescore


Attached Files
.pro   pro3_9_7.pro (Size: 614 bytes / Downloads: 2)
.pro   pro_original.pro (Size: 491 bytes / Downloads: 1)
---------------------------------------------------------
13" - Point of View POV_TAB-P1325, Android 4.1.1
13" - Point of View POV_TAB-I1345, Android 5.1.1
Microsoft Surface Pro 4; Windows 10
Phone: Motorola Moto G3, Android 6.0
Reply
#4
Sorry, I'm a bit limited with testing as I don't want to update my "active" devices due to upcoming gigs, so there's only my normal laptop and my phone for testing current MobileSheets versions.

First of all: it turned out that the ABC implementation of 3.9.7 did not produce the expected results. This was the reason (or one of the reasons) why Mike skipped it and switched to a different ABC library. So please forget thinking about ABC compatibility with 3.9.7. We have to accept that ABC sections may need a rework to be rendered properly by MobileSheets 3.9.11 and later.
I strongly vote for as much compatibility as possible with Sciurius' reference implementation - as the name says, it is intended to be the reference for new ChordPro features. So my tests in case of doubts are comparing Mike's rendering results with those of Sciurius. This is what I did with your scores, see attachments. MobileSheets is not so far away from the reference implementation, but it has open issues that need to be fixed.

What I found so far:
1. missing flat symbols
Using a font with "true flats and sharps" is required. MobileSheets could include a few of those fonts or support ChordPro's font directives or whatever. Mainly a design decision. I would like to be able to use my favorite chord font MuseJazzText which is free and used by MuseScore. Other users might prefer a Times-like font with serifs or a sans-serif font like Helvetica
2. line breaks & page breaks
Being able to change the size of ABC notation sections is required. MobileSheets respects the %%scale 2.3 that it finds in your score. Like in ChordPro, lines that don't fit on one line are split at a measure bar in the middle if possible. Correct so far. But the resulting lines are cropped and disppear. Complete systems shall be moved to the next page instead.
When I create ChordPro+ABC files to convert them to PDF with ChordPro I usually use %%pagescale instead of %%scale. %%pagescale seems not to be supported by MobileSheets yet.
3. Chapter marks (Rehearsal Marks)
Using "parts" [P:A] is usually better than elevated text "^A". %%partsbox 1 activates the common box around rehearsal marks. Support of  %%partsbox seems to be missing in MobileSheets
4. Page width and empty space at the right
Maybe the page width that is used is not correct. Just guessing, the laptop that I have to use for now just has a landscape screen.


Attached Files Thumbnail(s)
       

.pdf   Vibraphon_pro3_9_7_ChordPro_6.070.037.pdf (Size: 299.87 KB / Downloads: 1)
.pdf   Vibraphon_pro_original_ChordPro_6.070_037.pdf (Size: 293.36 KB / Downloads: 0)
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply
#5
Please refer to the documentation for abc2svg when discussing the commands: http://moinejf.free.fr/abcm2ps-doc/index.html

%%scale is only kept for compatibility reasons. I am programmatically leveraging %%pagescale at the moment to deal with scaling the file to account for the screen density of the device. If MobileSheets detects that the user placed %%pagescale at the start, it will multiply that pagescale by the density scaling factor. 

MobileSheets also controls the page sizes - this is necessary to ensure the svg files are rendered to match the size of the screen.

I am going to work on figuring out the font issue. You can use %%gchordfont to provide fonts to abc2svg, but if those fonts aren't available on the operating system, it probably won't work. I'll have to add support for users placing fonts in a specific directory and then trying to dynamically look for fonts in that directory at runtime when rendering the generated svg file. 

abc2svg makes it REALLY difficult to break up the svg file into sections. I had to modify the abc2svg javascript code to generate indicators that I could search for when splitting pages up, and then I have to go through and generate all the SVG files for each page myself, because the library doesn't seem to support that properly. It wants to generate one continuous block of svg data, and it's defined for use with websites far more than what I'm trying to use it for. I'm not sure what's going on with the line breaks with ChordPro files. It's another thing I will have to look into. It honestly feels like I'm now having to learn, modify and maintain multiple product code bases if I'm going to have to dig into abc2svg every time an issue comes up which is not what I wanted.

The abc files I'm testing with expand to use the entire width of the application window. So I'm not sure what's going on there unless you are overriding the page size or the abc page size. That is with standalone abc files though. I just copied the abc block from Vibraphon's file into my own ChordPro file though, and the sheet music takes up the entire application window for me on Windows. So I need to know - are you setting the page size explicitly?

Mike
Reply
#6
Here's what I usually do with MuseScore exports, applied to your pro_original.pro file:
- open it in EasyABC for further editing
  that requires switching from "ABC file" to "Any file" in EasyABC's file selector box
  (the empty line before {end_of_abc} is required)
- removed V: lines
- changed "^A" to [P:A]
- added %%partsbox 1
- removed I:linebreak $
- added line breaks (CRLF) every 4 measures
  (this is often tedious when lyrics or multiple voices are involved, ideas for a convenient workflow are welcome)
In EasyABC it now looks like that:
   

- saved and reopened in ChordPro App
it looks like this:
   
- added %%stretchlast 1
to get this:
   

- saved and reopened in MobileSheets 3.9.12
  I left fullscreen and changed the window size to simulate a portrait screen
   
  pretty good already
- reduced window height to simulate a page break
   
  missing flat characters, last system cut off, as in your report
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply
#7
Here's my ChordPro file for the previous post as an attachment.
and rendered with really big chords in MuseJazzText, applied with a custom config file
   
custom config files are specific for the ChordPro reference implementation, that's not the way MobileSheets works
anyway: I like MuseJazzText for chords


Attached Files
.pro   Vibraphon_Itsme.pro (Size: 488 bytes / Downloads: 0)
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply
#8
It looks like the partbox issue is due to issues with the svg libraries. They are not liking the css styling that is being applied to draw the box. So I'll have to dig into those next.

Mike
Reply
#9
It's going to take a fair amount of work, but I should be able to update the CSS parsing, style classes and rendering to account for the outline the abc2svg library is writing into the SVG file. 

Mike
Reply




Users browsing this thread:
7 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2025 MyBB Group.