Patch System-layout tag

11 messages Options
Embed this post
Permalink
Raffaele-3

Patch System-layout tag

Reply Threaded More More options
Print post
Permalink
This is the code I added in exportxml.cpp file at line 2680...
Still some wrong things... I don't know how to recognize properly when  
I'm considering the first measure... The calculation of the right  
margin is wrong...
See the comments...

I put the coordinatesPrinted variable checker in order to implement a  
mechanism to let the user choose whether to export the coordinates or  
not... In this case (And in the case we will put some linking features  
to the XML export code) I suggest to put a dialog to ask the user what  
do he wants to export... Whether

Sorry for my Java like code.. ;)

Hear you soon,
R


                   int currentSystem = NoSystem;

                   if (m->prev() && ((Measure*)m->prev())-
 >lineBreak())  // TODO: MeasureBase
                         currentSystem = NewSystem;
                   else if (!m->prev() || (measureNo > 2 &&  
((Measure*)m->prev())->pageBreak()))    // TODO: MeasureBase
                         currentSystem = NewPage; // It does'nt  
work... How do I understand if I'm in the first measure? Maybe  
(irregularMeasureNo + measureNo) == 2?

                   if (areCoordinatesPrinted() && currentSystem !=  
NoSystem ){ // COORDINATES, exported only if requested

                         PageFormat* pf = score->pageFormat();
                         const double tenths  = 2 * PPI * 10 / 9; //
tenths calculation
                         const double pageHeight  = pf->height() *  
tenths;
                         const double pageWidth  = pf->width() * tenths;
                         const double lm = pf->oddLeftMargin * tenths;
                         const double rm = pf->oddRightMargin * tenths;
                         const double tm = pf->oddTopMargin * tenths;
                         const double bm = pf->oddBottomMargin * tenths;

                         if (currentSystem == NewSystem)
                             xml.stag(QString("print new-system=\"yes
\""));
                         else if (currentSystem == NewPage)
                             xml.stag(QString("print new-page=\"yes
\""));


                         double systemLM = (m->canvasPos().x() *  
tenths / DPI) - lm; // Left Margin

                         double systemRM = 0; // RightMargin
                         for (Measure* currentMeasure =  
m;currentMeasure; currentMeasure = (Measure*)currentMeasure->next()){
                             if (currentMeasure->pageBreak() ||  
currentMeasure->lineBreak()){
                                 systemRM = pageWidth - rm - ((m-
 >canvasPos().x() + m->bbox().width()) * tenths / DPI );
                                 break;
                                 }
                             } //Wrong!! How to calculate the right  
Margin?

                         double systemTM = 0; // Top Margin
                         if (currentSystem == NewPage)
                             systemTM = (m->canvasPos().y() * tenths /  
DPI) - tm;
                         else if (currentSystem == NewSystem)
                             systemTM = (m->canvasPos().y() - m-
 >prev()->canvasPos().y() - m->prev()->bbox().height()) * tenths / DPI;

                         xml.stag("system-layout");
                         xml.stag("system-margins");
                         xml.tag("left-margin", systemLM);
                         xml.tag("right-margin", systemRM);
                         xml.etag();
                         if (currentSystem == NewPage)
                             xml.tag("top-system-distance", systemTM);
                         else if (currentSystem == NewSystem)
                             xml.tag("system-distance", systemTM);
                         xml.etag();
                         }
                   else {
                         if (currentSystem == NewSystem)
                             xml.tagE("print new-system=\"yes\"");
                         else if (currentSystem == NewPage)
                             xml.tagE("print new-page=\"yes\"");
                         }

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
lasconic

Re: Patch System-layout tag

Reply Threaded More More options
Print post
Permalink
Maybe you can provide a true patch file ?
http://en.wikipedia.org/wiki/Patch_(Unix)
If you use tortoise SVN. Right click -> Tortoise-> Create a patch

2009/5/7 Raffaele <[hidden email]>:

