<!DOCTYPE html>
<!--
    Chorder - small tool for learning playing guitar
    Copyright (C) 2010 Sebastian Krzyszkowiak <dos@dosowisko.net>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-->
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 
    <title>Chorder</title>
    <link rel="stylesheet" href="layout.css?rev1" type="text/css" /> 
  </head>

<?

$tony = array('C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#', 'A', 'B', 'H');

function interwal($pryma, $r) {
  global $tony;

  $k = array_search($pryma, $tony)+$r;
  if ($k>=count($tony)) {
    $k = $k - count($tony);
  }

  return $tony[$k];

}

function iteruj($start, $pryma = 0, $prymaon = 0, $sekunda = 0, $tercja = 0, $kwarta = 0, $tryton = 0, $kwinta = 0, $seksta = 0, $septyma = 0) {
  global $tony;

  $sekunda2 = 0;
  $tercja2 = 0;
  $seksta2 = 0;
  $septyma2 = 0;

  $k = array_search($start, $tony);

  if ($pryma) {

    if ($prymaon) $prymaon = interwal($pryma, 0);;

    if ($sekunda=="3") { $sekunda2 = interwal($pryma, 2); $sekunda=1; }
    if ($sekunda) $sekunda = interwal($pryma, $sekunda);
    if ($tercja=="3") { $tercja2 = interwal($pryma, 2+2); $tercja=1; }
    if ($tercja) $tercja = interwal($pryma, 2+$tercja);

    if ($kwarta) $kwarta = interwal($pryma, 5);
    if ($tryton) $tryton = interwal($pryma, 6);
    if ($kwinta) $kwinta = interwal($pryma, 7);

    if ($seksta=="3") { $seksta2 = interwal($pryma, 7+2); $seksta=1; }
    if ($seksta) $seksta = interwal($pryma, 7+$seksta);
    if ($septyma=="3") { $septyma2 = interwal($pryma, 9+2); $septyma=1; }
    if ($septyma) $septyma = interwal($pryma, 9+$septyma);

  }

  for ($i=0; $i<23; $i++) {
    echo '<td class="';
    if ($i==0) {
      echo 'zero ';
    }
    if ($pryma) {
      if ($pryma===$tony[$k]) echo 'pryma ';
    }
    if (($prymaon===$tony[$k]) || ($sekunda===$tony[$k]) || ($tercja===$tony[$k]) || ($kwarta===$tony[$k]) || ($tryton===$tony[$k]) || ($kwinta===$tony[$k]) || ($seksta===$tony[$k]) || ($septyma===$tony[$k]) || ($sekunda2===$tony[$k]) || ($tercja2===$tony[$k]) || ($seksta2===$tony[$k]) || ($septyma2===$tony[$k])) echo 'selected ';

    echo '">'.$tony[$k].'</td>';
    $k++;
    if ($k>=count($tony)) {
      $k = 0;
    }
  }

}


function listaopcji($lista, $warunek) {
  foreach ($lista as $ton) {
    echo "<option ";
    if ($ton==$warunek) echo 'selected="selected"';
    echo ">".$ton."</option>";
  }
}

$pryma = 'C';
$prymaon = 1;
$sekunda = 0;
$tercja = 2;
$kwarta = 0;
$tryton = 0;
$kwinta = 1;
$seksta = 0;
$septyma = 0;

$stroj = array('E','H','G','D','A','E');

if ($_REQUEST['stroj']) $_stroj = $_REQUEST['stroj']; else $_stroj = "E";

if (($_GET) || ($_POST)) {

  if ($_REQUEST['pryma']) $pryma = $_REQUEST['pryma']; else $pryma = 'C';
  if ($_REQUEST['prymaon']) $prymaon = 1; else $prymaon = 0;
  if ($_REQUEST['sekunda']) $sekunda = $_REQUEST['sekunda']; else $sekunda = 0;
  if ($_REQUEST['tercja']) $tercja = $_REQUEST['tercja']; else $tercja = 0;
  if ($_REQUEST['kwarta']) $kwarta = $_REQUEST['kwarta']; else $kwarta = 0;
  if ($_REQUEST['tryton']) $tryton = $_REQUEST['tryton']; else $tryton = 0;
  if ($_REQUEST['kwinta']) $kwinta = $_REQUEST['kwinta']; else $kwinta = 0;
  if ($_REQUEST['seksta']) $seksta = $_REQUEST['seksta']; else $seksta = 0;
  if ($_REQUEST['septyma']) $septyma = $_REQUEST['septyma']; else $septyma = 0;

}

