about summary refs log tree commit diff
path: root/laravel/app/Http/Controllers/SongController.php
diff options
context:
space:
mode:
authorZach DeCook <zachdecook@librem.one>2020-11-19 04:17:42 +0000
committerZach DeCook <zachdecook@librem.one>2020-11-19 04:17:42 +0000
commit8d16bfb506ed722ad17a04c87a512d491e06a86c (patch)
tree2a3fa8d80c204bcf5c6499265b9f57d368f995de /laravel/app/Http/Controllers/SongController.php
parente04ccd05b9ad4e45d28246eb200613e678636747 (diff)
downloadprosongsa-8d16bfb506ed722ad17a04c87a512d491e06a86c.tar.gz
* Song: Add method for transposing
Diffstat (limited to 'laravel/app/Http/Controllers/SongController.php')
-rw-r--r--laravel/app/Http/Controllers/SongController.php17
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#"];