From fbe2b8a7e82559fdbe156dd9f84edee1827d211d Mon Sep 17 00:00:00 2001 From: profiteroles Date: Mon, 27 Jan 2020 03:32:56 -0800 Subject: [PATCH] 0.8.1.0 --- README.md | 2 +- Tester.zip | Bin 68660292 -> 68669370 bytes Tester/Tester.php | 9 ++++++--- Yuba.app.zip | Bin 43878286 -> 43883083 bytes Yuba.php | 22 ++++++++++++++++++++-- YubaPrefs.php | 29 +++++++++++++++++++++++------ current_version.txt | 2 +- filetypes.php | 4 +++- helper.php | 4 ++-- web/rtc.php | 2 ++ 10 files changed, 58 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 38494b6..f9fcbb5 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ **Yuba** generates web-browsable catalogues from locally attached HFS+ filesystems. Its client application gathers forensic-quality data about a volume, properly interpreting bundles, reading Spotlight data, Finder flags, labels, and other contextual information. It can generate hashes, thumbnails, and gather 3rd party metadata with exiftool and mediainfo. Yuba's SQLite catalogues are comprehensive, lightweight, optimized for massive (1 million+) trees, and reflect incremental changes to contents and metadata. A server-side PHP script is provided, which allows familiar, Finder-style browsing of a catalogue. -####[⇩ Download Yuba 0.8.0.2](https://www.profiteroles.org/git/p/Yuba/raw/master/Yuba.app.zip) ([Changelog](CHANGELOG.md)) +####[⇩ Download Yuba 0.8.1.0](https://www.profiteroles.org/git/p/Yuba/raw/master/Yuba.app.zip) ([Changelog](CHANGELOG.md)) ## Features diff --git a/Tester.zip b/Tester.zip index 5ae2816b74630736d90aa1bd4c07c096c553b6b2..b7781023986f886e360414fc24736cc163bad61f 100644 GIT binary patch delta 41236 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 delta 31842 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 diff --git a/Tester/Tester.php b/Tester/Tester.php index a280a2a..bdd1364 100644 --- a/Tester/Tester.php +++ b/Tester/Tester.php @@ -12,15 +12,15 @@ $bin_mediainfo = __DIR__."/bin/mediainfo"; $bin_exiftool = __DIR__."/bin/exiftool"; $bin_ffmpeg = __DIR__."/bin/ffmpeg"; $bin_qlthumb = __DIR__."/bin/ql-thumbnail"; -$bin_qlicon = __DIR__."/bin/ql-icon"; +$bin_qlicon = __DIR__."/bin/ql-icon_old"; $bin_qltool = __DIR__."/bin/qltool"; $bin_sox = __DIR__."/bin/sox"; $bin_pngquant = __DIR__."/bin/pngquant"; $bin_parallel = __DIR__."/bin/parallel"; $bin_convert = __DIR__."/bin/convert"; -$bin_zqlicon = __DIR__."/bin/zql-icon"; -$bin_zicon = __DIR__."/bin/zicon"; +$bin_zqlicon = __DIR__."/bin/ql-icon"; +$bin_zicon = __DIR__."/bin/iff"; // System tools $bin_php = "php"; @@ -100,6 +100,9 @@ if ($mode == "thumb") { $cmd['zql-icon'][] = $bin_zqlicon." --input=".$shellpath." --width=".$p['icon_size']." --height=".$p['icon_size']." --output=".$tprefix."zql-icon.png"; $cmd['zql-icon'][] = $tprefix."zql-icon.png"; + $cmd['zql-iconj'][] = $bin_zqlicon." --input=".$shellpath." --type=public.jpeg --width=".$p['icon_size']." --height=".$p['icon_size']." --output=".$tprefix."zql-iconj.jpg"; + $cmd['zql-iconj'][] = $tprefix."zql-iconj.jpg"; + $cmd['ql-icon'][] = $bin_qlicon." --input=".$shellpath." --width=".$p['icon_size']." --height=".$p['icon_size']." --output=".$tprefix."ql-icon.png"; $cmd['ql-icon'][] = $tprefix."ql-icon.png"; diff --git a/Yuba.app.zip b/Yuba.app.zip index f4b50b4ec105b976ddf738b06d8f6b642dae893c..0efcac94de47351d65c478d6e299a360e52d68b5 100644 GIT binary patch delta 44971 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 N`8@)$3I-bj@jv+k#~1(r delta 40907 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 $physicalcpu) { + alert("Parallel hardware mismatch"); + echo "QUITAPP\n"; + } +if ($p['parallel'] == 1) { + $wopt_parallelmsg = "max"; + } else { + $wopt_parallelmsg = $p['parallel']; + } + // Banner ////////////////////////////////////////// @@ -138,6 +153,7 @@ echo msg($banner."\n".str_repeat("-", strlen($banner))); // System Info ////////////////////////////////////////// +echo msg("Using ".$wopt_parallelmsg." cores"); echo msg("Gathering system info..."); // Disks @@ -606,10 +622,12 @@ $dbp->exec("CREATE TABLE IF NOT EXISTS contents (fid TEXT, created INTEGER, rela if (file_exists($batchfile)) { echo ProgressBar::start($passed_file,"Running batch (".stepString().")"); - if ($p['parallel']) { + if ($p['parallel'] === 0) { + passthru("bash ".$batchfile); + } elseif ($p['parallel'] === 1) { passthru($bin_parallel." < ".$batchfile); } else { - passthru("bash ".$batchfile); + passthru($bin_parallel." -j ".$p['parallel']." < ".$batchfile); } echo ProgressBar::finish($wopt_clear); diff --git a/YubaPrefs.php b/YubaPrefs.php index efce623..1ed9a50 100644 --- a/YubaPrefs.php +++ b/YubaPrefs.php @@ -6,7 +6,7 @@ // Functions -function makeWindowString($p, $strings) { +function makeWindowString($p, $strings, $pstrings) { $conf = " # Set window title @@ -42,16 +42,23 @@ function makeWindowString($p, $strings) { hr0.path = ".__DIR__."/hr.png"." hr0.width = 380 hr0.height = 2 + + parallel.type = popup + parallel.width = 180 + parallel.default = ".$pstrings[$p['parallel']]." + "; + + foreach ($pstrings as $pstring) { + $conf .= "parallel.option = ".$pstring."\n"; + } - parallel.type = checkbox - parallel.label = Use parallel - parallel.default = ".$p['parallel']." + $conf .= " debug.type = checkbox debug.label = Verbose logging debug.default = ".$p['debug']." debug.x = 200 - debug.y = 439 + debug.y = 443 hr1.type = image hr1.path = ".__DIR__."/hr.png"." @@ -216,10 +223,19 @@ $strings[] = array("Skip","Generate","Rebuild"); $strings[] = array("Most files","Some files"); $strings[] = array("All files","Most files","Some files"); +// Parallel strings + +$physicalcpu = trim(shell_exec("sysctl -n hw.physicalcpu")); + +$pstrings = array("Sequential","Max (Not advised)"); +foreach(range(2, $physicalcpu-1) as $index) { + $pstrings[] = $index." Cores"; + } + // Launch Pashua and parse results $path = __DIR__."/bin/Pashua.app/Contents/MacOS/Pashua"; -$raw = shell_exec("echo ".escapeshellarg(makeWindowString($p, $strings))." | ".escapeshellarg($path)." - "); +$raw = shell_exec("echo ".escapeshellarg(makeWindowString($p, $strings, $pstrings))." | ".escapeshellarg($path)." - "); $result = array(); foreach (explode("\n", $raw) as $line) { preg_match('/^(\w+)=(.*)$/', $line, $matches); @@ -244,6 +260,7 @@ $result['thumbs'] = array_search($result['thumbs'],$strings[2]); $result['thumb_mode'] = array_search($result['thumb_mode'],$strings[3]); $result['icons'] = array_search($result['icons'],$strings[2]); $result['icon_mode'] = array_search($result['icon_mode'],$strings[4]); +$result['parallel'] = array_search($result['parallel'],$pstrings); // If the user didn't specify a destpath, set to default diff --git a/current_version.txt b/current_version.txt index e76123f..6b784f6 100755 --- a/current_version.txt +++ b/current_version.txt @@ -1 +1 @@ -0.8.0.2 \ No newline at end of file +0.8.1.0 \ No newline at end of file diff --git a/filetypes.php b/filetypes.php index 85b2459..85a66cc 100755 --- a/filetypes.php +++ b/filetypes.php @@ -130,11 +130,13 @@ $p['t_b']['wv'] = array("sox"); $p['t_b']['snd'] = array("sox"); $p['t_b']['voc'] = array("sox"); -$p['t_b']['mp3'] = array("sox","ql-thumbnail"); $p['t_b']['m4a'] = array("sox","ql-thumbnail"); $p['t_b']['m4b'] = array("sox","ql-thumbnail"); $p['t_b']['ogg'] = array("sox","ql-thumbnail"); +$p['t_b']['mp3'] = array(); +$p['t_b']['DS_Store'] = array(); + foreach ($p['bundles'] as $bundle) { $p['t_b'][$bundle] = array("qltool"); } $p['t_b']['*'] = "ql-thumbnail"; diff --git a/helper.php b/helper.php index 89031b9..9c79173 100755 --- a/helper.php +++ b/helper.php @@ -111,7 +111,7 @@ if ($p['thumbs'] && $ext && $ext != "DS_Store") { if (!is_dir(dirname($tfile))) { @mkdir(dirname($tfile),0777,true); dfm("mkdir ".dirname($tfile)); } - if ($ext == "DS_Store") { + if (empty($p['t_b'][$ext])) { // file extension is in the skip list $estring .= " ->t_skip"; dfm("skipping ds_store"); @@ -312,7 +312,7 @@ if ($p['icons'] && $ext != "DS_Store") { if ($ext || file_exists($pathname."/Icon\r")) { dfm("Ext or custom icon found, processing ".$pathname." with iff"); $tools = array("iff"); - } elseif (glob($globsafe."/".globstring($p['album_files']),GLOB_BRACE) && $test = glob($globsafe."/".globstring($p['cover_exts'],$p['cover_files']),GLOB_BRACE)) { + } elseif (( glob($globsafe."/".globstring($p['album_files']),GLOB_BRACE) || glob($globsafe."/*/".globstring($p['album_files']),GLOB_BRACE)) && $test = glob($globsafe."/".globstring($p['cover_exts'],$p['cover_files']),GLOB_BRACE)) { dfm("Album files and cover found, processing ".$pathname." with flacdiricon"); $cmd['flacdiricon'] = $bin_flacdiricon." ".$shellpath." ".$p['icon_size']." ".escapeshellarg(array_shift($test))." ".$tfile; $tools = array("flacdiricon"); diff --git a/web/rtc.php b/web/rtc.php index fc3e920..7062b7a 100644 --- a/web/rtc.php +++ b/web/rtc.php @@ -121,6 +121,8 @@ iframe { width: 425px; height: 550px; padding: 6px; border: 1px solid black; } div.dblist { display: none; } +.ui-slider-handle { outline: 0 none !important; } +