> This is the code I added in exportxml.cpp file at line 2680...
> Still some wrong things... I don't know how to recognize properly when
> I'm considering the first measure... The calculation of the right
> margin is wrong...
> See the comments...
>
> I put the coordinatesPrinted variable checker in order to implement a
> mechanism to let the user choose whether to export the coordinates or
> not... In this case (And in the case we will put some linking features
> to the XML export code) I suggest to put a dialog to ask the user what
> do he wants to export... Whether
>
> Sorry for my Java like code.. ;)
>
> Hear you soon,
> R
>
>
>                   int currentSystem = NoSystem;
>
>                   if (m->prev() && ((Measure*)m->prev())-
>  >lineBreak())  // TODO: MeasureBase
>                         currentSystem = NewSystem;
>                   else if (!m->prev() || (measureNo > 2 &&
> ((Measure*)m->prev())->pageBreak()))    // TODO: MeasureBase
>                         currentSystem = NewPage; // It does'nt
> work... How do I understand if I'm in the first measure? Maybe
> (irregularMeasureNo + measureNo) == 2?
>
>                   if (areCoordinatesPrinted() && currentSystem !=
> NoSystem ){ // COORDINATES, exported only if requested
>
>                         PageFormat* pf = score->pageFormat();
>                         const double tenths  = 2 * PPI * 10 / 9; //
> tenths calculation
>                         const double pageHeight  = pf->height() *
> tenths;
>                         const double pageWidth  = pf->width() * tenths;
>                         const double lm = pf->oddLeftMargin * tenths;
>                         const double rm = pf->oddRightMargin * tenths;
>                         const double tm = pf->oddTopMargin * tenths;
>                         const double bm = pf->oddBottomMargin * tenths;
>
>                         if (currentSystem == NewSystem)
>                             xml.stag(QString("print new-system=\"yes
> \""));
>                         else if (currentSystem == NewPage)
>                             xml.stag(QString("print new-page=\"yes
> \""));
>
>
>                         double systemLM = (m->canvasPos().x() *
> tenths / DPI) - lm; // Left Margin
>
>                         double systemRM = 0; // RightMargin
>                         for (Measure* currentMeasure =
> m;currentMeasure; currentMeasure = (Measure*)currentMeasure->next()){
>                             if (currentMeasure->pageBreak() ||
> currentMeasure->lineBreak()){
>                                 systemRM = pageWidth - rm - ((m-
>  >canvasPos().x() + m->bbox().width()) * tenths / DPI );
>                                 break;
>                                 }
>                             } //Wrong!! How to calculate the right
> Margin?
>
>                         double systemTM = 0; // Top Margin
>                         if (currentSystem == NewPage)
>                             systemTM = (m->canvasPos().y() * tenths /
> DPI) - tm;
>                         else if (currentSystem == NewSystem)
>                             systemTM = (m->canvasPos().y() - m-
>  >prev()->canvasPos().y() - m->prev()->bbox().height()) * tenths / DPI;
>
>                         xml.stag("system-layout");
>                         xml.stag("system-margins");
>                         xml.tag("left-margin", systemLM);
>                         xml.tag("right-margin", systemRM);
>                         xml.etag();
>                         if (currentSystem == NewPage)
>                             xml.tag("top-system-distance", systemTM);
>                         else if (currentSystem == NewSystem)
>                             xml.tag("system-distance", systemTM);
>                         xml.etag();
>                         }
>                   else {
>                         if (currentSystem == NewSystem)
>                             xml.tagE("print new-system=\"yes\"");
>                         else if (currentSystem == NewPage)
>                             xml.tagE("print new-page=\"yes\"");
>                         }
>
> ------------------------------------------------------------------------------
> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
> production scanning environment may not be a perfect world - but thanks to
> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
> Series Scanner you'll get full speed at 300 dpi even with all image
> processing features enabled. http://p.sf.net/sfu/kodak-com
> _______________________________________________
> Mscore-developer mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
lasconic

Re: Patch System-layout tag

Reply Threaded More More options
Print post
Permalink
It's for the SVN trunk right ?

2009/5/7 Raffaele <[hidden email]>:

> Sorry... Attached...
>
>
>
>
>
> Il giorno 07/mag/09, alle ore 12:34, Lasconic ha scritto:
>
>> Maybe you can provide a true patch file ?
>> http://en.wikipedia.org/wiki/Patch_(Unix)
>> If you use tortoise SVN. Right click -> Tortoise-> Create a patch
>>
>> 2009/5/7 Raffaele <[hidden email]>:
>>>
>>> This is the code I added in exportxml.cpp file at line 2680...
>>> Still some wrong things... I don't know how to recognize properly when
>>> I'm considering the first measure... The calculation of the right
>>> margin is wrong...
>>> See the comments...
>>>
>>> I put the coordinatesPrinted variable checker in order to implement a
>>> mechanism to let the user choose whether to export the coordinates or
>>> not... In this case (And in the case we will put some linking features
>>> to the XML export code) I suggest to put a dialog to ask the user what
>>> do he wants to export... Whether
>>>
>>> Sorry for my Java like code.. ;)
>>>
>>> Hear you soon,
>>> R
>>>
>>>
>>>                  int currentSystem = NoSystem;
>>>
>>>                  if (m->prev() && ((Measure*)m->prev())-
>>>  >lineBreak())  // TODO: MeasureBase
>>>                        currentSystem = NewSystem;
>>>                  else if (!m->prev() || (measureNo > 2 &&
>>> ((Measure*)m->prev())->pageBreak()))    // TODO: MeasureBase
>>>                        currentSystem = NewPage; // It does'nt
>>> work... How do I understand if I'm in the first measure? Maybe
>>> (irregularMeasureNo + measureNo) == 2?
>>>
>>>                  if (areCoordinatesPrinted() && currentSystem !=
>>> NoSystem ){ // COORDINATES, exported only if requested
>>>
>>>                        PageFormat* pf = score->pageFormat();
>>>                        const double tenths  = 2 * PPI * 10 / 9; //
>>> tenths calculation
>>>                        const double pageHeight  = pf->height() *
>>> tenths;
>>>                        const double pageWidth  = pf->width() * tenths;
>>>                        const double lm = pf->oddLeftMargin * tenths;
>>>                        const double rm = pf->oddRightMargin * tenths;
>>>                        const double tm = pf->oddTopMargin * tenths;
>>>                        const double bm = pf->oddBottomMargin * tenths;
>>>
>>>                        if (currentSystem == NewSystem)
>>>                            xml.stag(QString("print new-system=\"yes
>>> \""));
>>>                        else if (currentSystem == NewPage)
>>>                            xml.stag(QString("print new-page=\"yes
>>> \""));
>>>
>>>
>>>                        double systemLM = (m->canvasPos().x() *
>>> tenths / DPI) - lm; // Left Margin
>>>
>>>                        double systemRM = 0; // RightMargin
>>>                        for (Measure* currentMeasure =
>>> m;currentMeasure; currentMeasure = (Measure*)currentMeasure->next()){
>>>                            if (currentMeasure->pageBreak() ||
>>> currentMeasure->lineBreak()){
>>>                                systemRM = pageWidth - rm - ((m-
>>>  >canvasPos().x() + m->bbox().width()) * tenths / DPI );
>>>                                break;
>>>                                }
>>>                            } //Wrong!! How to calculate the right
>>> Margin?
>>>
>>>                        double systemTM = 0; // Top Margin
>>>                        if (currentSystem == NewPage)
>>>                            systemTM = (m->canvasPos().y() * tenths /
>>> DPI) - tm;
>>>                        else if (currentSystem == NewSystem)
>>>                            systemTM = (m->canvasPos().y() - m-
>>>  >prev()->canvasPos().y() - m->prev()->bbox().height()) * tenths / DPI;
>>>
>>>                        xml.stag("system-layout");
>>>                        xml.stag("system-margins");
>>>                        xml.tag("left-margin", systemLM);
>>>                        xml.tag("right-margin", systemRM);
>>>                        xml.etag();
>>>                        if (currentSystem == NewPage)
>>>                            xml.tag("top-system-distance", systemTM);
>>>                        else if (currentSystem == NewSystem)
>>>                            xml.tag("system-distance", systemTM);
>>>                        xml.etag();
>>>                        }
>>>                  else {
>>>                        if (currentSystem == NewSystem)
>>>                            xml.tagE("print new-system=\"yes\"");
>>>                        else if (currentSystem == NewPage)
>>>                            xml.tagE("print new-page=\"yes\"");
>>>                        }
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
>>> production scanning environment may not be a perfect world - but thanks
>>> to
>>> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK
>>> i700
>>> Series Scanner you'll get full speed at 300 dpi even with all image
>>> processing features enabled. http://p.sf.net/sfu/kodak-com
>>> _______________________________________________
>>> Mscore-developer mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
>> production scanning environment may not be a perfect world - but thanks to
>> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK
>> i700
>> Series Scanner you'll get full speed at 300 dpi even with all image
>> processing features enabled. http://p.sf.net/sfu/kodak-com
>> _______________________________________________
>> Mscore-developer mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>
>
>

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
lasconic

