diff options
| author | Zach DeCook <zachdecook@librem.one> | 2020-11-19 04:17:42 +0000 |
|---|---|---|
| committer | Zach DeCook <zachdecook@librem.one> | 2020-11-19 04:17:42 +0000 |
| commit | 8d16bfb506ed722ad17a04c87a512d491e06a86c (patch) | |
| tree | 2a3fa8d80c204bcf5c6499265b9f57d368f995de /laravel/app/Http | |
| parent | e04ccd05b9ad4e45d28246eb200613e678636747 (diff) | |
| download | prosongsa-8d16bfb506ed722ad17a04c87a512d491e06a86c.tar.gz | |
* Song: Add method for transposing
Diffstat (limited to 'laravel/app/Http')
| -rw-r--r-- | laravel/app/Http/Controllers/SongController.php | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/laravel/app/Http/Controllers/SongController.php b/laravel/app/Http/Controllers/SongController.php index 83c9601..36fdb3f 100644 --- a/laravel/app/Http/Controllers/SongController.php +++ b/laravel/app/Http/Controllers/SongController.php @@ -114,7 +114,20 @@ class SongController extends Controller } return ($goodtokens *2)+ $ambtokens >= $badtokens; } - + + public function transposeBlock($text, $transp) + { + $newText = ''; + foreach(explode("\n", $text) as $line) { + if ($this->chordline($line)) { + $newText .= $this->z_transpose2($line, $transp) . "\n"; + } else { + $newText .= $line . "\n"; + } + } + return $newText; + } + private function z_transpose2( $line, $transp ) { $newchords = $this->z_transparray( $transp ); @@ -200,7 +213,7 @@ class SongController extends Controller return $ochords[($chords[$fromkey] + $integer + 24)%12]; } return false; } - private function keydiff($fromkey, $tokey){ + public function keydiff($fromkey, $tokey){ $chords = array_flip(array( "C","C#","D","D#","E","F","F#","G","G#","A","A#","B" )); $chords["Db"] = $chords["C#"]; $chords["Eb"] = $chords["D#"]; |
