From 8d16bfb506ed722ad17a04c87a512d491e06a86c Mon Sep 17 00:00:00 2001 From: Zach DeCook Date: Thu, 19 Nov 2020 04:17:42 +0000 Subject: * Song: Add method for transposing --- laravel/app/Http/Controllers/SongController.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'laravel/app/Http/Controllers') 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#"]; -- cgit 1.4.1