Re: Patch System-layout tag

Reply Threaded More More options
Print post
Permalink
exportxml.cpp has changed in r1804 and r1807.
Can you provide a patch on current trunk instead of r1800? Sorry ...

Regarding the code, if coordinates are compatible with musicXML DTD,
I'm not sure it makes sense to ask the user if he wants coordinates or
not.
As far as I know Finale and Sibelius don't ask. Any opinion?

Lasconic


2009/5/7 Lasconic <[hidden email]>:

> It's for the SVN trunk right ?
>
> 2009/5/7 Raffaele <[hidden email]>:
>> Sorry... Attached...
>>
>>
>>
>>
>>
>> Il giorno 07/mag/09, alle ore 12:34, Lasconic ha scritto:
>>
>>> Maybe you can provide a true patch file ?
>>> http://en.wikipedia.org/wiki/Patch_(Unix)
>>> If you use tortoise SVN. Right click -> Tortoise-> Create a patch
>>>
>>> 2009/5/7 Raffaele <[hidden email]>:
>>>>
>>>> This is the code I added in exportxml.cpp file at line 2680...
>>>> Still some wrong things... I don't know how to recognize properly when
>>>> I'm considering the first measure... The calculation of the right
>>>> margin is wrong...
>>>> See the comments...
>>>>
>>>> I put the coordinatesPrinted variable checker in order to implement a
>>>> mechanism to let the user choose whether to export the coordinates or
>>>> not... In this case (And in the case we will put some linking features
>>>> to the XML export code) I suggest to put a dialog to ask the user what
>>>> do he wants to export... Whether
>>>>
>>>> Sorry for my Java like code.. ;)
>>>>
>>>> Hear you soon,
>>>> R
>>>>
>>>>
>>>>                  int currentSystem = NoSystem;
>>>>
>>>>                  if (m->prev() && ((Measure*)m->prev())-
>>>>  >lineBreak())  // TODO: MeasureBase
>>>>                        currentSystem = NewSystem;
>>>>                  else if (!m->prev() || (measureNo > 2 &&
>>>> ((Measure*)m->prev())->pageBreak()))    // TODO: MeasureBase
>>>>                        currentSystem = NewPage; // It does'nt
>>>> work... How do I understand if I'm in the first measure? Maybe
>>>> (irregularMeasureNo + measureNo) == 2?
>>>>
>>>>                  if (areCoordinatesPrinted() && currentSystem !=
>>>> NoSystem ){ // COORDINATES, exported only if requested
>>>>
>>>>                        PageFormat* pf = score->pageFormat();
>>>>                        const double tenths  = 2 * PPI * 10 / 9; //
>>>> tenths calculation
>>>>                        const double pageHeight  = pf->height() *
>>>> tenths;
>>>>                        const double pageWidth  = pf->width() * tenths;
>>>>                        const double lm = pf->oddLeftMargin * tenths;
>>>>                        const double rm = pf->oddRightMargin * tenths;
>>>>                        const double tm = pf->oddTopMargin * tenths;
>>>>                        const double bm = pf->oddBottomMargin * tenths;
>>>>
>>>>                        if (currentSystem == NewSystem)
>>>>                            xml.stag(QString("print new-system=\"yes
>>>> \""));
>>>>                        else if (currentSystem == NewPage)
>>>>                            xml.stag(QString("print new-page=\"yes
>>>> \""));
>>>>
>>>>
>>>>                        double systemLM = (m->canvasPos().x() *
>>>> tenths / DPI) - lm; // Left Margin
>>>>
>>>>                        double systemRM = 0; // RightMargin
>>>>                        for (Measure* currentMeasure =
>>>> m;currentMeasure; currentMeasure = (Measure*)currentMeasure->next()){
>>>>                            if (currentMeasure->pageBreak() ||
>>>> currentMeasure->lineBreak()){
>>>>                                systemRM = pageWidth - rm - ((m-
>>>>  >canvasPos().x() + m->bbox().width()) * tenths / DPI );
>>>>                                break;
>>>>                                }
>>>>                            } //Wrong!! How to calculate the right
>>>> Margin?
>>>>
>>>>                        double systemTM = 0; // Top Margin
>>>>                        if (currentSystem == NewPage)
>>>>                            systemTM = (m->canvasPos().y() * tenths /
>>>> DPI) - tm;
>>>>                        else if (currentSystem == NewSystem)
>>>>                            systemTM = (m->canvasPos().y() - m-
>>>>  >prev()->canvasPos().y() - m->prev()->bbox().height()) * tenths / DPI;
>>>>
>>>>                        xml.stag("system-layout");
>>>>                        xml.stag("system-margins");
>>>>                        xml.tag("left-margin", systemLM);
>>>>                        xml.tag("right-margin", systemRM);
>>>>                        xml.etag();
>>>>                        if (currentSystem == NewPage)
>>>>                            xml.tag("top-system-distance", systemTM);
>>>>                        else if (currentSystem == NewSystem)
>>>>                            xml.tag("system-distance", systemTM);
>>>>                        xml.etag();
>>>>                        }
>>>>                  else {
>>>>                        if (currentSystem == NewSystem)
>>>>                            xml.tagE("print new-system=\"yes\"");
>>>>                        else if (currentSystem == NewPage)
>>>>                            xml.tagE("print new-page=\"yes\"");
>>>>                        }
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
>>>> production scanning environment may not be a perfect world - but thanks
>>>> to
>>>> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK
>>>> i700
>>>> Series Scanner you'll get full speed at 300 dpi even with all image
>>>> processing features enabled. http://p.sf.net/sfu/kodak-com
>>>> _______________________________________________
>>>> Mscore-developer mailing list
>>>> [hidden email]
>>>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
>>> production scanning environment may not be a perfect world - but thanks to
>>> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK
>>> i700
>>> Series Scanner you'll get full speed at 300 dpi even with all image
>>> processing features enabled. http://p.sf.net/sfu/kodak-com
>>> _______________________________________________
>>> Mscore-developer mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>>
>>
>>
>

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Raffaele-3