include("presets.php"); // Source available at http://chorder.dosowisko.net/presets.php.src

?>

  <body>

    <div class="wrapper">
      <h1 class="logo">Chorder</h1>
      <hr/>
      <? if ($name) { echo '<h2>'.$name.'</h2>'; } ?>
      <table class="fretboard">
      <tr class="counter">

      <?
      for ($i=0; $i<23; $i++) {
        echo '<td ';
        if ($i==0) {
          echo 'class="zero"';
        }
        echo '>'.$i.'</td>';
      }
      ?>
      </tr>

      <?
        foreach ($stroj as $dzwiek) {
          ?> <tr> <?
            iteruj($dzwiek, $pryma, $prymaon, $sekunda, $tercja, $kwarta, $tryton, $kwinta, $seksta, $septyma); // well, that sucks ;x
          ?> </tr> <?
        }
      ?>

      </table>

      <div class="left">
      <form method="POST" action="index.php">
        Pryma: <select name="pryma">
                  <? listaopcji($tony, $pryma); ?>
               </select> <input type="checkbox" <? if ($prymaon) { ?> checked="checked" <? } ?> name="prymaon" id="prymaon" /> <label for="prymaon">uwzględnij</label><br/>

               <?
               function czysta($name, $checked = 0) {
                 echo $name.': <input type="checkbox" ';
                 if ($checked) {
                   echo 'checked="checked" ';
                 }
                 echo 'name="'.strtolower($name).'" id="'.strtolower($name).'" /> <label for="'.strtolower($name).'">uwzględnij</label><br/>';
               }
               function nieczysta($name, $checked = 0) {
                 echo $name.': <input type="radio" name="'.strtolower($name).'" value="2" id="'.strtolower($name).'1" ';
                 if ($checked==2) { echo 'checked="checked"'; }
                 echo '/> <label for="'.strtolower($name).'1">wielka</label>';
                 echo '<input type="radio" name="'.strtolower($name).'" value="1" id="'.strtolower($name).'2" ';
                 if ($checked==1) { echo 'checked="checked"'; }
                 echo '/> <label for="'.strtolower($name).'2">mała</label>';
                 echo '<input type="radio" name="'.strtolower($name).'" value="3" id="'.strtolower($name).'4" ';
                 if ($checked==3) { echo 'checked="checked"'; }
                 echo '/> <label for="'.strtolower($name).'4">obie</label>';
                 echo '<input type="radio" name="'.strtolower($name).'" value="0" id="'.strtolower($name).'3" ';
                 if ($checked==0) { echo 'checked="checked"'; }
                 echo '/> <label for="'.strtolower($name).'3">brak</label><br/>';
               }

               ?>

               <? nieczysta("Sekunda", $sekunda); nieczysta("Tercja", $tercja); czysta("Kwarta", $kwarta); czysta("Tryton", $tryton); czysta("Kwinta", $kwinta);
                  nieczysta("Seksta", $seksta); nieczysta("Septyma", $septyma); ?>
               <input type="hidden" name="stroj" value="<?= $_stroj ?>" />
               <input type="submit" value="Pokaż" style="width: 100%"/>

             </form>
           </div>
           <div class="right">
             <h3>Presety:</h3>
               <!--<form method="POST">Akord <input type="hidden" name="stroj" value="<?= $_stroj ?>" />
               <select name="akord">
               <?
               foreach ($tony as $ton) {
                 echo "<option ";
                 if ($ton==$pryma) echo 'selected="selected"';
                 echo ">".$ton."</option>";
                 echo "<option>".$ton."m</option>";
                 echo "<option>".$ton."5</option>";
                 echo "<option>".$ton."7</option>";
                 echo "<option>".$ton."m7</option>";
                 echo "<option>".$ton."Maj7</option>";
                 echo "<option>".$ton."mMaj7</option>";

               }
               ?>
               <option>...ciąg dalszy nastąpi</option>
               </select>
               <input type="submit" value="Pokaż" /></form><br/>-->

               <form method="POST" action="index.php">Pentatonika <input type="hidden" name="stroj" value="<?= $_stroj ?>" /><select name="pentatonika">
                  <? $tab=array('mollowa','durowa', 'mollowa Parkera', 'dominantowa', 'prometejska', 'scriabin', 'egipska'); listaopcji($tab, $_REQUEST['pentatonika']); ?>
               </select>
                <select name="pryma">
                  <? listaopcji($tony, $pryma); ?>
               </select> <input type="submit" value="Pokaż" /></form><br/>

               <form method="POST">Skala <input type="hidden" name="stroj" value="<?= $_stroj ?>" /><select name="skala">
                  <? $tab=array('mollowa','durowa','dorycka','bluesowa','bluesowa durowa','frygijska', 'lidyjska', 'miksolidyjska', 'eolska', 'lokrycka', 'harmoniczna mollowa', 'durowa zwiększona', 'mollowa melodyczna', 'bopowa durowa', 'bopowa dominantowa', 'bopowa mollowa', 'całotonowa', 'dorycka bluesowa', 'enigmatyczna','chromatyczna'); 
                     listaopcji($tab, $_REQUEST['skala']); ?>
               </select> <select name="pryma">
                  <? listaopcji($tony, $pryma); ?>
               </select> <input type="submit" value="Pokaż" /></form><br/>

               <form method="POST" action="index.php">Położenie dźwięku <input type="hidden" name="stroj" value="<?= $_stroj ?>" />
                <select name="pryma">
                  <? listaopcji($tony, $pryma); ?>
               </select> <input type="submit" name="tylkopryma" value="Pokaż" /></form><br/>

               <form method="POST" action="index.php">Strój
                <input type="hidden" name="pryma" value="<?= $pryma ?>" />
                <input type="hidden" name="prymaon" value="<?= $prymaon ?>" />
                <input type="hidden" name="sekunda" value="<?= $sekunda ?>" />
                <input type="hidden" name="tercja" value="<?= $tercja ?>" />
                <input type="hidden" name="kwarta" value="<?= $kwarta ?>" />
                <input type="hidden" name="tryton" value="<?= $tryton ?>" />
                <input type="hidden" name="kwinta" value="<?= $kwinta ?>" />
                <input type="hidden" name="seksta" value="<?= $seksta ?>" />
                <input type="hidden" name="septyma" value="<?= $septyma ?>" />
                <select name="stroj">
                  <? //listaopcji($stroje_std, $_stroj); ?>
                  <? listaopcji(["D", "D#", "E", "Dad-Gad", "Drop D", "Double drop D", "Bass E", "Bass D", "Bass D#", "Bass drop D", "Ukulele"], $_stroj); ?>
                  <? //listaopcji($stroje_drop, $_stroj); ?>
                  <? //listaopcji($stroje_ddrop, $_stroj); ?>
                  <? //listaopcji($stroje_bass, $_stroj); ?>
                  <? //listaopcji($stroje_bass_drop, $_stroj); ?>
               </select> <input type="submit" value="Pokaż" /></form><br/>

             </div>

      <hr style="clear: both; padding-top: 20px;" />

      <div class="center reklamowe">
        <h2>Reklama</h2>
        <span>
        <a href="https://markowskisygitowicz.pl/"><img src="https://markowskisygitowicz.pl/button-black.png" title="Oficjalna strona projektu Markowski/Sygitowicz" alt="Oficjalna strona projektu Markowski/Sygitowicz"/></a>
        <br/>
        <a href="https://behedos.pl/"><img src="behedos.png" title="Oficjalna strona grupy Behedos" alt="Oficjalna strona grupy Behedos" /></a>
        </span>
        <a href="http://shr-project.org/"><img src="shr-black.png" title="SHR - Dystrybucja GNU/Linux na smartphone'y" alt="SHR - Dystrybucja GNU/Linux na smartphone'y"/></a>
        <span class="text"><a href="https://dosowisko.net/" title="Strona domowa Sebastiana Krzyszkowiaka">dosowisko.net</a><br/><a 
href="http://freesmartphone.org/" title="API DBus dla smartphone'ów pod kontrolą systemów Linuksowych">freesmartphone.org</a></span>
      </div>

      <div style="text-align: right"><a href="?pryma=<?=$pryma?>&amp;prymaon=<?=$prymaon?>&amp;sekunda=<?=$sekunda?>&amp;tercja=<?=$tercja?>&amp;kwarta=<?=$kwarta?>&amp;tryton=<?=$tryton?>&amp;kwinta=<?=$kwinta?>&amp;seksta=<?=$seksta?>&amp;septyma=<?=$septyma?>&amp;stroj=<?= $_stroj ?>">Permalink</a></div>

    </div>
    <div class="center">
      <div class="footer">
        <div>Licensed on AGPLv3 - <a href="index.php.src">source</a><br/>© 2010 by <a href="https://dosowisko.net/">Sebastian Krzyszkowiak</a></div>
      </div>
    </div>
  </body>
</html>
