Backend for songs.zachdecook.com
* Transpose Widget: Make user-friendly
| -rw-r--r-- | laravel/app/Http/Controllers/SongController.php | 4 | ||||
| -rw-r--r-- | laravel/resources/views/song.blade.php | 6 |
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> |