about summary refs log tree commit diff
path: root/laravel
diff options
context:
space:
mode:
Diffstat (limited to 'laravel')
-rw-r--r--laravel/app/Http/Controllers/SongController.php4
-rw-r--r--laravel/resources/views/song.blade.php6
2 files changed, 8 insertions, 2 deletions
diff --git a/laravel/app/Http/Controllers/SongController.php b/laravel/app/Http/Controllers/SongController.php
index 2074104..8e043ac 100644
--- a/laravel/app/Http/Controllers/SongController.php
+++ b/laravel/app/Http/Controllers/SongController.php
@@ -19,8 +19,8 @@ class SongController extends Controller
         $lines = explode( "\n", $song['text'] );
         $newText = '';
         $transp = $request->transp ?? 0;
-        if ($request->key && $song->plain_key){
-            $try = $this->keydiff($song->plain_key, $request->key);
+        if (($request->key||$request->transp) && $song->plain_key){
+            $try = $this->keydiff($song->plain_key, $request->key ?? $request->transp);
             if ($try !== null){
                 $transp = $try;
             }
diff --git a/laravel/resources/views/song.blade.php b/laravel/resources/views/song.blade.php
index 865ece4..a8e31c0 100644
--- a/laravel/resources/views/song.blade.php
+++ b/laravel/resources/views/song.blade.php
@@ -44,6 +44,11 @@
     <select name="transp" id="transp"
         value = "<?php echo $transp;?>"
     >
+    @if($song->key)
+        @foreach(['C','Db','D','E','F','F#','G','G#','A','Bb','B'] as $kay)
+            <option {{$kay == ($_GET['transp'] ?? $song->key) ? 'selected' : ''}} value='{{$kay}}'>{{$kay}}</option>
+        @endforeach
+    @else
         <?php
             for ($i=-6; $i < 12; $i++) {
                 if (($transp + 24)%12 == $i) $selected = 'selected';
@@ -52,6 +57,7 @@
                 echo "<option value='$i' $selected>$dir $i semitones</option>";
             }
         ?>
+    @endif
     </select>
     <noscript>
         <button>Transpose</button>