Re: Patch System-layout tag

Reply Threaded More More options
Print post
Permalink
In reply to this post by lasconic
Yes...
https://mscore.svn.sourceforge.net/svnroot/mscore/trunk/mscore



Il giorno 07/mag/09, alle ore 12:51, Lasconic ha scritto:

> It's for the SVN trunk right ?
>
> 2009/5/7 Raffaele <[hidden email]>:
>> Sorry... Attached...
>>
>>
>>
>>
>>
>> Il giorno 07/mag/09, alle ore 12:34, Lasconic ha scritto:
>>
>>> Maybe you can provide a true patch file ?
>>> http://en.wikipedia.org/wiki/Patch_(Unix)
>>> If you use tortoise SVN. Right click -> Tortoise-> Create a patch
>>>
>>> 2009/5/7 Raffaele <[hidden email]>:
>>>>
>>>> This is the code I added in exportxml.cpp file at line 2680...
>>>> Still some wrong things... I don't know how to recognize properly  
>>>> when
>>>> I'm considering the first measure... The calculation of the right
>>>> margin is wrong...
>>>> See the comments...
>>>>
>>>> I put the coordinatesPrinted variable checker in order to  
>>>> implement a
>>>> mechanism to let the user choose whether to export the  
>>>> coordinates or
>>>> not... In this case (And in the case we will put some linking  
>>>> features
>>>> to the XML export code) I suggest to put a dialog to ask the user  
>>>> what
>>>> do he wants to export... Whether
>>>>
>>>> Sorry for my Java like code.. ;)
>>>>
>>>> Hear you soon,
>>>> R
>>>>
>>>> [...]


------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
lasconic

Re: Patch System-layout tag

Reply Threaded More More options
Print post
Permalink
In reply to this post by lasconic
I tried your patch. The patch is for revision 1800. Please update to
trunk. Current revision is 1810 now.
I apply your patch "manually" by copy and paste.
Some things are missing I guess. NoSystem, NewSystem etc ... are not
declared so I can't compile.

