https://bugzilla.wikimedia.org/show_bug.cgi?id=47703

       Web browser: ---
            Bug ID: 47703
           Summary: MIDI generation on Windows fails with "No MIDI file
                    generated despite being requested"; Support
                    "-dmidi-extension=midi"
           Product: MediaWiki extensions
           Version: unspecified
          Hardware: All
                OS: Windows XP
            Status: UNCONFIRMED
          Severity: normal
          Priority: Unprioritized
         Component: Score
          Assignee: wikibugs-l@lists.wikimedia.org
          Reporter: gnosy...@gmail.com
                CC: jger...@wikimedia.org
    Classification: Unclassified
   Mobile Platform: ---

-------------------
Reproductions steps
-------------------
* Install the Score extension on a Windows machine (I was able to reproduce on
Windows XP and Windows 7)

* Create a page with the following wikitext:
<score midi="1">\relative c' { d }</score>

* Click "Show Preview". The following error appears:

No MIDI file generated despite being requested. If you are working in raw
LilyPond mode, make sure to provide a proper \midi block.


-----
Cause
-----
* Score.body.php uses ".midi" throughout the file as the extension for MIDI
files

* However, on Windows, Lilypond treats ".mid" as the default extension for MIDI
files. See the following Lilypond page
(http://lilypond.org/doc/v2.15/Documentation/notation/creating-midi-files):

Due to some limitations on Windows, the default extension for MIDI files on
Windows is .mid.  

--------------
Recommendation
--------------
* Add the "-dmidi-extension=midi" command line arg as per
http://www.lilypond.org/doc/v2.17/Documentation/usage/command_002dline-usage

Specifically:
midi-extension    "midi"    Set the default file extension for MIDI output file
to given string.

The recommended area of change would be here:
$cmd = wfEscapeShellArg( $wgScoreLilyPond )
            . ' ' . wfEscapeShellArg( '-dsafe=#t' )
            . ' -dmidi-extension=midi'
            . ' -dbackend=ps --png --header=texidoc '
            . wfEscapeShellArg( $factoryLy )
            . ' 2>&1';

The above change allows me to generate MIDI files on my Windows XP box.

I've also tested the "-dmidi-extension=midi" command-line argument on Windows
XP, Windows 7, and Linux Mint Nadia. In each case, the output MIDI file has an
extension of ".midi" (i.e.: manually specifying "midi" on Linux seems to be
benign)

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to