CINXE.COM
plugin:abc [DokuWiki]
<!DOCTYPE html> <html lang="en" dir="ltr" class="no-js"> <head> <meta charset="utf-8" /> <title>plugin:abc [DokuWiki]</title> <meta name="generator" content="DokuWiki"/> <meta name="theme-color" content="#008800"/> <meta name="robots" content="index,follow"/> <meta name="keywords" content="plugin,abc"/> <link rel="search" type="application/opensearchdescription+xml" href="/lib/exe/opensearch.php" title="DokuWiki"/> <link rel="start" href="/"/> <link rel="contents" href="/plugin:abc?do=index" title="Sitemap"/> <link rel="manifest" href="/lib/exe/manifest.php"/> <link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/feed.php"/> <link rel="alternate" type="application/rss+xml" title="Current namespace" href="/feed.php?mode=list&ns=plugin"/> <link rel="edit" title="Edit this page" href="/plugin:abc?do=edit"/> <link rel="alternate" type="text/html" title="Plain HTML" href="/_export/xhtml/plugin:abc"/> <link rel="alternate" type="text/plain" title="Wiki Markup" href="/_export/raw/plugin:abc"/> <link rel="canonical" href="https://www.dokuwiki.org/plugin:abc"/> <link rel="stylesheet" href="/lib/exe/css.php?t=dokuwiki&tseed=f1005bad3d81fc9c803c7f93d32a390e"/> <script >var NS='plugin';var JSINFO = {"plugins":{"edittable":{"default columnwidth":""}},"id":"plugin:abc","namespace":"plugin","ACT":"show","useHeadingNavigation":0,"useHeadingContent":0};(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer="defer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" defer="defer"></script> <script src="/lib/exe/js.php?t=dokuwiki&tseed=f1005bad3d81fc9c803c7f93d32a390e&lang=en" defer="defer"></script> <meta name="viewport" content="width=device-width,initial-scale=1" /> <link rel="shortcut icon" href="/lib/tpl/dokuwiki/images/favicon.ico" /> <link rel="apple-touch-icon" href="/lib/tpl/dokuwiki/images/apple-touch-icon.png" /> <meta name="verify-v1" content="OVxl3gsCv2MhZqh1cBQyl0JytWXSwXMjyvwc+4w3WtA=" /> <meta name="google-site-verification" content="YhTVK69hW94ZXUtc2zSLPxTkZKbZIn0zK67mz5WQB-E" /> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-83791-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-83791-1', { 'anonymize_ip': true }); </script> </head> <body> <div id="dokuwiki__site"><div id="dokuwiki__top" class="site dokuwiki mode_show tpl_dokuwiki showSidebar hasSidebar"> <!-- ********** HEADER ********** --> <header id="dokuwiki__header"><div class="pad group"> <div class="headings group"> <ul class="a11y skip"> <li><a href="#dokuwiki__content">skip to content</a></li> </ul> <h1 class="logo"><a href="/start" accesskey="h" title="Home [h]"><img src="/lib/tpl/dokuwiki/images/logo.png" width="64" height="64" alt="" /><span>DokuWiki</span></a></h1> <p class="claim">It's better when it's simple</p> </div> <div class="tools group"> <!-- USER TOOLS --> <div id="dokuwiki__usertools"> <h3 class="a11y">User Tools</h3> <ul> <li class="action login"><a href="/plugin:abc?do=login&sectok=" title="Log In" rel="nofollow"><span>Log In</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 17.25V14H3v-4h7V6.75L15.25 12 10 17.25M8 2h9a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2v-4h2v4h9V4H8v4H6V4a2 2 0 0 1 2-2z"/></svg></a></li> </ul> </div> <!-- SITE TOOLS --> <div id="dokuwiki__sitetools"> <h3 class="a11y">Site Tools</h3> <form action="/start" method="get" role="search" class="search doku_form" id="dw__search" accept-charset="utf-8"><input type="hidden" name="do" value="search" /><input type="hidden" name="id" value="plugin:abc" /><div class="no"><input name="q" type="text" class="edit" title="[F]" accesskey="f" placeholder="Search" autocomplete="on" id="qsearch__in" value="" /><button value="1" type="submit" title="Search">Search</button><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form> <div class="mobileTools"> <form action="/doku.php" method="get" accept-charset="utf-8"><div class="no"><input type="hidden" name="id" value="plugin:abc" /><select name="do" class="edit quickselect" title="Tools"><option value="">Tools</option><optgroup label="Page Tools"><option value="edit">Edit this page</option><option value="revisions">Old revisions</option><option value="backlink">Backlinks</option></optgroup><optgroup label="Site Tools"><option value="recent">Recent Changes</option><option value="media">Media Manager</option><option value="index">Sitemap</option></optgroup><optgroup label="User Tools"><option value="login">Log In</option></optgroup></select><button type="submit">></button></div></form> </div> <ul> <li class="action recent"><a href="/plugin:abc?do=recent" title="Recent Changes [r]" rel="nofollow" accesskey="r">Recent Changes</a></li><li class="action media"><a href="/plugin:abc?do=media&ns=plugin" title="Media Manager" rel="nofollow">Media Manager</a></li><li class="action index"><a href="/plugin:abc?do=index" title="Sitemap [x]" rel="nofollow" accesskey="x">Sitemap</a></li> </ul> </div> </div> <!-- BREADCRUMBS --> <div class="breadcrumbs"> <div class="trace"><span class="bchead">Trace:</span> <span class="bcsep">•</span> <span class="curid"><bdi><a href="/plugin:abc" class="breadcrumbs" title="plugin:abc">abc</a></bdi></span></div> </div> <hr class="a11y" /> </div></header><!-- /header --> <div class="wrapper group"> <!-- ********** ASIDE ********** --> <nav id="dokuwiki__aside" aria-label="Sidebar"><div class="pad aside include group"> <h3 class="toggle">Sidebar</h3> <div class="content"><div class="group"> <p> <strong>Learn about DokuWiki</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/features" class="wikilink1" title="features" data-wiki-id="features">Features</a> & <a href="/blogroll" class="wikilink1" title="blogroll" data-wiki-id="blogroll">reviews</a> </div> </li> <li class="level1"><div class="li"> <a href="/install" class="wikilink1" title="install" data-wiki-id="install">Installation guide</a></div> </li> <li class="level1"><div class="li"> <a href="/manual" class="wikilink1" title="manual" data-wiki-id="manual">User manual</a> & <a href="/wiki:syntax" class="wikilink1" title="wiki:syntax" data-wiki-id="wiki:syntax">syntax</a></div> </li> <li class="level1"><div class="li"> <a href="/changes" class="wikilink1" title="changes" data-wiki-id="changes">Release notes</a></div> </li> <li class="level1"><div class="li"> <a href="/faq" class="wikilink1" title="faq" data-wiki-id="faq">FAQ</a></div> </li> </ul> <p> <strong>Advanced Use</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/extensions" class="wikilink1" title="extensions" data-wiki-id="extensions">Extensions</a></div> </li> <li class="level1"><div class="li"> <a href="/development" class="wikilink1" title="development" data-wiki-id="development">Development manual</a></div> </li> </ul> <p> <strong>Corporate Use</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/faq:support" class="wikilink1" title="faq:support" data-wiki-id="faq:support">Get support</a></div> </li> <li class="level1"><div class="li"> <a href="/donate" class="wikilink1" title="donate" data-wiki-id="donate">Donations</a></div> </li> </ul> <p> <strong>Our Community</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/teams:getting_involved" class="wikilink1" title="teams:getting_involved" data-wiki-id="teams:getting_involved">Get involved</a></div> </li> <li class="level1"><div class="li"> <a href="/dokuinstall" class="wikilink1" title="dokuinstall" data-wiki-id="dokuinstall">Users</a></div> </li> <li class="level1"><div class="li"> <a href="http://forum.dokuwiki.org" class="urlextern" title="http://forum.dokuwiki.org">User forum</a></div> </li> <li class="level1"><div class="li"> <a href="/mailinglist" class="wikilink1" title="mailinglist" data-wiki-id="mailinglist">Development mailinglist</a></div> </li> </ul> <hr /> <p> Follow us on <a href="https://phpc.social/@dokuwiki" class="urlextern" title="https://phpc.social/@dokuwiki">Mastodon</a> and other <a href="/social" class="wikilink1" title="social" data-wiki-id="social">social networks</a>. </p> <p> <a href="/privacy" class="wikilink1" title="privacy" data-wiki-id="privacy">Our Privacy Policy</a> </p> </div></div> </div></nav><!-- /aside --> <!-- ********** CONTENT ********** --> <main id="dokuwiki__content"><div class="pad group"> <div class="pageId"><span>plugin:abc</span></div> <div class="page group"> <!-- wikipage start --> <!-- TOC START --> <div id="dw__toc" class="dw__toc"> <h3 class="toggle">Table of Contents</h3> <div> <ul class="toc"> <li class="level1"><div class="li"><a href="#abc_plugin_for_displaying_sheet_music">ABC Plugin (for displaying sheet music)</a></div> <ul class="toc"> <li class="level2"><div class="li"><a href="#what_is_abc">What is ABC?</a></div></li> <li class="level2"><div class="li"><a href="#implementations_in_other_wikis">Implementations in other Wikis</a></div></li> <li class="level2"><div class="li"><a href="#implementing_in_dokuwiki">Implementing in DokuWiki</a></div> <ul class="toc"> <li class="level3"><div class="li"><a href="#requirements">Requirements</a></div></li> <li class="level3"><div class="li"><a href="#download_and_install">Download and Install</a></div></li> <li class="level3"><div class="li"><a href="#configuration">Configuration</a></div></li> <li class="level3"><div class="li"><a href="#probable_alteration_of__inc_searchphp">Probable alteration of ./inc/search.php</a></div></li> </ul> </li> <li class="level2"><div class="li"><a href="#usage_in_dokuwiki">Usage in DokuWiki</a></div> <ul class="toc"> <li class="level3"><div class="li"><a href="#transposition">Transposition</a></div></li> </ul> </li> <li class="level2"><div class="li"><a href="#debugging">Debugging</a></div></li> <li class="level2"><div class="li"><a href="#important_notes">Important notes</a></div></li> <li class="level2"><div class="li"><a href="#version_history">Version history</a></div></li> <li class="level2"><div class="li"><a href="#feedback">Feedback</a></div> <ul class="toc"> <li class="level3"><div class="li"><a href="#rendering">Rendering</a></div></li> <li class="level3"><div class="li"><a href="#output_tabs">Output tabs</a></div></li> <li class="level3"><div class="li"><a href="#troubles_getting_plugin_to_run">Troubles getting plugin to run</a></div></li> <li class="level3"><div class="li"><a href="#acl_issues">ACL issues</a></div></li> <li class="level3"><div class="li"><a href="#working_with_jcabc2ps">Working with jcabc2ps</a></div></li> <li class="level3"><div class="li"><a href="#setting_ps2pdf_on_windows">Setting ps2pdf on Windows</a></div></li> <li class="level3"><div class="li"><a href="#understanding_transposition">Understanding Transposition</a></div></li> <li class="level3"><div class="li"><a href="#error_messages">Error messages</a></div></li> <li class="level3"><div class="li"><a href="#multiple_abc_section_on_the_same_page">Multiple abc section on the same page</a></div></li> </ul></li> </ul></li> </ul> </div> </div> <!-- TOC END --> <h1 class="sectionedit1" id="abc_plugin_for_displaying_sheet_music">ABC Plugin (for displaying sheet music)</h1> <div class="level1"> <div class="pluginrepo_entry"><div class="usageInfo"><div class="compatibility"><p class="label">Compatible with DokuWiki</p><p>Lemming, Anteater, Rincewind, Angua, Adora Belle, Weatherwax, Binky, Ponder Stibbons, Hrun</p></div><ul class="actions"><li><a class="download" href="https://github.com/selfthinker/dokuwiki_plugin_abc/archive/master.zip">Download</a></li><li><a class="bugs" href="https://github.com/selfthinker/dokuwiki_plugin_abc/issues">Report bugs</a></li><li><a class="donate" href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=11071728">Donate</a></li></ul><div class="clearer"></div></div><div class="mainInfo"><p class="description"><a class="media" href="/plugins"><img alt="plugin" class="medialeft" src="/lib/plugins/pluginrepo/images/dwplugin.png" width="60" height="60" /></a> Displays sheet music (input ABC, output PNG, MIDI and PDF)</p></div><div class="metaInfo"><dl><dt>Last updated on</dt><dd>2021-01-05</dd><dt>Provides</dt><dd><a href="/plugins?plugintype=1#extension__table" class="wikilink1" title="List all Syntax plugins">Syntax</a></dd><dt>Repository</dt><dd><a class="urlextern" href="https://github.com/selfthinker/dokuwiki_plugin_abc/">Source</a></dd><dt>Conflicts with</dt><dd><a href="/plugin:abc2" class="wikilink1" title="plugin:abc2" data-wiki-id="plugin:abc2">abc2</a></dd></dl></div><div class="moreInfo"><div class="notify"><p>This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.</p></div><p class="similar">Similar to <a href="/plugin:abc2" class="wikilink1" title="plugin:abc2" data-wiki-id="plugin:abc2">abc2</a></p><p class="tags">Tagged with <a href="/plugins?plugintag=export#extension__table" class="wikilink1" title="List all plugins with this tag">export</a>, <a href="/plugins?plugintag=markup_language#extension__table" class="wikilink1" title="List all plugins with this tag">markup_language</a>, <a href="/plugins?plugintag=media#extension__table" class="wikilink1" title="List all plugins with this tag">media</a>, <a href="/plugins?plugintag=music#extension__table" class="wikilink1" title="List all plugins with this tag">music</a></p></div><div class="authorInfo"><strong>By <a href="mailto:anika%20%5Bat%5D%20selfthinker%20%5Bdot%5D%20org" class="mail" title="anika [at] selfthinker [dot] org">Anika Henke</a></strong><ul><li><a href="/plugin:ipa" class="wikilink1" title="plugin:ipa" data-wiki-id="plugin:ipa">ipa</a></li> <li><a href="/plugin:blockquote" class="wikilink1" title="plugin:blockquote" data-wiki-id="plugin:blockquote">blockquote</a></li> <li><a href="/plugin:loadskin" class="wikilink1" title="plugin:loadskin" data-wiki-id="plugin:loadskin">loadskin</a></li> <li><a href="/plugin:purplenumbers" class="wikilink1" title="plugin:purplenumbers" data-wiki-id="plugin:purplenumbers">purplenumbers</a></li> <li><a href="/plugin:wrap" class="wikilink1" title="plugin:wrap" data-wiki-id="plugin:wrap">wrap</a></li> <li><a href="/plugin:wikipediasnippet" class="wikilink1" title="plugin:wikipediasnippet" data-wiki-id="plugin:wikipediasnippet">wikipediasnippet</a></li> <li><a href="/template:ach" class="wikilink1" title="template:ach" data-wiki-id="template:ach">ach</a></li> <li><a href="/plugin:unformattedcode" class="wikilink1" title="plugin:unformattedcode" data-wiki-id="plugin:unformattedcode">unformattedcode</a></li> <li><a href="/plugin:fontface" class="wikilink1" title="plugin:fontface" data-wiki-id="plugin:fontface">fontface</a></li> <li><a href="/template:starter" class="wikilink1" title="template:starter" data-wiki-id="template:starter">starter</a></li> <li>and 6 more</li></ul></div></div> <p> There is a successor to this plugin which is much easier to install, the <strong><a href="/plugin:abc2" class="wikilink1" title="plugin:abc2" data-wiki-id="plugin:abc2">ABC2 Plugin</a></strong>. </p> </div> <div class="secedit editbutton_section editbutton_1"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[ABC Plugin (for displaying sheet music)] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="abc_plugin_for_displaying_sheet_music" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1-877" /><button type="submit" title="ABC Plugin (for displaying sheet music)">Edit</button></div></form></div> <h2 class="sectionedit2" id="what_is_abc">What is ABC?</h2> <div class="level2"> <p> ABC is a musical notation language and “designed to notate tunes in plain text format.” </p> <p> See <a href="http://abcnotation.com/" class="urlextern" title="http://abcnotation.com/">http://abcnotation.com/</a> for more information. </p> </div> <div class="secedit editbutton_section editbutton_2"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[What is ABC?] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="what_is_abc" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="878-1043" /><button type="submit" title="What is ABC?">Edit</button></div></form></div> <h2 class="sectionedit3" id="implementations_in_other_wikis">Implementations in other Wikis</h2> <div class="level2"> <ul> <li class="level1"><div class="li"> <a href="http://www.wikisophia.org/wiki/Wikitex#Music" class="urlextern" title="http://www.wikisophia.org/wiki/Wikitex#Music">WikiSophia</a> does not use ABC but <a href="http://www.lilypond.org" class="urlextern" title="http://www.lilypond.org">lilypond</a></div> </li> <li class="level1"><div class="li"> one attempt to implement ABC is the <a href="http://www.pmwiki.org/wiki/Cookbook/AbcMusic" class="urlextern" title="http://www.pmwiki.org/wiki/Cookbook/AbcMusic">AbcMusic recipe for PmWiki</a></div> </li> <li class="level1"><div class="li"> another attempt is the <a href="http://www.mediawiki.org/wiki/Extension:Score" class="urlextern" title="http://www.mediawiki.org/wiki/Extension:Score">Score extension for MediaWiki</a></div> </li> <li class="level1"><div class="li"> not a wiki, but other PHP implementations are available for WordPress: the <a href="https://wordpress.org/plugins/music-sheet-viewer/" class="urlextern" title="https://wordpress.org/plugins/music-sheet-viewer/">Music Sheet Viewer Plugin</a>, the <a href="https://wordpress.org/plugins/abc-notation/" class="urlextern" title="https://wordpress.org/plugins/abc-notation/">ABC Notation Plugin</a> and the <a href="https://wordpress.org/plugins/choon-player/" class="urlextern" title="https://wordpress.org/plugins/choon-player/">Choon Player Plugin</a></div> </li> <li class="level1"><div class="li"> not a wiki either, but you can write ABC collaboratively in <a href="https://stackedit.io/" class="urlextern" title="https://stackedit.io/">StackEdit</a> because it has implemented <a href="https://www.abcjs.net/" class="urlextern" title="https://www.abcjs.net/">abcjs</a></div> </li> </ul> </div> <div class="secedit editbutton_section editbutton_3"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Implementations in other Wikis] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="implementations_in_other_wikis" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1044-1902" /><button type="submit" title="Implementations in other Wikis">Edit</button></div></form></div> <h2 class="sectionedit4" id="implementing_in_dokuwiki">Implementing in DokuWiki</h2> <div class="level2"> </div> <div class="secedit editbutton_section editbutton_4"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Implementing in DokuWiki] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="implementing_in_dokuwiki" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1903-1940" /><button type="submit" title="Implementing in DokuWiki">Edit</button></div></form></div> <h3 class="sectionedit5" id="requirements">Requirements</h3> <div class="level3"> <ul> <li class="level1"><div class="li"> <code>convert</code>, one of the tools from <strong><a href="http://www.imagemagick.org/" class="urlextern" title="http://www.imagemagick.org/">ImageMagick</a></strong> (<abbr title="GNU General Public License">GPL</abbr>-compatible license)</div> </li> <li class="level1 node"><div class="li"> <strong><a href="http://www.ghostscript.com/" class="urlextern" title="http://www.ghostscript.com/">Ghostscript</a></strong> (<abbr title="GNU General Public License">GPL</abbr> or AFPL)</div> <ul> <li class="level2"><div class="li"> needed by <code>convert</code> for handling eps files, see <a href="http://notes.splitbrain.org/ImageMagick" class="interwiki iw_notes" title="http://notes.splitbrain.org/ImageMagick">Andi's tutorial on ImageMagick</a> for details</div> </li> <li class="level2"><div class="li"> <code>ps2pdf</code> from the same package (optional, only needed if you want to have PDF files created instead of PS files)</div> </li> </ul> </li> <li class="level1"><div class="li"> <strong><code><a href="http://moinejf.free.fr/" class="urlextern" title="http://moinejf.free.fr/">abcm2ps</a></code></strong> (<abbr title="GNU General Public License">GPL</abbr> 2)</div> </li> <li class="level1 node"><div class="li"> <code>abc2midi</code> from <a href="http://abc.sourceforge.net/abcMIDI/" class="urlextern" title="http://abc.sourceforge.net/abcMIDI/">abcMIDI</a> (<abbr title="GNU General Public License">GPL</abbr> 2, optional, only needed if you want to have midi files created)</div> <ul> <li class="level2"><div class="li"> <code>abc2abc</code> from the same package (optional, only needed if you want to be able to transpose automatically)</div> </li> </ul> </li> </ul> </div> <div class="secedit editbutton_section editbutton_5"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Requirements] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="requirements" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1941-2695" /><button type="submit" title="Requirements">Edit</button></div></form></div> <h3 class="sectionedit6" id="download_and_install">Download and Install</h3> <div class="level3"> <p> Search and install the plugin using the <a href="/plugin:extension" class="wikilink1" title="plugin:extension" data-wiki-id="plugin:extension">Extension Manager</a>. Refer to <a href="/plugins" class="wikilink1" title="plugins" data-wiki-id="plugins">Plugins</a> on how to install plugins manually. </p> </div> <div class="secedit editbutton_section editbutton_6"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Download and Install] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="download_and_install" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="2696-2866" /><button type="submit" title="Download and Install">Edit</button></div></form></div> <h3 class="sectionedit7" id="configuration">Configuration</h3> <div class="level3"> <p> Please use the <a href="/plugin:config" class="wikilink1" title="plugin:config" data-wiki-id="plugin:config">Configuration Manager</a> to configure the needed variables! </p> <div class="table sectionedit8"><table class="inline"> <thead> <tr class="row0"> <th class="col0">config variable</th><th class="col1 leftalign">description </th><th class="col2">importance </th> </tr> </thead> <tr class="row1"> <th class="col0 leftalign"><code>abc2ps</code> </th><td class="col1 leftalign">path where to find <code>abcm2ps</code> </td><td class="col2 leftalign"><strong>essential</strong> </td> </tr> <tr class="row2"> <th class="col0"><code><a href="/config:im_convert" class="wikilink1" title="config:im_convert" data-wiki-id="config:im_convert">im_convert</a></code> </th><td class="col1 leftalign">path where to find <code>convert</code> from ImageMagick <strong>(from the main DokuWiki config!)</strong> </td><td class="col2 leftalign"><strong>essential</strong> </td> </tr> <tr class="row3"> <th class="col0 leftalign"><code>displayType</code> </th><td class="col1">how to display the output (image only; image linked to midi; image with list of abc, midi, PS/PDF) </td><td class="col2">recommended</td> </tr> <tr class="row4"> <th class="col0 leftalign"><code>abc2midi</code> </th><td class="col1">path where to find <code>abc2midi</code> (optional if you keep to the default displayType, needed with all other displayTypes)</td><td class="col2">recommended</td> </tr> <tr class="row5"> <th class="col0 leftalign"><code>ps2pdf</code> </th><td class="col1">path where to find <code>ps2pdf</code> (optional, only needed for displayType 2 (image with list of abc, midi, PS/PDF) and if you want pdf files to be created instead of ps files)</td><td class="col2">(optional, <strong>new in version 2006-12-09</strong>)</td> </tr> <tr class="row6"> <th class="col0 leftalign"><code>abc2abc</code> </th><td class="col1">path where to find <code>abc2abc</code> (only needed when ability to transposition is wanted, leave blank for disallowing transposition)</td><td class="col2">(optional)</td> </tr> <tr class="row7"> <th class="col0 leftalign"><code>fmt</code> </th><td class="col1">path where to find an <code>abcm2ps</code> format file (e.g. “foo.fmt”) to format the PS/PDF file (leave blank for not using any)</td><td class="col2">(optional)</td> </tr> <tr class="row8"> <th class="col0 leftalign"><code>mediaNS</code> </th><td class="col1 leftalign">namespace for media files; before version 2008-08-17 they were stored in a subfolder of the media directory 'plugin_abc', now this is configurable (leave blank for root and the acl mechanism to work on these files as well); please use only one valid namespace name </td><td class="col2">(optional, <strong>new in version 2008-08-17</strong>)</td> </tr> <tr class="row9"> <th class="col0 leftalign"><code>abcok</code> </th><td class="col1 leftalign">turn abc rendering on or off; when turned off, only the source is displayed </td><td class="col2">(optional) </td> </tr> <tr class="row10"> <th class="col0 leftalign"><code>displaySource</code> </th><td class="col1 leftalign">turn additional displaying of the abc source on or off </td><td class="col2">(optional) </td> </tr> <tr class="row11"> <th class="col0"><code>displayErrorlog</code></th><td class="col1 leftalign">turn displaying of error logs (of abc2ps and abc2midi) on or off (they are only displayed <strong>once</strong> when page is saved or previewed) </td><td class="col2">(optional, <strong>new in version 2008-08-17</strong>) </td> </tr> <tr class="row12"> <th class="col0 leftalign"><code>params4img</code> </th><td class="col1 leftalign">parameters for generating the image </td><td class="col2">(optional, <strong>new in version 2007-06-03</strong>, only for experts!)</td> </tr> <tr class="row13"> <th class="col0 leftalign"><code>params4ps</code> </th><td class="col1 leftalign">parameters for generating the ps/pdf file </td><td class="col2">(optional, <strong>new in version 2007-06-03</strong>, only for experts!)</td> </tr> </table></div> <div class="secedit editbutton_table editbutton_8"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Table] " /><input type="hidden" name="target" value="table" /><input type="hidden" name="hid" value="table" /><input type="hidden" name="range" value="2983-5198" /><button type="submit" title="Table">Edit</button></div></form></div> </div> <h4 id="stylecss_and_file_icons">style.css and file icons</h4> <div class="level4"> <p> If you want to allow midi files to be uploaded by the media manager and want them to be automatically recognized by DokuWiki, you should take the steps <a href="/mime" class="wikilink1" title="mime" data-wiki-id="mime">described here</a> (using the mid.png file icon in the root folder of the plugin or any other) and comment out the last lines of <code>style.css</code>. </p> <p> You can do the same with a possible abc icon … </p> </div> <div class="secedit editbutton_section editbutton_7"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Configuration] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="configuration" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="2867-5586" /><button type="submit" title="Configuration">Edit</button></div></form></div> <h3 class="sectionedit9" id="probable_alteration_of__inc_searchphp">Probable alteration of ./inc/search.php</h3> <div class="level3"> <p> The plugin stores all needed media files automatically in the DokuWiki media directory in a subnamespace (configurable through <code>mediaNS</code>, default: “plugin_abc”). If you do not want them to be displayed and made accessible through the media popup, you can alter <code>./inc/search.php</code>. In the first function <code>search()</code> right after this </p> <pre class="code"> if(preg_match('/^[\._]/',$file)) continue; //skip hidden files and upper dirs</pre> <p> just add the following line: </p> <pre class="code"> if (substr($file,0,10)=='plugin_abc') continue; //skip plugin_abc dir</pre> <p> or substitute “plugin_abc” with your configured “mediaNS” accordingly. </p> </div> <div class="secedit editbutton_section editbutton_9"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Probable alteration of ./inc/search.php] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="probable_alteration_of__inc_searchphp" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="5587-6231" /><button type="submit" title="Probable alteration of ./inc/search.php">Edit</button></div></form></div> <h2 class="sectionedit10" id="usage_in_dokuwiki">Usage in DokuWiki</h2> <div class="level2"> <pre class="code"><abc> X:42 T:Test M:4/4 K:C "C" C2 D2 E2 G2 |"C" c8 |] w:This is just a test </abc></pre> <p> This code will lead to one of three possible outputs (set by <code>$conf['abcDisplayType']</code>): </p> <ul> <li class="level1"><div class="li"> output 1: image of the sheet music, linked to the corresponding midi file</div> </li> <li class="level1"><div class="li"> output 2: image with a list of links to the corresponding abc, MIDI and PS (or PDF) file</div> </li> <li class="level1"><div class="li"> output 0: image only</div> </li> </ul> <p> <a href="/_detail/plugin:42_test.png?id=plugin%3Aabc" class="media" title="plugin:42_test.png"><img src="/_media/plugin:42_test.png" class="media" loading="lazy" alt="" /></a> </p> </div> <div class="secedit editbutton_section editbutton_10"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Usage in DokuWiki] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="usage_in_dokuwiki" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="6232-6675" /><button type="submit" title="Usage in DokuWiki">Edit</button></div></form></div> <h3 class="sectionedit11" id="transposition">Transposition</h3> <div class="level3"> <p> It is possible to let the plugin transpose for you by extra parameters (separated by spaces; only 7 different values allowed). These parameters have to be numbers between -23 and 23, which is the amount of semitones that the tune will be transposed up (if positive) or down (if negative). E.g. </p> <pre class="code"><abc 7 -3> X:42 T:Test M:4/4 K:C "C" C2 D2 E2 G2 |"C" c8 |] w:This is just a test </abc></pre> <p> will show the tune in the original key, as well as automatically transposed up to G major and down to A major. </p> </div> <div class="secedit editbutton_section editbutton_11"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Transposition] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="transposition" /><input type="hidden" name="codeblockOffset" value="1" /><input type="hidden" name="range" value="6676-7213" /><button type="submit" title="Transposition">Edit</button></div></form></div> <h2 class="sectionedit12" id="debugging">Debugging</h2> <div class="level2"> <p> If the plugin does not seem to work … </p> <ol> <li class="level1"><div class="li"> Make sure the involved programmes work properly (by testing e.g. “<code>/path/to/abcm2ps test.abc -O test.ps</code>” in the shell).</div> </li> <li class="level1"><div class="li"> Enable the <a href="/config:allowdebug" class="wikilink1" title="config:allowdebug" data-wiki-id="config:allowdebug">'allowdebug' config option</a>. That will turn on more detailed hints about what could be wrong.</div> </li> <li class="level1"><div class="li"> Add a <a href="/devel:caching#purging_the_cache" class="wikilink1" title="devel:caching" data-wiki-id="devel:caching">purge parameter</a> to the <abbr title="Uniform Resource Locator">URL</abbr> (“?purge=1” or “&purge=1”) when testing - to force a recaching of the page and to recreate all abc plugin related files.</div> </li> </ol> </div> <div class="secedit editbutton_section editbutton_12"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Debugging] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="debugging" /><input type="hidden" name="codeblockOffset" value="2" /><input type="hidden" name="range" value="7214-7730" /><button type="submit" title="Debugging">Edit</button></div></form></div> <h2 class="sectionedit13" id="important_notes">Important notes</h2> <div class="level2"> <ul> <li class="level1"><div class="li"> Any kind of error handling or other measures to provide security may not have been cared for satisfyingly. So any usage at your own risk.</div> </li> <li class="level1"><div class="li"> You can test the plugin on <a href="http://abcwiki.selfthinker.org/" class="urlextern" title="http://abcwiki.selfthinker.org/">http://abcwiki.selfthinker.org/</a></div> </li> </ul> </div> <div class="secedit editbutton_section editbutton_13"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Important notes] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="important_notes" /><input type="hidden" name="codeblockOffset" value="2" /><input type="hidden" name="range" value="7731-7965" /><button type="submit" title="Important notes">Edit</button></div></form></div> <h2 class="sectionedit14" id="version_history">Version history</h2> <div class="level2"> <ul class="rss"><li><div class="li"><a href="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/31a59dd23310f65b1230d48b16baa3cc04c7d51b" class="urlextern" title="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/31a59dd23310f65b1230d48b16baa3cc04c7d51b">Version 2021-01-05</a> (2021-01-05 21:43)</div></li><li><div class="li"><a href="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/0327b958d55eef3d80729d9c8586573613fc8e9d" class="urlextern" title="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/0327b958d55eef3d80729d9c8586573613fc8e9d">Fix PHP7 compatibility issue (fixes #18)</a> (2021-01-05 21:38)</div></li><li><div class="li"><a href="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/22ad35b6700e6da8962a74e8da7371e8e2da98b4" class="urlextern" title="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/22ad35b6700e6da8962a74e8da7371e8e2da98b4">Merge pull request #17 from dokuwiki-translate/lang_update_908_153079…</a> (2018-11-15 00:30)</div></li><li><div class="li"><a href="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/0a3e4987c61b64b3c35a8ea4afb1ce9dfdb5a642" class="urlextern" title="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/0a3e4987c61b64b3c35a8ea4afb1ce9dfdb5a642">translation update</a> (2018-07-05 14:45)</div></li><li><div class="li"><a href="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/e18f6b8cf409b4761da6f9938de5c1e48cd70dcd" class="urlextern" title="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/e18f6b8cf409b4761da6f9938de5c1e48cd70dcd">Merge pull request #16 from dokuwiki-translate/lang_update_347</a> (2018-04-16 22:40)</div></li><li><div class="li"><a href="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/233485977cc919cdc42ce9925c49f807df1788bb" class="urlextern" title="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/233485977cc919cdc42ce9925c49f807df1788bb">translation update</a> (2017-03-17 09:15)</div></li><li><div class="li"><a href="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/7ff323c4fe5204880213c4c721a24bafe079778f" class="urlextern" title="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/7ff323c4fe5204880213c4c721a24bafe079778f">version 2016-04-03</a> (2016-04-03 20:31)</div></li><li><div class="li"><a href="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/9d1650e0c8b355e710f46448ff20804430618a11" class="urlextern" title="https://github.com/selfthinker/dokuwiki_plugin_abc/commit/9d1650e0c8b355e710f46448ff20804430618a11">add German translation</a> (2016-04-03 20:31)</div></li></ul> </div> <div class="secedit editbutton_section editbutton_14"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Version history] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="version_history" /><input type="hidden" name="codeblockOffset" value="2" /><input type="hidden" name="range" value="7966-8080" /><button type="submit" title="Version history">Edit</button></div></form></div> <h2 class="sectionedit15" id="feedback">Feedback</h2> <div class="level2"> </div> <div class="secedit editbutton_section editbutton_15"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Feedback] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="feedback" /><input type="hidden" name="codeblockOffset" value="2" /><input type="hidden" name="range" value="8081-8102" /><button type="submit" title="Feedback">Edit</button></div></form></div> <h3 class="sectionedit16" id="rendering">Rendering</h3> <div class="level3"> <p> Please include <a href="http://code.google.com/p/abcjs/" class="urlextern" title="http://code.google.com/p/abcjs/">http://code.google.com/p/abcjs/</a> for rendering. </p> <blockquote><div class="no"> There is now a new ABC Plugin which includes abcjs and other similar JS libraries. The implementation is too different from this plugin, that's why I created a new one, see <a href="/plugin:abc2" class="wikilink1" title="plugin:abc2" data-wiki-id="plugin:abc2">ABC2 Plugin</a>. — <a href="https://forum.dokuwiki.org/u/ach" class="interwiki iw_user" title="https://forum.dokuwiki.org/u/ach">ach</a> <em>2021-01-11 19:21</em></div></blockquote> </div> <div class="secedit editbutton_section editbutton_16"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Rendering] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="rendering" /><input type="hidden" name="codeblockOffset" value="2" /><input type="hidden" name="range" value="8103-8433" /><button type="submit" title="Rendering">Edit</button></div></form></div> <h3 class="sectionedit17" id="output_tabs">Output tabs</h3> <div class="level3"> <blockquote><div class="no"> <blockquote><div class="no"> Hey!! Congratulations for your plugin!!! It would be great if you could extend it to be able to output tabs besides music sheets. Is it possible? – <em> <a href="mailto:gmail%2Bdokuwiki%20%5Bat%5D%20gmail%20%5Bdot%5D%20com" class="mail" title="gmail+dokuwiki [at] gmail [dot] com">Jorge</a> 2007-02-13 14:50 </em></div></blockquote> <p> Thanks. Yes, outputting tabs is possible by using <code><a href="http://www.lautengesellschaft.de/cdmm/" class="urlextern" title="http://www.lautengesellschaft.de/cdmm/">abctab2ps</a></code> instead of <code>abcm2ps</code>. And the plugin has to be tweaked a little, as well (most probably, maybe not!? I haven't tested). But I have no time to do it in the too near future. — <em><a href="mailto:anika%20%5Bat%5D%20selfthinker%20%5Bdot%5D%20org" class="mail" title="anika [at] selfthinker [dot] org">Anika Henke</a> 2007-04-01 12:22</em> </p> </div></blockquote> <p> I found out that tabs can be done with <code><a href="http://www.guitarnut.com/abc/" class="urlextern" title="http://www.guitarnut.com/abc/">jaabc2ps</a></code>, as well. With the new release (2007-06-03) of the abc plugin, you could change the <code>params4img</code> config option to “<code>-s 1 -T1CeBGDA,E, -o</code>” or something similar. I don't know, if it will work right away, you might still be needing to tweak the plugin a bit more. But now it should be easier. — <em><a href="mailto:anika%20%5Bat%5D%20selfthinker%20%5Bdot%5D%20org" class="mail" title="anika [at] selfthinker [dot] org">Anika Henke</a> 2007-06-04 23:40</em> </p> </div> <div class="secedit editbutton_section editbutton_17"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Output tabs] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="output_tabs" /><input type="hidden" name="codeblockOffset" value="2" /><input type="hidden" name="range" value="8434-9458" /><button type="submit" title="Output tabs">Edit</button></div></form></div> <h3 class="sectionedit18" id="troubles_getting_plugin_to_run">Troubles getting plugin to run</h3> <div class="level3"> <blockquote><div class="no"> Hey Anika, I'm having an issue getting the plugin to run on my hosting service. They've given me access to all the binaries (abc2*, ps2pdf and convert) and I've setup the config file. Only issue I can think of is permissions. My page that uses the plugin is <a href="http://www.thefreyers.net/doku.php?id=music:abcnotation" class="urlextern" title="http://www.thefreyers.net/doku.php?id=music:abcnotation">here</a>. Got any tips for resolving this? Thanks. — <em><a href="mailto:chris%20%5Bat%5D%20thefreyers%20%5Bdot%5D%20net" class="mail" title="chris [at] thefreyers [dot] net">Chris Freyer</a> 2007-12-07 00:50</em></div></blockquote> <p> Hallo! 1. The <code>im_convert</code> config option is not part of the plugin config, but of the <strong>main</strong> DokuWiki config. So it should be set there. 2. The message “<code>(im_convert) is not executable</code>” indicates that there is no path set in <code>$conf['im_convert']</code>. Otherwise it would read “<code>/path/to/convert (im_convert) is not executable</code>”. — <em><a href="mailto:anika%20%5Bat%5D%20selfthinker%20%5Bdot%5D%20org" class="mail" title="anika [at] selfthinker [dot] org">Anika Henke</a> 2007-12-07 16:43</em> </p> </div> <div class="secedit editbutton_section editbutton_18"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Troubles getting plugin to run] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="troubles_getting_plugin_to_run" /><input type="hidden" name="codeblockOffset" value="2" /><input type="hidden" name="range" value="9459-10336" /><button type="submit" title="Troubles getting plugin to run">Edit</button></div></form></div> <h3 class="sectionedit19" id="acl_issues">ACL issues</h3> <div class="level3"> <p> Hi Anika, <br/> Here is reporting an <abbr title="Access Control List">ACL</abbr> issue for the abc plugin on DokuWiki-2008-05-05 release version. <br/> My wiki is set to be a closed wiki (@ALL default None), and set @ALL read to :stanley namespace and stanley page. <br/> However, the abc tag on stanley:song page cannot show up PNG image file. You may see the <abbr title="Uniform Resource Locator">URL</abbr> - <a href="http://www.ichiayi.com/wiki/stanley/song" class="urlextern" title="http://www.ichiayi.com/wiki/stanley/song">http://www.ichiayi.com/wiki/stanley/song</a> <br/> any idea? — <em><a href="mailto:tryweb%20%5Bat%5D%20ichiayi%20%5Bdot%5D%20com" class="mail" title="tryweb [at] ichiayi [dot] com">Jonathan Tsai</a> 2008/05/17 14:55</em> </p> <blockquote><div class="no"> Hallo! Sorry, all abc media files are stored in the namespace “plugin_abc”. I did not want the “normal” media folders to be too cluttered. But unfortunately, this also means “normal” <abbr title="Access Control List">ACL</abbr> rules will not apply. (In future releases I will make this namespace configurable!) You can either <br/> - add an <abbr title="Access Control List">ACL</abbr> rule <pre class="code">plugin_abc:* @ALL 1</pre> <p> - or change the following lines in <code>./lib/plugins/abc/syntax.php</code> (in order to not store all files in “plugin_abc”, but in their correct corresponding namespace): </p> <pre class="code php"><span class="co1">//line 177:</span> <span class="re0">$abcdir</span> <span class="sy0">=</span> <span class="re0">$savedir</span><span class="sy0">.</span><span class="st_h">'/media/plugin_abc'</span><span class="sy0">;</span> <span class="co1">//line 354:</span> <span class="re0">$abcMediaUrl</span><span class="sy0">=</span>DOKU_BASE<span class="sy0">.</span><span class="st0">"lib/exe/fetch.php?cache=cache&amp;media=plugin_abc:"</span><span class="sy0">;</span></pre> <p> to </p> <pre class="code php"><span class="co1">//line 177:</span> <span class="re0">$abcdir</span> <span class="sy0">=</span> <span class="re0">$savedir</span><span class="sy0">.</span><span class="st_h">'/media'</span><span class="sy0">;</span> <span class="co1">//line 354:</span> <span class="re0">$abcMediaUrl</span><span class="sy0">=</span>DOKU_BASE<span class="sy0">.</span><span class="st0">"lib/exe/fetch.php?cache=cache&amp;media="</span><span class="sy0">;</span></pre> <p> <br/> — <em><a href="mailto:anika%20%5Bat%5D%20selfthinker%20%5Bdot%5D%20org" class="mail" title="anika [at] selfthinker [dot] org">Anika Henke</a> 2008/05/18 11:54</em> </p> <blockquote><div class="no"> Thanks Anika, <br/> <br/> After comparing the adding an <abbr title="Access Control List">ACL</abbr> rule method and the other method to modify './lib/plugins/abc/syntax.php' code , I would like to choose the last one to solve the issue. Because it can let all abc files following my <abbr title="Access Control List">ACL</abbr> rules setting. Thank you again for your kindly and rapidly reply.</div></blockquote> </div></blockquote> <p> — <em><a href="mailto:tryweb%20%5Bat%5D%20ichiayi%20%5Bdot%5D%20com" class="mail" title="tryweb [at] ichiayi [dot] com">Jonathan Tsai</a> 2008/05/18 23:23</em> </p> </div> <div class="secedit editbutton_section editbutton_19"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[ACL issues] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="acl_issues" /><input type="hidden" name="codeblockOffset" value="2" /><input type="hidden" name="range" value="10337-12051" /><button type="submit" title="ACL issues">Edit</button></div></form></div> <h3 class="sectionedit20" id="working_with_jcabc2ps">Working with jcabc2ps</h3> <div class="level3"> <p> Hmmm, tried to get the plugin working with jcabc2ps but that directly writes to stdout and I haven't got a clue how to fix this and either change the plugin to do something like jcabc2ps filename.abc > filename.ps or alter jcabc2ps to directly dump to .ps. (The reason I'd like to use jcabc2ps is the more clever way of altering bass notes and such… <a href="http://trillian.mit.edu/~jc/music/abc/doc/ABCtut_Clefs.html" class="urlextern" title="http://trillian.mit.edu/~jc/music/abc/doc/ABCtut_Clefs.html">http://trillian.mit.edu/~jc/music/abc/doc/ABCtut_Clefs.html</a> Anything anyone could fix? (I might try to fiddle around with it a bit myself, but I have very little knowledge of PHP…) — <em><a href="mailto:harmen%20%5Bat%5D%20murf%20%5Bdot%5D%20nl" class="mail" title="harmen [at] murf [dot] nl">Harmen</a> 2009/03/31 17:14</em> </p> </div> <div class="secedit editbutton_section editbutton_20"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Working with jcabc2ps] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="working_with_jcabc2ps" /><input type="hidden" name="codeblockOffset" value="5" /><input type="hidden" name="range" value="12052-12676" /><button type="submit" title="Working with jcabc2ps">Edit</button></div></form></div> <h3 class="sectionedit21" id="setting_ps2pdf_on_windows">Setting ps2pdf on Windows</h3> <div class="level3"> <p> I'm not too sure what to put when setting ps2pdf. I've tried putting <code>c:\xxx\xxx\ghostscript\gs8.71\lib\ps2pdf14</code> and I get the error message that it's not an executable. There's no .exe files that I can see in the ghostscript folder. Midi & ps conversion works fine. Dokuwiki on local install. Any help appreciated. — ty <em>2011/08/29 10:13</em> </p> </div> <div class="secedit editbutton_section editbutton_21"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Setting ps2pdf on Windows] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="setting_ps2pdf_on_windows" /><input type="hidden" name="codeblockOffset" value="5" /><input type="hidden" name="range" value="12677-13062" /><button type="submit" title="Setting ps2pdf on Windows">Edit</button></div></form></div> <h3 class="sectionedit22" id="understanding_transposition">Understanding Transposition</h3> <div class="level3"> <p> I understood that I have to put the following in the plugin beginning to obtain a transposition: </p> <pre class="code"><abc 7 -3></pre> <p> Do I need to do something else to obtain a transposition? I copied your example in my page but it seems to not work. What did I missed? <em><a href="/plugin:partenery_ate_gmail_point_com" class="wikilink2" title="plugin:partenery_ate_gmail_point_com" rel="nofollow" data-wiki-id="plugin:partenery_ate_gmail_point_com">Florin</a></em> </p> <blockquote><div class="no"> You only need to make sure <code>abc2abc</code> (from the <code>abc2midi</code> package) is installed and working. The path to it then needs to be set in the <code>abc2abc</code> config option. — <a href="https://forum.dokuwiki.org/u/ach" class="interwiki iw_user" title="https://forum.dokuwiki.org/u/ach">Anika Henke</a> <em>2014/03/23 13:43</em></div></blockquote> </div> <div class="secedit editbutton_section editbutton_22"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Understanding Transposition] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="understanding_transposition" /><input type="hidden" name="codeblockOffset" value="5" /><input type="hidden" name="range" value="13063-13623" /><button type="submit" title="Understanding Transposition">Edit</button></div></form></div> <h3 class="sectionedit23" id="error_messages">Error messages</h3> <div class="level3"> <blockquote><div class="no"> I recive the folowing errors: abc2ps In tune<br/> <br/> Error : 'staffwidth' too big<br/> <br/> File C:/xampp/htdocs/dki/data/media/plugin_abc/kunde/2_zocharti_loch.abc<br/> Output written on C:/xampp/htdocs/dki/data/media/plugin_abc/kunde/2_zocharti_loch001.eps (26954 bytes)<br/> abc2ps<br/> <br/> File C:/xampp/htdocs/dki/data/media/plugin_abc/kunde/2_zocharti_loch.abc<br/> Output written on C:/xampp/htdocs/dki/data/media/plugin_abc/kunde/2_zocharti_loch.ps (1 page, 1 title, 27063 bytes) — <em><a href="/plugin:partenery_ate_gmail_point_com" class="wikilink2" title="plugin:partenery_ate_gmail_point_com" rel="nofollow" data-wiki-id="plugin:partenery_ate_gmail_point_com">Florin</a></em><br/> <br/> <blockquote><div class="no"> That is just a feedback from abcm2ps which you can ignore or even turn off with the <code>displayErrorlog</code> config option. The messages will only be displayed the first time you save a page with ABC in it, after that they will disappear. — <a href="https://forum.dokuwiki.org/u/ach" class="interwiki iw_user" title="https://forum.dokuwiki.org/u/ach">Anika Henke</a> <em>2013/07/11 01:39</em><br/> <br/> <blockquote><div class="no"> <code>Error : 'staffwidth' too big</code>-it is a normal message? — <em><a href="/plugin:partenery_ate_gmail_point_com" class="wikilink2" title="plugin:partenery_ate_gmail_point_com" rel="nofollow" data-wiki-id="plugin:partenery_ate_gmail_point_com">Florin</a></em><br/> <blockquote><div class="no"> Yes, I get that message all the time. That is nothing to worry about. — <a href="https://forum.dokuwiki.org/u/ach" class="interwiki iw_user" title="https://forum.dokuwiki.org/u/ach">Anika Henke</a> <em>2013/07/12 00:35</em></div></blockquote> </div></blockquote> </div></blockquote> <p> So, please tell me where exactly should I post this debugging code <code>var $_debug = 1</code>? </p> <blockquote><div class="no"> There is only one syntax.php in the plugin and there is only one “var $_debug”.<br/> <br/> <a href="https://github.com/selfthinker/dokuwiki_plugin_abc/blob/master/syntax.php#L18" class="urlextern" title="https://github.com/selfthinker/dokuwiki_plugin_abc/blob/master/syntax.php#L18">https://github.com/selfthinker/dokuwiki_plugin_abc/blob/master/syntax.php#L18</a>.</div></blockquote> <p> For test I made myself via notepad an ABC File with this content:<br/> <br/> test.abc:<br/> <abc 5><br/> X:42<br/> T:Test<br/> M:4/4<br/> K:C<br/> “C” C2 D2 E2 G2 |“C” c8 |]<br/> w:This is just a test.<br/> </abc> </p> <blockquote><div class="no"> ABC files shouldn't have <abc></abc> in them. That's only meant for DokuWiki to know that the content can be rendered by the ABC plugin.<blockquote><div class="no"> Good to know.<br/> </div></blockquote> </div></blockquote> </div></blockquote> <blockquote><div class="no"> <strong>1.</strong>This is my first manual testing steps:<br/> <br/> Win server 2003. Run, cmd:<br/> C:\Utile\abcm2ps>C:\Utile\abcm2ps\abcm2ps.exe test.abc -s 1 -w 600 -E -O test. 2>&1<br/> abcm2ps-6.6.22 (November 28, 2012)<br/> -In tune:<br/> Error: 'staffwidth' too big<br/> Output written on test001.eps</div></blockquote> <blockquote><div class="no"> <strong>2.</strong>C:\Utile\ImageMagick-6.8.6-Q8\convert.exe C:\Utile\abcm2ps\test001.eps -flatten test.png<br/> convert: Postscript delegate failed `rrr.eps': No such file or directory @ error/ps.c/ReadPSImage/837.<br/> convert: no images defined `rrr.png' @ error/convert.c/ConvertImageCommand/3106.<blockquote><div class="no"> You are probably missing the Ghostscript delegate library. Install it from here: <a href="http://www.imagemagick.org/script/binary-releases.php" class="urlextern" title="http://www.imagemagick.org/script/binary-releases.php">http://www.imagemagick.org/script/binary-releases.php</a> <a href="https://forum.dokuwiki.org/u/ach" class="interwiki iw_user" title="https://forum.dokuwiki.org/u/ach">Anika Henke</a><blockquote><div class="no"> It works! My advice is to open the <strong>imdisplay.exe</strong> inside ImageMagick folder and try to open manually test001.eps. If you see the image the converter is working. (to me it did not work before installing GhostScript application!)<br/> <br/> Pay attention too to the apache error.log. It seems that for some reasons the path to im_converter (set in Configuration Manager DW) to not be recognized because of the space between C:\Program(space)files\path. For me it worked installing it outside the <code>Program Files</code> folder (I have Windows 2003 and I installed it in the <code>C:\Util\</code>. <em><a href="/plugin:partenery_ate_gmail_point_com" class="wikilink2" title="plugin:partenery_ate_gmail_point_com" rel="nofollow" data-wiki-id="plugin:partenery_ate_gmail_point_com">Florin</a></em><br/> </div></blockquote> </div></blockquote> </div></blockquote> </div> <div class="secedit editbutton_section editbutton_23"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Error messages] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="error_messages" /><input type="hidden" name="codeblockOffset" value="6" /><input type="hidden" name="range" value="13624-16627" /><button type="submit" title="Error messages">Edit</button></div></form></div> <h3 class="sectionedit24" id="multiple_abc_section_on_the_same_page">Multiple abc section on the same page</h3> <div class="level3"> <p> Hi Anika and thanks for this plugin. </p> <p> I recently installed it on a 2014-09-29d “Hrun” and it works great. </p> <p> Just one question, is there is a way to have multiple <abc> section on the same page? </p> <p> When I'm doing it, I'm getting multiple image of the last section instead of 2 distinct section. </p> <p> Thanks - Thomas. </p> <blockquote><div class="no"> Yes, having multiple abc section on the same page is no problem. The problem you're having sounds like it's because your sections have the same titles and IDs/reference number (<code>X:</code>). The media files which get created all follow a pattern for the file name which first has the ID and then the title. So, when both are the same, the previous files get overwritten. Just make sure you use different reference numbers. — <a href="https://forum.dokuwiki.org/u/ach" class="interwiki iw_user" title="https://forum.dokuwiki.org/u/ach">Anika Henke</a> <em>2017-01-23 00:19</em></div></blockquote> <blockquote><div class="no"> <blockquote><div class="no"> Great. This is working as you mentioned. Thanks again Anika!</div></blockquote> </div></blockquote> <blockquote><div class="no"> <blockquote><div class="no"> <blockquote><div class="no"> This does not happen with the new <a href="/plugin:abc2" class="wikilink1" title="plugin:abc2" data-wiki-id="plugin:abc2">ABC2 Plugin</a>. — <a href="https://forum.dokuwiki.org/u/ach" class="interwiki iw_user" title="https://forum.dokuwiki.org/u/ach">ach</a> <em>2021-01-11 19:21</em></div></blockquote> </div></blockquote> </div></blockquote> </div> <div class="secedit editbutton_section editbutton_24"><form class="button btn_secedit" method="post" action="/plugin:abc"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1698702098" /><input type="hidden" name="summary" value="[Multiple abc section on the same page] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="multiple_abc_section_on_the_same_page" /><input type="hidden" name="codeblockOffset" value="6" /><input type="hidden" name="range" value="16628-" /><button type="submit" title="Multiple abc section on the same page">Edit</button></div></form></div> <!-- wikipage stop --> </div> <div class="docInfo"><bdi>plugin/abc.txt</bdi> · Last modified: <time datetime="2023-10-30T22:41:38+0100">2023-10-30 22:41</time> by <bdi>Klap-in</bdi></div> <hr class="a11y" /> </div></main><!-- /content --> <!-- PAGE ACTIONS --> <nav id="dokuwiki__pagetools" aria-labelledby="dokuwiki__pagetools__heading"> <h3 class="a11y" id="dokuwiki__pagetools__heading">Page Tools</h3> <div class="tools"> <ul> <li class="edit"><a href="/plugin:abc?do=edit" title="Edit this page [e]" rel="nofollow" accesskey="e"><span>Edit this page</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg></a></li><li class="revs"><a href="/plugin:abc?do=revisions" title="Old revisions [o]" rel="nofollow" accesskey="o"><span>Old revisions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M11 7v5.11l4.71 2.79.79-1.28-4-2.37V7m0-5C8.97 2 5.91 3.92 4.27 6.77L2 4.5V11h6.5L5.75 8.25C6.96 5.73 9.5 4 12.5 4a7.5 7.5 0 0 1 7.5 7.5 7.5 7.5 0 0 1-7.5 7.5c-3.27 0-6.03-2.09-7.06-5h-2.1c1.1 4.03 4.77 7 9.16 7 5.24 0 9.5-4.25 9.5-9.5A9.5 9.5 0 0 0 12.5 2z"/></svg></a></li><li class="backlink"><a href="/plugin:abc?do=backlink" title="Backlinks" rel="nofollow"><span>Backlinks</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10.59 13.41c.41.39.41 1.03 0 1.42-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0 5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24 2.982 2.982 0 0 0-4.24 0l-3.53 3.53a2.982 2.982 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0 5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24 2.982 2.982 0 0 0 4.24 0l3.53-3.53a2.982 2.982 0 0 0 0-4.24.973.973 0 0 1 0-1.42z"/></svg></a></li><li class="top"><a href="#dokuwiki__top" title="Back to top [t]" rel="nofollow" accesskey="t"><span>Back to top</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"/></svg></a></li> </ul> </div> </nav> </div><!-- /wrapper --> <!-- ********** FOOTER ********** --> <footer id="dokuwiki__footer"><div class="pad"> <div class="license">Except where otherwise noted, content on this wiki is licensed under the following license: <bdi><a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en" rel="license" class="urlextern">CC Attribution-Share Alike 4.0 International</a></bdi></div> <div class="buttons"> <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en" rel="license"><img src="/lib/images/license/button/cc-by-sa.png" alt="CC Attribution-Share Alike 4.0 International" /></a> <a href="https://www.dokuwiki.org/donate" title="Donate" ><img src="/lib/tpl/dokuwiki/images/button-donate.gif" width="80" height="15" alt="Donate" /></a> <a href="https://php.net" title="Powered by PHP" ><img src="/lib/tpl/dokuwiki/images/button-php.gif" width="80" height="15" alt="Powered by PHP" /></a> <a href="//validator.w3.org/check/referer" title="Valid HTML5" ><img src="/lib/tpl/dokuwiki/images/button-html5.png" width="80" height="15" alt="Valid HTML5" /></a> <a href="//jigsaw.w3.org/css-validator/check/referer?profile=css3" title="Valid CSS" ><img src="/lib/tpl/dokuwiki/images/button-css.png" width="80" height="15" alt="Valid CSS" /></a> <a href="https://dokuwiki.org/" title="Driven by DokuWiki" ><img src="/lib/tpl/dokuwiki/images/button-dw.png" width="80" height="15" alt="Driven by DokuWiki" /></a> </div> <div style="margin-top: 2em; font-size:90%" class="dokuwiki"><div style="float:right"><a href="http://www.splitbrain.org/personal#imprint" style="float:right; text-decoration: none; color:#333">Imprint</a></div></div><!-- Include for DokuWiki site wide top bar --> <style type="text/css"> @media screen { body { padding-top: 30px; } #global__header { position: absolute; top: 0; left: 0; text-align: left; vertical-align: middle; line-height: 1.5; background-color: #333; box-shadow: 0 0 8px rgba(0,0,0,0.5); width: 100%; margin: 0; padding: 5px 20px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap; overflow: hidden; } #global__header h2 { position: absolute; left: -99999em; top: 0; overflow: hidden; display: inline; } #global__header ul, #global__header li { margin: 0; padding: 0; list-style: none; display: inline; line-height: 1.5; } #global__header a { color: #bbb; text-decoration: none; margin-right: 20px; font-size: 14px; font-weight: normal; } #global__header a:hover, #global__header a:active, #global__header a:focus { color: #fff; text-decoration: underline; } #global__header form { float: right; margin: 0 0 0 20px; } #global__header input { background-color: #333; background-image: none; border: 1px solid #bbb; color: #fff; box-shadow: none; border-radius: 2px; margin: 0; line-height: normal; padding: 1px 0 1px 0; height: auto; } #global__header input.button { border: none; color: #bbb; } #global__header input.button:hover, #global__header input.button:active, #global__header input.button:focus { color: #fff; text-decoration: underline; } } /* /@media */ @media only screen and (min-width: 601px) { /* changes specific for www.dokuwiki.org */ #dokuwiki__header { padding-top: 3em; } #dokuwiki__usertools { top: 3em; } /* changes specific for bugs.dokuwiki.org */ div#container div#showtask { top: 40px; } } /* /@media */ @media only screen and (max-width: 600px) { body { padding-top: 0; } #global__header { position: static; white-space: normal; overflow: auto; } #global__header form { float: none; display: block; margin: 0 0 .4em; } } /* /@media */ @media print { #global__header { display: none; } } /* /@media */ </style> <div id="global__header"> <h2>Global DokuWiki Links</h2> <form method="get" action="https://search.dokuwiki.org/" target="_top"> <input type="text" name="q" title="Search all DokuWiki sites at once" class="input" /> <input type="submit" title="Search all DokuWiki sites at once" value="Search" class="button" /> </form> <ul> <li><a href="https://download.dokuwiki.org" title="Download the latest release" target="_top">Download</a></li> <li><a href="https://www.dokuwiki.org" title="Read the DokuWiki documentation" target="_top">Wiki</a></li> <li><a href="https://forum.dokuwiki.org" title="Ask questions in the DokuWiki forum" target="_top">Forum</a></li> <li><a href="https://irc.dokuwiki.org" title="Check IRC chat logs or join the chat" target="_top">IRC</a></li> <li><a href="https://github.com/splitbrain/dokuwiki/issues" title="Report and track bugs" target="_top">Bugs</a></li> <li><a href="https://translate.dokuwiki.org/" title="Help translating the DokuWiki interface" target="_top">Translate</a></li> <li><a href="https://github.com/splitbrain/dokuwiki" title="Access the most recent git commits" target="_top">Git</a></li> <li><a href="https://xref.dokuwiki.org/reference/dokuwiki/" title="Cross-Reference of the DokuWiki source code" target="_top">XRef</a></li> <li><a href="https://codesearch.dokuwiki.org/" title="Search through the sources of DokuWiki, plugins and templates" target="_top">Code Search</a></li> </ul> </div> <!-- end of DokuWiki top bar include --> </div></footer><!-- /footer --> </div></div><!-- /site --> <div class="no"><img src="/lib/exe/taskrunner.php?id=plugin%3Aabc&1743832901" width="2" height="1" alt="" /></div> <div id="screen__mode" class="no"></div></body> </html>