Regarding the algorithm itself, you relies on measure->linebreak() and
measure->pageBreak().
I'm not sure it's ok. As you can see on the demo score, between line 3
and 4 or measure 12 and 13, there is no line break sign but the line
breaks.
Previous implementation for new-system and new-page exports these tags
only when the user has forced the line break. (if you export the demo
score you'll see only 3 new system in the result XML)
Hope you see my point ? The only other way I can think about is
comparing the canvas position to know if the line really breaks.

Regarding debugging, if you need it. It works with gdb as command line.

2009/5/7 Raffaele <[hidden email]>:

> OK... I'm sorry...
> We can export the coordinates in any case... I changed the code...
>
> Bye,
> R
>
>
>
>
> Il giorno 07/mag/09, alle ore 12:56, Lasconic ha scritto:
>
>> exportxml.cpp has changed in r1804 and r1807.
>> Can you provide a patch on current trunk instead of r1800? Sorry ...
>>
>> Regarding the code, if coordinates are compatible with musicXML DTD,
>> I'm not sure it makes sense to ask the user if he wants coordinates or
>> not.
>> As far as I know Finale and Sibelius don't ask. Any opinion?
>>
>> Lasconic
>>
>>
>> 2009/5/7 Lasconic <[hidden email]>:
>>>
>>> It's for the SVN trunk right ?
>>>
>>> 2009/5/7 Raffaele <[hidden email]>:
>>>>
>>>> Sorry... Attached...
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Il giorno 07/mag/09, alle ore 12:34, Lasconic ha scritto:
>>>>
>>>>> Maybe you can provide a true patch file ?
>>>>> http://en.wikipedia.org/wiki/Patch_(Unix)
>>>>> If you use tortoise SVN. Right click -> Tortoise-> Create a patch
>>>>>
>>>>> 2009/5/7 Raffaele <[hidden email]>:
>>>>>>
>>>>>> This is the code I added in exportxml.cpp file at line 2680...
>>>>>> Still some wrong things... I don't know how to recognize properly when
>>>>>> I'm considering the first measure... The calculation of the right
>>>>>> margin is wrong...
>>>>>> See the comments...
>>>>>>
>>>>>> I put the coordinatesPrinted variable checker in order to implement a
>>>>>> mechanism to let the user choose whether to export the coordinates or
>>>>>> not... In this case (And in the case we will put some linking features
>>>>>> to the XML export code) I suggest to put a dialog to ask the user what
>>>>>> do he wants to export... Whether
>>>>>>
>>>>>> Sorry for my Java like code.. ;)
>>>>>>
>>>>>> Hear you soon,
>>>>>> R
>>>>>>
>>>>>>
>>>>>>                 int currentSystem = NoSystem;
>>>>>>
>>>>>>                 if (m->prev() && ((Measure*)m->prev())-
>>>>>>  >lineBreak())  // TODO: MeasureBase
>>>>>>                       currentSystem = NewSystem;
>>>>>>                 else if (!m->prev() || (measureNo > 2 &&
>>>>>> ((Measure*)m->prev())->pageBreak()))    // TODO: MeasureBase
>>>>>>                       currentSystem = NewPage; // It does'nt
>>>>>> work... How do I understand if I'm in the first measure? Maybe
>>>>>> (irregularMeasureNo + measureNo) == 2?
>>>>>>
>>>>>>                 if (areCoordinatesPrinted() && currentSystem !=
>>>>>> NoSystem ){ // COORDINATES, exported only if requested
>>>>>>
>>>>>>                       PageFormat* pf = score->pageFormat();
>>>>>>                       const double tenths  = 2 * PPI * 10 / 9; //
>>>>>> tenths calculation
>>>>>>                       const double pageHeight  = pf->height() *
>>>>>> tenths;
>>>>>>                       const double pageWidth  = pf->width() * tenths;
>>>>>>                       const double lm = pf->oddLeftMargin * tenths;
>>>>>>                       const double rm = pf->oddRightMargin * tenths;
>>>>>>                       const double tm = pf->oddTopMargin * tenths;
>>>>>>                       const double bm = pf->oddBottomMargin * tenths;
>>>>>>
>>>>>>                       if (currentSystem == NewSystem)
>>>>>>                           xml.stag(QString("print new-system=\"yes
>>>>>> \""));
>>>>>>                       else if (currentSystem == NewPage)
>>>>>>                           xml.stag(QString("print new-page=\"yes
>>>>>> \""));
>>>>>>
>>>>>>
>>>>>>                       double systemLM = (m->canvasPos().x() *
>>>>>> tenths / DPI) - lm; // Left Margin
>>>>>>
>>>>>>                       double systemRM = 0; // RightMargin
>>>>>>                       for (Measure* currentMeasure =
>>>>>> m;currentMeasure; currentMeasure = (Measure*)currentMeasure->next()){
>>>>>>                           if (currentMeasure->pageBreak() ||
>>>>>> currentMeasure->lineBreak()){
>>>>>>                               systemRM = pageWidth - rm - ((m-
>>>>>>  >canvasPos().x() + m->bbox().width()) * tenths / DPI );
>>>>>>                               break;
>>>>>>                               }
>>>>>>                           } //Wrong!! How to calculate the right
>>>>>> Margin?
>>>>>>
>>>>>>                       double systemTM = 0; // Top Margin
>>>>>>                       if (currentSystem == NewPage)
>>>>>>                           systemTM = (m->canvasPos().y() * tenths /
>>>>>> DPI) - tm;
>>>>>>                       else if (currentSystem == NewSystem)
>>>>>>                           systemTM = (m->canvasPos().y() - m-
>>>>>>  >prev()->canvasPos().y() - m->prev()->bbox().height()) * tenths /
>>>>>> DPI;
>>>>>>
>>>>>>                       xml.stag("system-layout");
>>>>>>                       xml.stag("system-margins");
>>>>>>                       xml.tag("left-margin", systemLM);
>>>>>>                       xml.tag("right-margin", systemRM);
>>>>>>                       xml.etag();
>>>>>>                       if (currentSystem == NewPage)
>>>>>>                           xml.tag("top-system-distance", systemTM);
>>>>>>                       else if (currentSystem == NewSystem)
>>>>>>                           xml.tag("system-distance", systemTM);
>>>>>>                       xml.etag();
>>>>>>                       }
>>>>>>                 else {
>>>>>>                       if (currentSystem == NewSystem)
>>>>>>                           xml.tagE("print new-system=\"yes\"");
>>>>>>                       else if (currentSystem == NewPage)
>>>>>>                           xml.tagE("print new-page=\"yes\"");
>>>>>>                       }
>>>>>>
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances!
>>>>>> Your
>>>>>> production scanning environment may not be a perfect world - but
>>>>>> thanks
>>>>>> to
>>>>>> Kodak, there's a perfect scanner to get the job done! With the NEW
>>>>>> KODAK
>>>>>> i700
>>>>>> Series Scanner you'll get full speed at 300 dpi even with all image
>>>>>> processing features enabled. http://p.sf.net/sfu/kodak-com
>>>>>> _______________________________________________
>>>>>> Mscore-developer mailing list
>>>>>> [hidden email]
>>>>>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances!
>>>>> Your
>>>>> production scanning environment may not be a perfect world - but thanks
>>>>> to
>>>>> Kodak, there's a perfect scanner to get the job done! With the NEW
>>>>> KODAK
>>>>> i700
>>>>> Series Scanner you'll get full speed at 300 dpi even with all image
>>>>> processing features enabled. http://p.sf.net/sfu/kodak-com
>>>>> _______________________________________________
>>>>> Mscore-developer mailing list
>>>>> [hidden email]
>>>>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>>>>
>>>>
>>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
>> production scanning environment may not be a perfect world - but thanks to
>> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK
>> i700
>> Series Scanner you'll get full speed at 300 dpi even with all image
>> processing features enabled. http://p.sf.net/sfu/kodak-com
>> _______________________________________________
>> Mscore-developer mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>
>
>

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
lasconic

