Merge branch 'GIMP-1.5.1' into uhhh

This commit is contained in:
cryptofyre 2022-07-31 21:28:43 -05:00 committed by GitHub
commit bddce01dbb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 21 additions and 131 deletions

View file

@ -88,12 +88,6 @@ jobs:
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install -y wine32
- run:
name: Reinstall proper rust node module
command: |
cd ./node_modules/cider_utils
yarn run prebuild-downloads --platform=win32 --verbose
cd ../..
- run:
name: Generate Builds (Windows)
command: yarn electron-builder -w --x64 -p never
@ -119,12 +113,6 @@ jobs:
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install -y wine32
- run:
name: Reinstall proper rust node module
command: |
cd ./node_modules/cider_utils
yarn run prebuild-downloads --platform=win32 --verbose
cd ../..
- run:
name: Generate Builds (Winget)
command: yarn electron-builder --win -c winget.json -p never

View file

@ -46,7 +46,6 @@
"airtunes2": "git+https://github.com/ciderapp/node_airtunes2.git",
"castv2-client": "^1.2.0",
"chokidar": "^3.5.3",
"cider_utils": "git+https://github.com/ciderapp/cider_utils.git",
"discord-auto-rpc": "^1.0.16",
"dns-js": "git+https://github.com/ciderapp/node-dns-js.git",
"ejs": "^3.1.6",
@ -122,9 +121,9 @@
}
],
"build": {
"electronVersion": "18.3.5",
"electronVersion": "19.0.8",
"electronDownload": {
"version": "18.3.5+wvcus",
"version": "20.0.0-beta.11+wvcus",
"mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
},
"appId": "cider",

View file

@ -25,9 +25,6 @@ exports.default = function(context) {
// if (fs.existsSync('dist/mac-arm64'))
// execSync('python3 -m castlabs_evs.vmp -n sign-pkg dist/mac-arm64 -z',{stdio: 'inherit'})
if (fs.existsSync('dist/mac-x64') || fs.existsSync('dist/mac-universal--x64') )
execSync('cd ./node_modules/cider_utils; yarn run prebuild-downloads --platform=darwin --arch=arm64 --verbose; cd ../..',{stdio: 'inherit'})
// console.log('VMP signing complete')
}

View file

@ -6,7 +6,6 @@ import * as mm from 'music-metadata';
import {Md5} from 'ts-md5/dist/md5';
import e from "express";
import { EventEmitter } from 'events';
import { parseFile, recursiveFolderSearch } from 'cider_utils';
export class LocalFiles {
static localSongs: any = [];
@ -36,22 +35,18 @@ export class LocalFiles {
ProviderDB.init()
let folders = utils.getStoreValue("libraryPrefs.localPaths")
if (folders == null || folders.length == null || folders.length == 0) folders = []
console.log('folders', folders)
let parseFileQueue: any[] = []; let mmQueue: any[] = []
let files: any[] = []
for (var folder of folders) {
// Recursively search and add
let result = await recursiveFolderSearch(folder)
parseFileQueue = parseFileQueue.concat(result.parseFile)
mmQueue = mmQueue.concat(result.musicMetadata)
// get files from the Music folder
files = files.concat(await LocalFiles.getFiles(folder))
}
if (parseFileQueue.length !== 0 || mmQueue.length !== 0) {console.log('Recursive Folder Search in Cider Utils worki')}
let supporttedformats = ["mp3", "aac", "webm", "flac", "m4a", "ogg", "wav", "opus"]
let audiofiles = files.filter(f => supporttedformats.includes(f.substring(f.lastIndexOf('.') + 1)));
let metadatalist = []
let metadatalistart = []
let numid = 0;
mmQueue = mmQueue.concat(parseFileQueue)
parseFileQueue = []
// Music Metadata fallback
for (var audio of mmQueue) {
for (var audio of audiofiles) {
try {
const metadata = await mm.parseFile(audio);
let lochash = Md5.hashStr(audio) ?? numid;
@ -120,85 +115,21 @@ export class LocalFiles {
if (this.localSongs.length === 0 && numid % 10 === 0) { // send updated chunks only if there is no previous database
this.eventEmitter.emit('newtracks', metadatalist)}
}
} catch (e) {console.error("error:", e)}
}
// Cider-Utils supported formats.
for (var audio of parseFileQueue) {
try {
const metadata = await parseFile(audio);
let lochash = Md5.hashStr(audio) ?? numid;
if (metadata != null) {
let form = {
"id": "ciderlocal" + lochash,
"_id": "ciderlocal" + lochash,
"type": "podcast-episodes",
"href": audio,
"attributes": {
"artwork": {
"width": 3000,
"height": 3000,
"url": "/ciderlocalart/" + "ciderlocal" + lochash,
},
"topics": [],
"url": "",
"subscribable": true,
"mediaKind": "audio",
"genreNames": [
""
],
// "playParams": {
// "id": "ciderlocal" + numid,
// "kind": "podcast",
// "isLibrary": true,
// "reporting": false },
"trackNumber": metadata.track_number ?? 0,
"discNumber": metadata.disc_number ?? 0,
"name": metadata.title == 0 ? audio.substring(audio.lastIndexOf('\\') + 1) : metadata.title,
"albumName": metadata.album,
"artistName": metadata.artist,
"copyright": metadata.copyright ?? "",
"assetUrl": "file:///" + audio,
"contentAdvisory": "",
"releaseDateTime": `${metadata.year ?? '2022'}-05-13T00:23:00Z`,
"durationInMillis": metadata.duration_in_ms ?? 0,
"bitrate": metadata.bitrate ?? 0,
"offers": [
{
"kind": "get",
"type": "STDQ"
}
],
"contentRating": "clean"
},
flavor: metadata.bitrate,
localFilesMetadata: {
lossless: metadata.lossless,
container: metadata.container,
bitDepth: metadata.bit_depth,
sampleRate: metadata.sample_rate ?? 0,
},
};
let art = {
id: "ciderlocal" + lochash,
_id: "ciderlocalart" + lochash,
url: metadata.artwork != undefined ? metadata.artwork : "",
}
metadatalistart.push(art)
numid += 1;
ProviderDB.db.putIfNotExists(form)
ProviderDB.db.putIfNotExists(art)
metadatalist.push(form)
if (this.localSongs.length === 0 && numid % 10 === 0) { // send updated chunks only if there is no previous database
this.eventEmitter.emit('newtracks', metadatalist)}
}
} catch (e) {console.error("error:", e)}
} catch (e) {console.error("localfiles error:", e)}
}
// console.log('metadatalist', metadatalist);
this.localSongs = metadatalist;
this.localSongsArts = metadatalistart;
return metadatalist;
}
static async getFiles(dir: any) {
const dirents = await readdir(dir, { withFileTypes: true });
const files = await Promise.all(dirents.map((dirent: any) => {
const res = path.resolve(dir, dirent.name);
return dirent.isDirectory() ? this.getFiles(res) : res;
}));
return Array.prototype.concat(...files);
}
static async cleanUpDB(){
let folders = utils.getStoreValue("libraryPrefs.localPaths")
@ -218,15 +149,6 @@ export class LocalFiles {
}
}
static async getFiles(dir: any) {
const dirents = await readdir(dir, { withFileTypes: true });
const files = await Promise.all(dirents.map((dirent: any) => {
const res = path.resolve(dir, dirent.name);
return dirent.isDirectory() ? this.getFiles(res) : res;
}));
return Array.prototype.concat(...files);
}
static setupHandlers () {
const app = utils.getExpress()
console.log("Setting up handlers for local files")

View file

@ -2402,5 +2402,4 @@ input[type=checkbox][switch]:checked:active::before {
.md-input-number{
min-width: 12em;
}
}

View file

@ -1210,21 +1210,6 @@
</label>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
Local Files
</div>
<div class="md-option-segment md-option-segment_auto">
<label>
<input type="checkbox"
v-model="app.cfg.advanced.experiments.includes('localLibrary')"
@click="app.cfg.advanced.experiments.includes('localLibrary') ? removeExperiment('localLibrary') : addExperiment('localLibrary')"
switch/>
</label>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.option.experimental.compactUI')}}

View file

@ -138,7 +138,7 @@
>
</sidebar-library-item>
</template>
<template v-if="$root.cfg.libraryPrefs.localPaths.length != 0 && $root.cfg.advanced.experiments.includes('localLibrary')">
<template v-if="$root.cfg.libraryPrefs.localPaths.length != 0">
<div class="app-sidebar-header-text"
@click="$root.cfg.general.sidebarCollapsed.localLibrary = !$root.cfg.general.sidebarCollapsed.localLibrary"
:class="{collapsed: $root.cfg.general.sidebarCollapsed.localLibrary}">