File → Print (or use the coresponding button in the tool bar)
make sure 'All' is selected as the range to print
hit "Print"
Expexted result: All 4 pages get printed
Actual result: Only the 1st page gets printed
Workaround: Export as PDF and then print that
Windows 7 (Enterprise, 64bit), MuseScore 2.0.2 as well as build from latest master branch, (6205e12). I see no reason to believe a build from the 2.0.3 branch would behave differently.
And it does, in a way... problem: when in the print dialog change from all to range, leaving that at the default of 1-4 (i.e. the entire range), only pages 2-4 get printed. This, however, is not any worse than without that change, so looks as being a different issue?
I wonder whehter we should apply the pageOffset further up only, before calling the dialog (line 1482)? And also adjust thise to if statements, to really allow negative numbers, if pageOffset asks for that?
Seems sometimes solutions are so dead simple that you just don't seem them. Here it helps already to just take pageNumberOffset entirely out of the equation.
Comments
Expexted result: All 4 pages get printed
Actual result: Only the 1st page gets printed
Workaround: Export as PDF and then print that
Windows 7 (Enterprise, 64bit), MuseScore 2.0.2 as well as build from latest master branch, (6205e12). I see no reason to believe a build from the 2.0.3 branch would behave differently.
I don't have a printer to debug it. On Mac OSX, it works ok while printing to PDF.
If anyone wants to take a look under debugger here is the code
https://github.com/musescore/MuseScore/blob/6205e12a8a1ee7f715713014d59…
Same issue when printing to a PDF 'printer' ("Adobe Acrobat XI Pro"), also when using another 'virtual printer, "Microsoft XPS Document Writer".
Debugger session, breakpoint at mscore/file.cpp, line 1507, stepping thru...
pages is set to 4 (correct)
offset is set to -1 (correct)
fromPage is set to 0
toPage is set to 0 too (?!)
those 2 don't get adjusted in the following 2 if statements and then consequently the inner for loop (line 1519) runs from 0 to 0, i.e. just once.
I think it might work to change that 2nd if (line 1517) from '...toPage < 0...' to ...toPage <= 0...'
And it does, in a way... problem: when in the print dialog change from all to range, leaving that at the default of 1-4 (i.e. the entire range), only pages 2-4 get printed. This, however, is not any worse than without that change, so looks as being a different issue?
I wonder whehter we should apply the pageOffset further up only, before calling the dialog (line 1482)? And also adjust thise to if statements, to really allow negative numbers, if pageOffset asks for that?
Hmm, doesn't work, the print dialog allow 0, but no negative numbers. So better make them start counting at 1 in that dialog
Seems sometimes solutions are so dead simple that you just don't seem them. Here it helps already to just take pageNumberOffset entirely out of the equation.
See https://github.com/musescore/MuseScore/pull/2357
Fixed in branch master, commit cdad49197b
fix #95226: printing problems when using pageOffset
Fixed in branch master, commit 1c88637e7c
Merge pull request #2357 from Jojo-Schmitz/print
fix #95226: printing problems when using pageOffset
Fixed in branch 2.0.3, commit d3c3cd3801
fix #95226: printing problems when using pageOffset
Automatically closed -- issue fixed for 2 weeks with no activity.