Re: Patch System-layout tag

Reply Threaded More More options
Print post
Permalink
Hi,
No hurry. Open source means you have the time too.
I tried your patch. It compiled smoothly.
I tried to export the demo score and musescore crashed :)
For what I see
 - Crash occurs in the right margin part.
 - the </print> element is not at the good place.
 - The format of the numbers are not good I have some things like :
<right-margin>1.7053e-13</right-margin>


You understand that I can't put it in the repository as it...
Can you tell us how you test your changes ? Do you try to open the
resulting musicXML with a specific program ?

Regarding debugging I can't help. I don't use gdb. I know that you can
use printf statement if you compile musescore with -mconsole.
Check mscore/mscore/CMakeList.txt for mconsole.

Lasconic

2009/5/8 Raffaele <[hidden email]>:

> Hi Lasconic...
> Sorry for the latency... Here is the last patch. I use now the coordinates
> of the measures to calculate the newsystem and newpage conditions...
> There's still the problem of the first measure and how to calculate the
> right margin of the system.
>
> Another question... Is there a particular setting to enable the -g option of
> g++ in the compilation? My executable seems to miss the symbols for the
> dubugger...
>
> Thank you,
> Raffaele
>
>
>
> Il giorno 07/mag/09, alle ore 14:11, Lasconic ha scritto:
>
>> I tried your patch. The patch is for revision 1800. Please update to
>> trunk. Current revision is 1810 now.
>> I apply your patch "manually" by copy and paste.
>> Some things are missing I guess. NoSystem, NewSystem etc ... are not
>> declared so I can't compile.
>>
>> Regarding the algorithm itself, you relies on measure->linebreak() and
>> measure->pageBreak().
>> I'm not sure it's ok. As you can see on the demo score, between line 3
>> and 4 or measure 12 and 13, there is no line break sign but the line
>> breaks.
>> Previous implementation for new-system and new-page exports these tags
>> only when the user has forced the line break. (if you export the demo
>> score you'll see only 3 new system in the result XML)
>> Hope you see my point ? The only other way I can think about is
>> comparing the canvas position to know if the line really breaks.
>>
>> Regarding debugging, if you need it. It works with gdb as command line.
>>
>> 2009/5/7 Raffaele <[hidden email]>:
>>>
>>> OK... I'm sorry...
>>> We can export the coordinates in any case... I changed the code...
>>>
>>> Bye,
>>> R
>>>
>>>
>>>
>>>
>>> Il giorno 07/mag/09, alle ore 12:56, Lasconic ha scritto:
>>>
>>>> exportxml.cpp has changed in r1804 and r1807.
>>>> Can you provide a patch on current trunk instead of r1800? Sorry ...
>>>>
>>>> Regarding the code, if coordinates are compatible with musicXML DTD,
>>>> I'm not sure it makes sense to ask the user if he wants coordinates or
>>>> not.
>>>> As far as I know Finale and Sibelius don't ask. Any opinion?
>>>>
>>>> Lasconic
>>>>
>>>>
>>>> 2009/5/7 Lasconic <[hidden email]>:
>>>>>
>>>>> It's for the SVN trunk right ?
>>>>>
>>>>> 2009/5/7 Raffaele <[hidden email]>:
>>>>>>
>>>>>> Sorry... Attached...
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Il giorno 07/mag/09, alle ore 12:34, Lasconic ha scritto:
>>>>>>
>>>>>>> Maybe you can provide a true patch file ?
>>>>>>> http://en.wikipedia.org/wiki/Patch_(Unix)
>>>>>>> If you use tortoise SVN. Right click -> Tortoise-> Create a patch
>>>>>>>
>>>>>>> 2009/5/7 Raffaele <[hidden email]>:
>>>>>>>>
>>>>>>>> This is the code I added in exportxml.cpp file at line 2680...
>>>>>>>> Still some wrong things... I don't know how to recognize properly
>>>>>>>> when
>>>>>>>> I'm considering the first measure... The calculation of the right
>>>>>>>> margin is wrong...
>>>>>>>> See the comments...
>>>>>>>>
>>>>>>>> I put the coordinatesPrinted variable checker in order to implement
>>>>>>>> a
>>>>>>>> mechanism to let the user choose whether to export the coordinates
>>>>>>>> or
>>>>>>>> not... In this case (And in the case we will put some linking
>>>>>>>> features
>>>>>>>> to the XML export code) I suggest to put a dialog to ask the user
>>>>>>>> what
>>>>>>>> do he wants to export... Whether
>>>>>>>>
>>>>>>>> Sorry for my Java like code.. ;)
>>>>>>>>
>>>>>>>> Hear you soon,
>>>>>>>> R
>>>>>>>>
>>>>>>>>
>>>>>>>>                int currentSystem = NoSystem;
>>>>>>>>
>>>>>>>>                if (m->prev() && ((Measure*)m->prev())-
>>>>>>>>  >lineBreak())  // TODO: MeasureBase
>>>>>>>>                      currentSystem = NewSystem;
>>>>>>>>                else if (!m->prev() || (measureNo > 2 &&
>>>>>>>> ((Measure*)m->prev())->pageBreak()))    // TODO: MeasureBase
>>>>>>>>                      currentSystem = NewPage; // It does'nt
>>>>>>>> work... How do I understand if I'm in the first measure? Maybe
>>>>>>>> (irregularMeasureNo + measureNo) == 2?
>>>>>>>>
>>>>>>>>                if (areCoordinatesPrinted() && currentSystem !=
>>>>>>>> NoSystem ){ // COORDINATES, exported only if requested
>>>>>>>>
>>>>>>>>                      PageFormat* pf = score->pageFormat();
>>>>>>>>                      const double tenths  = 2 * PPI * 10 / 9; //
>>>>>>>> tenths calculation
>>>>>>>>                      const double pageHeight  = pf->height() *
>>>>>>>> tenths;
>>>>>>>>                      const double pageWidth  = pf->width() * tenths;
>>>>>>>>                      const double lm = pf->oddLeftMargin * tenths;
>>>>>>>>                      const double rm = pf->oddRightMargin * tenths;
>>>>>>>>                      const double tm = pf->oddTopMargin * tenths;
>>>>>>>>                      const double bm = pf->oddBottomMargin * tenths;
>>>>>>>>
>>>>>>>>                      if (currentSystem == NewSystem)
>>>>>>>>                          xml.stag(QString("print new-system=\"yes
>>>>>>>> \""));
>>>>>>>>                      else if (currentSystem == NewPage)
>>>>>>>>                          xml.stag(QString("print new-page=\"yes
>>>>>>>> \""));
>>>>>>>>
>>>>>>>>
>>>>>>>>                      double systemLM = (m->canvasPos().x() *
>>>>>>>> tenths / DPI) - lm; // Left Margin
>>>>>>>>
>>>>>>>>                      double systemRM = 0; // RightMargin
>>>>>>>>                      for (Measure* currentMeasure =
>>>>>>>> m;currentMeasure; currentMeasure =
>>>>>>>> (Measure*)currentMeasure->next()){
>>>>>>>>                          if (currentMeasure->pageBreak() ||
>>>>>>>> currentMeasure->lineBreak()){
>>>>>>>>                              systemRM = pageWidth - rm - ((m-
>>>>>>>>  >canvasPos().x() + m->bbox().width()) * tenths / DPI );
>>>>>>>>                              break;
>>>>>>>>                              }
>>>>>>>>                          } //Wrong!! How to calculate the right
>>>>>>>> Margin?
>>>>>>>>
>>>>>>>>                      double systemTM = 0; // Top Margin
>>>>>>>>                      if (currentSystem == NewPage)
>>>>>>>>                          systemTM = (m->canvasPos().y() * tenths /
>>>>>>>> DPI) - tm;
>>>>>>>>                      else if (currentSystem == NewSystem)
>>>>>>>>                          systemTM = (m->canvasPos().y() - m-
>>>>>>>>  >prev()->canvasPos().y() - m->prev()->bbox().height()) * tenths /
>>>>>>>> DPI;
>>>>>>>>
>>>>>>>>                      xml.stag("system-layout");
>>>>>>>>                      xml.stag("system-margins");
>>>>>>>>                      xml.tag("left-margin", systemLM);
>>>>>>>>                      xml.tag("right-margin", systemRM);
>>>>>>>>                      xml.etag();
>>>>>>>>                      if (currentSystem == NewPage)
>>>>>>>>                          xml.tag("top-system-distance", systemTM);
>>>>>>>>                      else if (currentSystem == NewSystem)
>>>>>>>>                          xml.tag("system-distance", systemTM);
>>>>>>>>                      xml.etag();
>>>>>>>>                      }
>>>>>>>>                else {
>>>>>>>>                      if (currentSystem == NewSystem)
>>>>>>>>                          xml.tagE("print new-system=\"yes\"");
>>>>>>>>                      else if (currentSystem == NewPage)
>>>>>>>>                          xml.tagE("print new-page=\"yes\"");
>>>>>>>>                      }
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances!
>>>>>>>> Your
>>>>>>>> production scanning environment may not be a perfect world - but
>>>>>>>> thanks
>>>>>>>> to
>>>>>>>> Kodak, there's a perfect scanner to get the job done! With the NEW
>>>>>>>> KODAK
>>>>>>>> i700
>>>>>>>> Series Scanner you'll get full speed at 300 dpi even with all image
>>>>>>>> processing features enabled. http://p.sf.net/sfu/kodak-com
>>>>>>>> _______________________________________________
>>>>>>>> Mscore-developer mailing list
>>>>>>>> [hidden email]
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances!
>>>>>>> Your
>>>>>>> production scanning environment may not be a perfect world - but
>>>>>>> thanks
>>>>>>> to
>>>>>>> Kodak, there's a perfect scanner to get the job done! With the NEW
>>>>>>> KODAK
>>>>>>> i700
>>>>>>> Series Scanner you'll get full speed at 300 dpi even with all image
>>>>>>> processing features enabled. http://p.sf.net/sfu/kodak-com
>>>>>>> _______________________________________________
>>>>>>> Mscore-developer mailing list
>>>>>>> [hidden email]
>>>>>>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
>>>> production scanning environment may not be a perfect world - but thanks
>>>> to
>>>> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK
>>>> i700
>>>> Series Scanner you'll get full speed at 300 dpi even with all image
>>>> processing features enabled. http://p.sf.net/sfu/kodak-com
>>>> _______________________________________________
>>>> Mscore-developer mailing list
>>>> [hidden email]
>>>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>>>
>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
>> production scanning environment may not be a perfect world - but thanks to
>> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK
>> i700
>> Series Scanner you'll get full speed at 300 dpi even with all image
>> processing features enabled. http://p.sf.net/sfu/kodak-com
>> _______________________________________________
>> Mscore-developer mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>
>
>

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Raffaele-3

