From 3dfd7409441ec73b539788bd699a73cb64141b65 Mon Sep 17 00:00:00 2001 From: Louis Croisez Date: Sun, 2 Oct 2022 16:31:29 +0200 Subject: [PATCH] Adding feature: shifting down in frequency for earing impairment people --- homepage/images/shift.svg | 74 ++++++++++++++++++++++ homepage/images/spinner.gif | Bin 0 -> 79279 bytes homepage/images/unshift.svg | 74 ++++++++++++++++++++++ scripts/play.php | 118 +++++++++++++++++++++++++++++++++--- 4 files changed, 258 insertions(+), 8 deletions(-) create mode 100644 homepage/images/shift.svg create mode 100644 homepage/images/spinner.gif create mode 100644 homepage/images/unshift.svg diff --git a/homepage/images/shift.svg b/homepage/images/shift.svg new file mode 100644 index 0000000..ab89871 --- /dev/null +++ b/homepage/images/shift.svg @@ -0,0 +1,74 @@ + +image/svg+xml + + + + + + + + + + + + + + + + +FREQSHIFT diff --git a/homepage/images/spinner.gif b/homepage/images/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..b267d17236c6c84c94ef1fa650f0183a43cf7c1d GIT binary patch literal 79279 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
  • FfAN*xmPq8q2 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
    S(Qu|22H<#C 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 literal 0 HcmV?d00001 diff --git a/homepage/images/unshift.svg b/homepage/images/unshift.svg new file mode 100644 index 0000000..a04eb15 --- /dev/null +++ b/homepage/images/unshift.svg @@ -0,0 +1,74 @@ + +image/svg+xml + + + + + + + + + + + + + + + + + FREQUNSHIFT diff --git a/scripts/play.php b/scripts/play.php index dc3f591..0143632 100644 --- a/scripts/play.php +++ b/scripts/play.php @@ -97,6 +97,31 @@ if(isset($_GET['excludefile'])) { } } +$shifted_path = $home."/BirdSongs/Extracted/By_Date/shifted/"; + +if(isset($_GET['shiftfile'])) { + $filename = $_GET['shiftfile']; + if(isset($_GET['shiftfreq'])) { + $pp = pathinfo($filename); + $dir = $pp['dirname']; + $fn = $pp['filename']; + $ext = $pp['extension']; + $pi = $home."/BirdSongs/Extracted/By_Date/"; + $cmd = "/usr/bin/nohup /usr/bin/ffmpeg -y -i \"".$pi.$filename."\" -af \"rubberband=pitch=2500/6000\" \"".$shifted_path.$filename."\""; + shell_exec("mkdir -p ".$shifted_path.$dir." && echo \"".$cmd."\" > /tmp/shift.sh && chmod +x /tmp/shift.sh"); + shell_exec("/tmp/shift.sh"); + shell_exec("rm -f /tmp/shift.sh"); + } else { + $cmd = "rm -f " . $shifted_path.$dir.$filename; + shell_exec("echo \"".$cmd."\" > /tmp/rmshift.sh && chmod +x /tmp/rmshift.sh"); + shell_exec("/tmp/rmshift.sh"); + shell_exec("rm -f /tmp/rmshift.sh"); + } + + echo "OK"; + die(); +} + if(isset($_GET['bydate'])){ $statement = $db->prepare('SELECT DISTINCT(Date) FROM detections GROUP BY Date ORDER BY Date DESC'); if($statement == False){ @@ -208,6 +233,45 @@ function toggleLock(filename, type, elem) { xhttp.open("GET", "play.php?excludefile="+filename+"&exclude_del=true", true); } xhttp.send(); + elem.setAttribute("src","images/spinner.gif"); +} + +function toggleShiftFreq(filename, shiftAction, elem) { + const xhttp = new XMLHttpRequest(); + xhttp.onload = function() { + if(this.responseText == "OK"){ + if(shiftAction == "shift") { + elem.setAttribute("src","images/unshift.svg"); + elem.setAttribute("title", "This file has been shifted down in frequency."); + elem.setAttribute("onclick", elem.getAttribute("onclick").replace("shift","unshift")); + console.log("shifted freqs of " + filename); + video=elem.parentNode.getElementsByTagName("video")[0]; + video.setAttribute("title", video.getAttribute("title").replace("/By_Date/","/By_Date/shifted/")); + source = video.getElementsByTagName("source")[0]; + source.setAttribute("src", source.getAttribute("src").replace("/By_Date/","/By_Date/shifted/")); + video.load(); + } else { + elem.setAttribute("src","images/shift.svg"); + elem.setAttribute("title", "This file is not shifted in frequency."); + elem.setAttribute("onclick", elem.getAttribute("onclick").replace("unshift","shift")); + console.log("unshifted freqs of " + filename); + video=elem.parentNode.getElementsByTagName("video")[0]; + video.setAttribute("title", video.getAttribute("title").replace("/By_Date/shifted/","/By_Date/")); + source = video.getElementsByTagName("source")[0]; + source.setAttribute("src", source.getAttribute("src").replace("/By_Date/shifted/","/By_Date/")); + video.load(); + } + } + } + if(shiftAction == "shift") { + console.log("shifting freqs of " + filename); + xhttp.open("GET", "play.php?shiftfile="+filename+"&shiftfreq=true", true); + } else { + console.log("unshifting freqs of " + filename); + xhttp.open("GET", "play.php?shiftfile="+filename, true); + } + xhttp.send(); + elem.setAttribute("src","images/spinner.gif"); } @@ -331,6 +395,8 @@ echo " $comname = preg_replace('/\'/', '', $comname); $date = $results['Date']; $filename = "/By_Date/".$date."/".$comname."/".$results['File_Name']; + $filename_shifted = "/By_Date/shifted/".$date."/".$comname."/".$results['File_Name']; + $filename_png = $filename . ".png"; $sciname = preg_replace('/ /', '_', $results['Sci_Name']); $sci_name = $results['Sci_Name']; $time = $results['Time']; @@ -357,14 +423,31 @@ echo "
    $type = "del"; } + if(file_exists($shifted_path.$filename_formatted)) { + $shiftImageIcon = "images/unshift.svg"; + $shiftTitle = "This file has been shifted down in frequency."; + $shiftAction = "unshift"; + $filename = $filename_shifted; + } else { + $shiftImageIcon = "images/shift.svg"; + $shiftTitle = "This file is not shifted in frequency."; + $shiftAction = "shift"; + } + echo " - + "; } else { echo " - + "; } @@ -388,6 +471,8 @@ echo "
    $date $time
    $confidence
    -
    + + + + $date $time
    $confidence
    + +
    $date $time
    $confidence
    -
    $date $time
    $confidence +
    +
    $comname = preg_replace('/\'/', '', $comname); $date = $results['Date']; $filename = "/By_Date/".$date."/".$comname."/".$results['File_Name']; + $filename_shifted = "/By_Date/shifted/".$date."/".$comname."/".$results['File_Name']; + $filename_png = $filename . ".png"; $sciname = preg_replace('/ /', '_', $results['Sci_Name']); $sci_name = $results['Sci_Name']; $time = $results['Time']; @@ -411,14 +496,31 @@ echo "
    $type = "del"; } + if(file_exists($shifted_path.$filename_formatted)) { + $shiftImageIcon = "images/unshift.svg"; + $shiftTitle = "This file has been shifted down in frequency."; + $shiftAction = "unshift"; + $filename = $filename_shifted; + } else { + $shiftImageIcon = "images/shift.svg"; + $shiftTitle = "This file is not shifted in frequency."; + $shiftAction = "shift"; + } + echo " - + "; } else { echo " - + "; }
    $date $time
    $confidence
    -
    + + + +$date $time
    $confidence
    + +
    $date $time
    $confidence
    -
    $date $time
    $confidence +
    +