force use of pandoc version >= 3.1.12.2

The `bin/pandoc-wrapper.sh` tool will verify that the ssytem
has a recent enough version of `pandoc(1)`.

We explain why we insist on `pandoc(1)`. version >= 3.1.12.2
in comments where the $PANDOC_MIN_VERSION is set.

Added `--wrap=preserve` as a default argument to `pandoc(1)`.
While this change will impact every HTML file generated,
we believe this will improve the ability of someone to look
at the generated HTML and correlate with the original markdown.

Changed `bin/pandoc-wrapper.sh` VERSION from "1.4.2 2024-03-17"
to "1.4.3 2024-03-18".

Performed `make www` to achieve all of the above and to generate
HTML using the new  `--wrap=preserve` `pandoc(1)` mode.
This commit is contained in:
Landon Curt Noll committed 2024-03-18 01:26:39 -07:00
1 parent 9eb7a54e9f
commit b0b212acb1
402 files changed
+37061 -55132

No files matched your search

+53 -60
View File
@@ -124,77 +124,70 @@
<h2 id="calling-the-program">Calling the program</h2>
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./deckmyn</span> <span class="st">&quot;</span><span class="kw">`</span><span class="fu">cat</span> deckmyn.c<span class="kw">`</span><span class="st">&quot;</span> <span class="st">&quot;</span><span class="kw">`</span><span class="fu">cat</span> musicfile<span class="kw">`</span><span class="st">&quot;</span> <span class="op">&gt;</span> output.pbm</span></code></pre></div>
<p>Then display <code>output.pbm</code>.</p>
<p>This minimalistic music notator expects two command line arguments.
The first is the font description embedded in the source code. Notice
that you don’t pass the file name, but the actual content as one long
character string! If you want to define your personal music font, you
can of course do so. The file layout must be exactly the same as <a
href="deckmyn.c">deckmyn.c</a> though, only the locations of space
(<code>" "</code>) may differ.</p>
<p>The second argument is the actual music. Again it is one long string,
not a file name. But it is possible to save your music in a file, of
course.</p>
<p>Output should be redirected to a file. Afterwards, this file can be
visualised with various viewers.</p>
<p>This minimalistic music notator expects two command line arguments. The first is
the font description embedded in the source code. Notice that you don’t pass the
file name, but the actual content as one long character string! If you want to
define your personal music font, you can of course do so. The file layout must
be exactly the same as <a href="deckmyn.c">deckmyn.c</a> though, only the locations of
space (<code>" "</code>) may differ.</p>
<p>The second argument is the actual music. Again it is one long string, not a file
name. But it is possible to save your music in a file, of course.</p>
<p>Output should be redirected to a file. Afterwards, this file can be visualised
with various viewers.</p>
<h2 id="music-input">Music input</h2>
<p>Every element in the music is given by a string of <em>exactly</em> 3
characters. Any violation of this will result in the rest of the music
being interpreted in some randomly wrong way. Notice that in a file, the
newline is also a character! Therefore, when preparing music in a file,
care should be taken that the last musical element of a line is only 2
characters!</p>
<p>Every element in the music is given by a string of <em>exactly</em> 3 characters. Any
violation of this will result in the rest of the music being interpreted in some
randomly wrong way. Notice that in a file, the newline is also a character!
Therefore, when preparing music in a file, care should be taken that the last
musical element of a line is only 2 characters!</p>
<ol type="1">
<li><p>Basic notes: A single note is input by a letter (in the range
<code>[A-Ga-g]</code>) followed by a duration (1, 2, 4 or 8) and
possibly a dot (<code>.</code>). The notes cover 2 octaves, from
<code>C</code> (lowest) to <code>b</code> (highest). The possible
durations are 1 (whole note), 2 (half note), 4 (quaver), 8
(semi-quaver). So a dotted quaver <code>A</code> followed by a semi
quaver <code>G</code> is input as <code>"A4.G8 "</code>.</p></li>
<li><p>Rests: A rest is given by the letter <code>r</code> followed by a
duration (1, 2, 4 or 8).</p></li>
<li><p>Bar lines: There are three possible bar line types: single
(<code>": "</code>), double (<code>":: "</code>) and final
(<code>":; "</code>).</p></li>
<li><p>Accidentals: Chromatic changes (sharp, flat, natural) are entered
separately from the note that follows them! They are a three-character
sequence by themselves. The first character is the chromatic change
[<code>+-=</code>]. The second is the pitch at which it should be drawn.
Thus <code>"+G G4 "</code> will draw a G sharp quaver. Notice that these
signs do not necessarily have to be followed by a note.
<li><p>Basic notes:
A single note is input by a letter (in the range <code>[A-Ga-g]</code>) followed by a
duration (1, 2, 4 or 8) and possibly a dot (<code>.</code>). The notes cover 2 octaves,
from <code>C</code> (lowest) to <code>b</code> (highest). The possible durations are 1 (whole
note), 2 (half note), 4 (quaver), 8 (semi-quaver). So a dotted quaver <code>A</code>
followed by a semi quaver <code>G</code> is input as <code>"A4.G8 "</code>.</p></li>
<li><p>Rests:
A rest is given by the letter <code>r</code> followed by a duration (1, 2, 4 or 8).</p></li>
<li><p>Bar lines:
There are three possible bar line types: single (<code>": "</code>), double (<code>":: "</code>)
and final (<code>":; "</code>).</p></li>
<li><p>Accidentals:
Chromatic changes (sharp, flat, natural) are entered separately from the
note that follows them! They are a three-character sequence by themselves.
The first character is the chromatic change [<code>+-=</code>]. The second is the pitch
at which it should be drawn. Thus <code>"+G G4 "</code> will draw a G sharp quaver.
Notice that these signs do not necessarily have to be followed by a note.
<code>"+f +c +g B2 "</code> is perfectly legal.</p></li>
<li><p>Space (formatting): To manually change the spacing of the music,
you can add space between different musical elements. This is given by
an <code>s</code> followed by the amount of space. <code>"s3 "</code> is
the space taken by one note. This length is given in 1 character.
However, to get a value larger than 9, you can just continue along the
ASCII table. So <code>"sz "</code> gives you quite a lot of space on a
staff. <code>"s0 "</code> is not only meaningless, it can cause nasty
results.</p></li>
<li><p>New staff: A token <code>"x "</code> signifies to start a new
staff of music. A music staff may never be empty! Even if you just put
some blank space (<code>"s1 "</code>), you should always have an entry
for every staff. <code>"x x "</code> may give nasty results.</p>
<p>All staves in the output are extended to the length of the longest
staff. To have nicely formatted music, though, you will probably have to
add spaces manually.</p></li>
<li><p>Time signatures: A time signature is given by
<code>[m][234][234]</code>. For example, <code>"m24"</code> will give
<li><p>Space (formatting):
To manually change the spacing of the music, you can add space between
different musical elements. This is given by an <code>s</code> followed by the amount
of space. <code>"s3 "</code> is the space taken by one note. This length is given in 1
character. However, to get a value larger than 9, you can just continue
along the ASCII table. So <code>"sz "</code> gives you quite a lot of space on a staff.
<code>"s0 "</code> is not only meaningless, it can cause nasty results.</p></li>
<li><p>New staff:
A token <code>"x "</code> signifies to start a new staff of music. A music staff may
never be empty! Even if you just put some blank space (<code>"s1 "</code>), you should
always have an entry for every staff. <code>"x x "</code> may give nasty results.</p>
<p>All staves in the output are extended to the length of the longest staff. To
have nicely formatted music, though, you will probably have to add spaces
manually.</p></li>
<li><p>Time signatures:
A time signature is given by <code>[m][234][234]</code>. For example, <code>"m24"</code> will give
you a two fourth signature. Notice that there are only three available
numbers. Especially “6” and “8” are dearly missed.</p></li>
<li><p>Clef: The clef (<code>G</code> or <code>F</code>) can only be
changed at the beginning of the music input. If the music starts with
<code>"KF "</code>, the music will be written in a bass clef.
<code>"K"</code> followed by any other letter will just default to a
standard G clef.</p></li>
<li><p>Clef:
The clef (<code>G</code> or <code>F</code>) can only be changed at the beginning of the music
input. If the music starts with <code>"KF "</code>, the music will be written in a bass
clef. <code>"K"</code> followed by any other letter will just default to a standard G clef.</p></li>
</ol>
<h2 id="examples">Examples</h2>
<p>Blank music paper (with G clef):</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./deckmyn</span> <span class="st">&quot;</span><span class="kw">`</span><span class="fu">cat</span> deckmyn.c<span class="kw">`</span><span class="st">&quot;</span> <span class="st">&quot;sz sa x s1 x s1 x s1 x s1 x s1 &quot;</span><span class="op">&gt;</span> blank.pbm</span></code></pre></div>
<p>With an F clef:</p>
<pre><code>./deckmyn &quot;`cat deckmyn.c`&quot; &quot;KF sz sa x s1 x s1 x s1 x s1 x s1 &quot;&gt; blank.pbm</code></pre>
<p>Notice how only the first staff (or any staff) needs to have the full
length.</p>
<p>Notice how only the first staff (or any staff) needs to have the full length.</p>
<p>Some files with well-known melodies are included as examples.</p>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
+97 -143
View File
@@ -130,8 +130,8 @@
<h2 id="author"><a name="author"></a>Author:</h2>
<ul>
<li>Name: <a href="../../authors.html#Alex_Deckmyn">Alex Deckmyn</a><br>
Location: <a href="../../location.html#BE">BE</a> - <em>Kingdom of
Belgium</em> (<em>Belgium</em>) <br><br></li>
Location: <a href="../../location.html#BE">BE</a> - <em>Kingdom of Belgium</em> (<em>Belgium</em>)
<br><br></li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
@@ -144,185 +144,139 @@ Belgium</em> (<em>Belgium</em>) <br><br></li>
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
<p>The current status of this entry is:</p>
<pre><code>STATUS: INABIAF - please **DO NOT** fix</code></pre>
<p>For more detailed information see <a
href="../../bugs.html#2012_deckmyn">2012 deckmyn bugs</a>.</p>
<p>For more detailed information see <a href="../../bugs.html#2012_deckmyn">2012 deckmyn bugs</a>.</p>
<h2 id="to-use">To use:</h2>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./deckmyn</span> <span class="st">&quot;</span><span class="va">$(</span><span class="fu">cat</span> deckmyn.c<span class="va">)</span><span class="st">&quot;</span> <span class="st">&quot;</span><span class="va">$(</span><span class="fu">cat</span> musicfile.txt<span class="va">)</span><span class="st">&quot;</span> <span class="op">&gt;</span> sheetmusic.pbm</span></code></pre></div>
<h2 id="try">Try:</h2>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>The C of this entry is definitely sharp. The program cleverly uses
its own source at runtime to define the notes, time signature and
accidental bitmaps.</p>
<p>In addition to sheet music, this program is also able to, given the
right input, generate an image of a 10-pin <a
href="https://en.wikipedia.org/wiki/Dual_in-line_package">DIP chip</a>
(a sound processor?).</p>
<p>The C of this entry is definitely sharp. The program cleverly uses its own
source at runtime to define the notes, time signature and accidental bitmaps.</p>
<p>In addition to sheet music, this program is also able to, given the right input,
generate an image of a 10-pin <a href="https://en.wikipedia.org/wiki/Dual_in-line_package">DIP
chip</a> (a sound processor?).</p>
<h3 id="historical-remarks">Historical remarks:</h3>
<p>We previously wrote that ironically, the way this entry is called
from the command line is an abuse of <a
href="https://en.wikipedia.org/wiki/C_shell">C Shell</a>. Please use <a
href="https://en.wikipedia.org/wiki/Bourne_shell">Bourne-family
shells</a> to run this entry.</p>
<p>… but in 2023 we changed the backticks to be the bash
<code>$(..)</code> construct. This is not done in the author’s remarks,
however.</p>
<p>We previously wrote that ironically, the way this entry is called from the
command line is an abuse of <a href="https://en.wikipedia.org/wiki/C_shell">C Shell</a>.
Please use <a href="https://en.wikipedia.org/wiki/Bourne_shell">Bourne-family shells</a> to
run this entry.</p>
<p>… but in 2023 we changed the backticks to be the bash <code>$(..)</code> construct. This
is not done in the author’s remarks, however.</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<h3 id="example-use">Example use</h3>
<p>You need the source code and example input (either one of the example
files, or manual input as below) ready and a program capable of showing
<a href="https://en.wikipedia.org/wiki/Netpbm">.pbm bitmap format</a>
images.</p>
<p>You need the source code and example input (either one of the example files, or
manual input as below) ready and a program capable of showing <a href="https://en.wikipedia.org/wiki/Netpbm">.pbm bitmap
format</a> images.</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./deckmyn</span> <span class="st">&quot;</span><span class="kw">`</span><span class="fu">cat</span> deckmyn.c<span class="kw">`</span><span class="st">&quot;</span> <span class="st">&quot;</span><span class="kw">`</span><span class="fu">cat</span> example_greensleeves<span class="kw">`</span><span class="st">&quot;</span> <span class="op">&gt;</span> greensleeves.pbm</span></code></pre></div>
<p>If you have macOS you can open the image like:</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">open</span> greensleeves.pbm</span></code></pre></div>
<p>… otherwise, you’ll have to open it in your viewer of choice how you
would normally open an image.</p>
<p>… otherwise, you’ll have to open it in your viewer of choice how you would
normally open an image.</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./deckmyn</span> <span class="st">&quot;</span><span class="kw">`</span><span class="fu">cat</span> deckmyn.c<span class="kw">`</span><span class="st">&quot;</span> <span class="st">&quot;KF m44c4 c4 g4 g4 : a4 a4 g2 :; &quot;</span> <span class="op">&gt;</span> short_bass.pbm</span></code></pre></div>
<p>If you have macOS you can open the image like:</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="ex">open</span> short_bass.pbm</span></code></pre></div>
<p>… otherwise, you’ll have to open it in your viewer of choice how you
would normally open an image.</p>
<p>… otherwise, you’ll have to open it in your viewer of choice how you would
normally open an image.</p>
<h3 id="description">Description</h3>
<p>Every major C competition should have an entry capable of producing C
major. This is a music notation program. It produces <a
href="https://en.wikipedia.org/wiki/Netpbm">bitmaps</a>
(<code>.pbm</code>) of music based on ASCII input. A full manual is
added as a <a href="deckmyn.html">separate file</a>. Some musical
<p>Every major C competition should have an entry capable of producing C major.
This is a music notation program. It produces
<a href="https://en.wikipedia.org/wiki/Netpbm">bitmaps</a> (<code>.pbm</code>) of music based on ASCII
input. A full manual is added as a <a href="deckmyn.html">separate file</a>. Some musical
examples are also included.</p>
<p>The program is capable of printing notes, rests, (double) bar lines
and accidentals on a single melodic line (multiple staves). No chords,
polyphony etc.</p>
<p>The program expects <em>two command line arguments</em>. The first is
a (very long) string that contains the complete music font. Note that it
should <em>not</em> be given as a file name! The default music font is
encoded in the (whitespace of the) source code <a
href="deckmyn.c">deckmyn.c</a> itself. Therefore, the first argument
should be <code>"``</code> <code>cat deckmyn.c</code>
<code>``"</code>.</p>
<p>The second command line argument is the music itself. This is, again,
a string, not a file name. All music signs are entered as tokens of
exactly 3 characters. The code is very sensitive to bad spacing! So for
instance, if you use a file to write the music (e.g. <a
href="example_greensleeves">example_greensleeves</a>), you should keep
in mind that newline is also a character!</p>
<p>The program is capable of printing notes, rests, (double) bar lines and
accidentals on a single melodic line (multiple staves). No chords, polyphony
etc.</p>
<p>The program expects <em>two command line arguments</em>. The first is a (very long)
string that contains the complete music font. Note that it should <em>not</em> be given
as a file name! The default music font is encoded in the (whitespace of the)
source code <a href="deckmyn.c">deckmyn.c</a> itself. Therefore, the first argument should
be <code>"``</code> <code>cat deckmyn.c</code> <code>``"</code>.</p>
<p>The second command line argument is the music itself. This is, again, a string,
not a file name. All music signs are entered as tokens of exactly 3 characters.
The code is very sensitive to bad spacing! So for instance, if you use a file to
write the music (e.g. <a href="example_greensleeves">example_greensleeves</a>), you should
keep in mind that newline is also a character!</p>
<h3 id="internals">Internals</h3>
<p>To minimise the memory footprint, this program has <em>no variable
declarations at all</em>, except for the arguments to
<code>main()</code>. The only available memory space is from the command
line arguments and count (<code>argv</code> and <code>argc</code>).
Parts of <code>argv</code> are cast as <code>int</code> when values
under 0 or beyond 127 are expected.</p>
<p>The “music font” is defined by the source code itself. The first few
lines are not part of the font definition, as this memory space will be
modified by the program. (So as required by the rules, it is only a
(memory) copy of the source code that is modified.)</p>
<p>As there is no memory available, output is directly to
<code>stdout</code>, byte by byte, from the top left to the bottom right
pixel.</p>
<p>To minimise the memory footprint, this program has <em>no variable declarations at
all</em>, except for the arguments to <code>main()</code>. The only available memory space is
from the command line arguments and count (<code>argv</code> and <code>argc</code>). Parts of <code>argv</code>
are cast as <code>int</code> when values under 0 or beyond 127 are expected.</p>
<p>The “music font” is defined by the source code itself. The first few lines are
not part of the font definition, as this memory space will be modified by the
program. (So as required by the rules, it is only a (memory) copy of the source
code that is modified.)</p>
<p>As there is no memory available, output is directly to <code>stdout</code>, byte by byte,
from the top left to the bottom right pixel.</p>
<h3 id="limitations">LIMITATIONS</h3>
<p>The memory locations of <code>argv</code> are used for various
purposes. Therefore, the program name (default <code>deckmyn</code>)
must be <em>at least 4 characters long</em>, including possibly the
path. This, along with the ending <code>'\0'</code>, gives minimum 5
bytes of useful memory space. Otherwise, the program may attempt to
write outside the string.</p>
<p>The code is quite sensitive. Errors in the input can lead to strange
results. The code does not read beyond the end of the music input, but
that is about the only error checking available. Any input that is not
according to the rules in the <a href="deckmyn.html">manual</a>, may
cause errors.</p>
<p>The program has no special hardware limitations or requirements,
other than 8bit <code>char</code> (<code>signed</code> or
<code>unsigned</code>) and two’s complement negatives.</p>
<p>The limitations of using <code>char</code> as counters for e.g. the
number of music staves are minor. 127 staves to a page is rather a
lot.</p>
<p>The memory locations of <code>argv</code> are used for various purposes. Therefore, the
program name (default <code>deckmyn</code>) must be <em>at least 4 characters long</em>, including
possibly the path. This, along with the ending <code>'\0'</code>, gives minimum 5 bytes of
useful memory space. Otherwise, the program may attempt to write outside the
string.</p>
<p>The code is quite sensitive. Errors in the input can lead to strange results.
The code does not read beyond the end of the music input, but that is about the
only error checking available. Any input that is not according to the rules in
the <a href="deckmyn.html">manual</a>, may cause errors.</p>
<p>The program has no special hardware limitations or requirements, other than 8bit
<code>char</code> (<code>signed</code> or <code>unsigned</code>) and two’s complement negatives.</p>
<p>The limitations of using <code>char</code> as counters for e.g. the number of music staves
are minor. 127 staves to a page is rather a lot.</p>
<h3 id="obfuscations">Obfuscations</h3>
<p>The code has no declared variables other than the command line
variables. Not even pointers (we all know how messy code can get with
too many pointers!). As more than one variable needs values beyond 127,
parts of the command line memory are cast to <code>int</code> using a
macro.</p>
<p>The code has no declared variables other than the command line variables. Not
even pointers (we all know how messy code can get with too many pointers!). As
more than one variable needs values beyond 127, parts of the command line memory
are cast to <code>int</code> using a macro.</p>
<ul>
<li>The formatting of the code is in fact necessary, as this is the
definition of the music font. It is therefore not an obfuscation.</li>
<li>The use of only <code>argv</code>/<code>argc</code> as memory
locations is a matter of reducing the memory footprint. Again, it is not
an obfuscation.</li>
<li>Calling the only remaining variables, and the two defined macros,
<code>c</code> and <code>C</code>, is merely a matter of conforming to
the standard <a href="https://en.wikipedia.org/wiki/WYSIWYG">WYSIWYG</a>
paradigm common in commercial notation programs (’What You
<code>C</code> is What You Get). So once again it is not an obfuscation.
Anyway, it’s a C coding contest, right?</li>
<li>Randomly using the numerical (ASCII) value for characters is
compensated for by replacing some numbers by a character representation.
On average, therefore, it is not an obfuscation.</li>
<li>Randomly changing the way the elements of <code>argv</code> are
addressed is a matter of maintaining a diversified code base. It is
therefore not… Oh all right.</li>
<li>The actual output of the music is done by one <code>printf(3)</code>
call including a 800+ character nested conditional expression.</li>
<li>The formatting of the code is in fact necessary, as this is the definition of
the music font. It is therefore not an obfuscation.</li>
<li>The use of only <code>argv</code>/<code>argc</code> as memory locations is a matter of reducing the
memory footprint. Again, it is not an obfuscation.</li>
<li>Calling the only remaining variables, and the two defined macros, <code>c</code> and <code>C</code>,
is merely a matter of conforming to the standard
<a href="https://en.wikipedia.org/wiki/WYSIWYG">WYSIWYG</a> paradigm common in commercial
notation programs (’What You <code>C</code> is What You Get). So once again it is not an
obfuscation. Anyway, it’s a C coding contest, right?</li>
<li>Randomly using the numerical (ASCII) value for characters is compensated for
by replacing some numbers by a character representation. On average, therefore,
it is not an obfuscation.</li>
<li>Randomly changing the way the elements of <code>argv</code> are addressed is a matter of
maintaining a diversified code base. It is therefore not… Oh all right.</li>
<li>The actual output of the music is done by one <code>printf(3)</code> call including a 800+
character nested conditional expression.</li>
<li><code>printf()</code> is also used for its return value.</li>
</ul>
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0
License:</h2>
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights
Reserved. You are free to share and adapt this file under the terms of
this license:</p>
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0 License:</h2>
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
You are free to share and adapt this file under the terms of this license:</p>
<pre><code>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</code></pre>
<p>For more information, see:
https://creativecommons.org/licenses/by-sa/4.0/</p>
<p>For more information, see: https://creativecommons.org/licenses/by-sa/4.0/</p>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- START: this line starts content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
<!-- START: this line starts content generated by: bin/output-index-inventory.sh -->
<h1 id="inventory-for-2012deckmyn"><a name="inventory"></a>Inventory for
2012/deckmyn</h1>
<h1 id="inventory-for-2012deckmyn"><a name="inventory"></a>Inventory for 2012/deckmyn</h1>
<p><a href="#top">Jump to top</a></p>
<h2 id="primary-files">Primary files</h2>
<ul>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/deckmyn.c">deckmyn.c</a>
- entry source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/Makefile">Makefile</a>
- entry Makefile</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/deckmyn.orig.c">deckmyn.orig.c</a>
- original source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/deckmyn.c">deckmyn.c</a> - entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/deckmyn.orig.c">deckmyn.orig.c</a> - original source</li>
<li><a href="deckmyn.html">deckmyn.html</a> - user manual</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/example_beethoven">example_beethoven</a>
- music notation</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/example_greensleeves">example_greensleeves</a>
- music notation</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/try.sh">try.sh</a>
- how to run</li>
<li><a href="2012_deckmyn.tar.bz2">2012_deckmyn.tar.bz2</a> - download
entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/example_beethoven">example_beethoven</a> - music notation</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/example_greensleeves">example_greensleeves</a> - music notation</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/try.sh">try.sh</a> - how to run</li>
<li><a href="2012_deckmyn.tar.bz2">2012_deckmyn.tar.bz2</a> - download entry source</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="index.html">index.html</a> - entry home page</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/.entry.json">.entry.json</a>
- description of entry in JSON</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/.gitignore">.gitignore</a>
- list of files that should not be committed under git</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/.entry.json">.entry.json</a> - description of entry in JSON</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
<li><a href=".path">.path</a> - directory path from top directory</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/README.md">README.md</a>
- markdown source for index.html</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/deckmyn.md">deckmyn.md</a>
- markdown source for deckmyn.html</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/README.md">README.md</a> - markdown source for index.html</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/deckmyn/deckmyn.md">deckmyn.md</a> - markdown source for deckmyn.html</li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->