Re: Patch System-layout tag

Reply Threaded More More options
Print post
Permalink
Hi Lasconic...
I prepared a new patch with the correct calculation for the layout  
values.
The measures widths are as well exported and horizontal and vertical  
spaces are considered without problems.

I answer ...
Il giorno 09/mag/09, alle ore 00:00, Lasconic ha scritto:
> You understand that I can't put it in the repository as it...
For sure....

> Can you tell us how you test your changes ? Do you try to open the
> resulting musicXML with a specific program ?
I tried MusicXML produced with the last patch with a friend's Sibelius  
5.2 . The layout seems perfect...
Something strange happens with slurs but... I don't think the layout  
patch is responsible for that...

I put the patch as attachment...

Hear you soon.
Raffaele

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer

exportxml.patch (18K) Download Attachment
lasconic

Re: Patch System-layout tag

Reply Threaded More More options
Print post
Permalink
Thanks ! I will try it and let you know.
Finale is a better option than Sibelius for musicXML. I try to compare
my changes in musescore export with Finale musicXML export when
possible.

Lasconic

2009/5/15 Raffaele <[hidden email]>:

> Hi Lasconic...
> I prepared a new patch with the correct calculation for the layout values.
> The measures widths are as well exported and horizontal and vertical spaces
> are considered without problems.
>
> I answer ...
> Il giorno 09/mag/09, alle ore 00:00, Lasconic ha scritto:
>>
>> You understand that I can't put it in the repository as it...
>
> For sure....
>
>> Can you tell us how you test your changes ? Do you try to open the
>> resulting musicXML with a specific program ?
>
> I tried MusicXML produced with the last patch with a friend's Sibelius 5.2 .
> The layout seems perfect...
> Something strange happens with slurs but... I don't think the layout patch
> is responsible for that...
>
> I put the patch as attachment...
>
> Hear you soon.
> Raffaele

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
lasconic

Re: Patch System-layout tag

Reply Threaded More More options
Print post
Permalink
Ok :) It looks better. Compilation ok. Musescore exports the demo
score without crashing and I can import the demo in finale.
Several points:
- I took a look to the resulting XML and a finale xml. system left
margin are almost always 0 in finale. I'm not sure the position of the
first measure of a system is the good start point to calculate this.
You get it ?
- In finale the lines are not layouted the same so something is wrong somewhere.

Not related with your patch but while you are at it :) I'm not sure
the paper and margins are good...
Recalculating page width and page height based on <millimeters> and
<tenths> does not give back A4 format I think.

Lasconic




2009/5/15 Lasconic <[hidden email]>:

> Thanks ! I will try it and let you know.
> Finale is a better option than Sibelius for musicXML. I try to compare
> my changes in musescore export with Finale musicXML export when
> possible.
>
> Lasconic
>
> 2009/5/15 Raffaele <[hidden email]>:
>> Hi Lasconic...
>> I prepared a new patch with the correct calculation for the layout values.
>> The measures widths are as well exported and horizontal and vertical spaces
>> are considered without problems.
>>
>> I answer ...
>> Il giorno 09/mag/09, alle ore 00:00, Lasconic ha scritto:
>>>
>>> You understand that I can't put it in the repository as it...
>>
>> For sure....
>>
>>> Can you tell us how you test your changes ? Do you try to open the
>>> resulting musicXML with a specific program ?
>>
>> I tried MusicXML produced with the last patch with a friend's Sibelius 5.2 .
>> The layout seems perfect...
>> Something strange happens with slurs but... I don't think the layout patch
>> is responsible for that...
>>
>> I put the patch as attachment...
>>
>> Hear you soon.
>> Raffaele
>

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Raffaele-3

Re: Patch System-layout tag

Reply Threaded More More options
Print post
Permalink
Il giorno 15/mag/09, alle ore 15:49, Lasconic ha scritto:
> - I took a look to the resulting XML and a finale xml. system left
> margin are almost always 0 in finale. I'm not sure the position of the
> first measure of a system is the good start point to calculate this.
> You get it ?
Yes, I get it but... My system left margin is not taking care of the  
braket(it's exactly 17 tenths large). So do you think I have to refer  
to the braket to get the left margin?

>
> - In finale the lines are not layouted the same so something is  
> wrong somewhere.
I figure out now... It seems that for Finale the first system(measures  
from 1 to 4) width exceeds the available page width... As well as the  
third(measure from 9 to 12)...
For this reason it uses the whole page width for the measure 4 and 12  
and after it puts a line break, because the 10 and 13 have new-system  
= yes....
Maybe the left braket is the key to solve this problem as well? mmm


>
> Not related with your patch but while you are at it :) I'm not sure
> the paper and margins are good...
> Recalculating page width and page height based on <millimeters> and
> <tenths> does not give back A4 format I think.

mmmmmm I'll take a look...

Hear you soon,
Raffaele


>
>
> Lasconic
>
>
>
>
> 2009/5/15 Lasconic <[hidden email]>:
>> Thanks ! I will try it and let you know.
>> Finale is a better option than Sibelius for musicXML. I try to  
>> compare
>> my changes in musescore export with Finale musicXML export when
>> possible.
>>
>> Lasconic
>>
>> 2009/5/15 Raffaele <[hidden email]>:
>>> Hi Lasconic...
>>> I prepared a new patch with the correct calculation for the layout  
>>> values.
>>> The measures widths are as well exported and horizontal and  
>>> vertical spaces
>>> are considered without problems.
>>>
>>> I answer ...
>>> Il giorno 09/mag/09, alle ore 00:00, Lasconic ha scritto:
>>>>
>>>> You understand that I can't put it in the repository as it...
>>>
>>> For sure....
>>>
>>>> Can you tell us how you test your changes ? Do you try to open the
>>>> resulting musicXML with a specific program ?
>>>
>>> I tried MusicXML produced with the last patch with a friend's  
>>> Sibelius 5.2 .
>>> The layout seems perfect...
>>> Something strange happens with slurs but... I don't think the  
>>> layout patch
>>> is responsible for that...
>>>
>>> I put the patch as attachment...
>>>
>>> Hear you soon.
>>> Raffaele
>>


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer