Code Monkey home page Code Monkey logo

mms's People

Contributors

bfirsh avatar brianvia avatar cfsghost avatar dependabot[bot] avatar edvallie avatar grplyler avatar haibinyu avatar iperevozchikov avatar jirihajek avatar jl102 avatar joevennix avatar ludekstoklasa avatar marcbachmann avatar mpil2 avatar octplane avatar oeuillot avatar rabelux avatar reidsy avatar s-leger avatar vf1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mms's Issues

Seek during playback with on-fly transcoding sometimes fails

It seems, most problematic are WMV videos, but it can stuck during seeking also for e.g. MPG.

I have one WMV3 video, where video tag playing resulting TS/H264/MP3 stream returns wrong duration (it is multiplied by 256) and this is causing seeking problems, but individual 3s TS chunks are playable without problems in other players.
Duration is ok for another WMV2 video, but seek often fails too, because FFMPEG fails to seek during transcoding (but FFPLAY seeks without problems for this video).

MMS creates audio artifacts

When comparing playing music MM5 + SMB mounted network share with music versus MM5 + MMS which is hosted on the server directly the audio quality from the SMB mount is better.

MMS produces audio artifacts while playing.

I have tried flac & mp3 audio files.

Edit: It should not be a bandwith issues as my MM5 test VM uses a dedicated 1 Gbit link while the server uses a 10 Gbit link.

Leak in _uploadSessions

In MediaProvider.js, there isn't any clean up of old/finished/canceled sessions in _uploadSessions object.

Update to material-ui 5.x

Material UI renamed from 4.x to 5.x, so we will need to change out dependencies from:

    "@material-ui/core": "^4.9.9",
    "@material-ui/icons": "^4.0.1",

to:

    "@mui/material": "^5.3.0",
    "@mui/icons-material": "^5.3.0",

We cannot update from react 16.x to 17.x until updating to MUI 5.x.

Additionally, material-ui-search-bar has not been updated to MUI 5.x, so we'd need to fork it or find an appropriate replacement.

MMS sync errors cause crash in MM5 ui

Got a crash in MM5 when attempting to migrate databases. After the copying event was finished, I got a debug error screen (got a log with code BBB88780), followed by a pop-up alert from mainwindow.js saying not logged in. I believe this is because the server's error response wasn't caught by MM5.

I'll do more testing, but the migration process is pretty slow :P

UI: Cache thumbnails in collection view

When scrolling up and down, thumbnails are deleted and re-requested from the server; lots of time and bandwidth can be saved by caching thumbnails client-side; also by shrinking + caching album art server side.

MMS Roadmap/Wishlist

Great work so far! - Seems to be running like a charm (tested on Win10&Debian9).

Is there a roadmap for MMS somewhere? Is the intention to eventually do stuff like my wishlist below?

  1. Can you please add the same views as in MM4/5 Desktop incl. the loved column browser?
  2. Playlist
  3. Google search artwork (manual per album - nothing fancy) and save
  4. Support for adding and syncing podcasts
  5. It would also be nice to see stuff like "Recently Added", "Starred", "Top Rated", "Most Played" etc.

Finally it seems we can scrap *sonic,ampache or whatever people use to play their collections from remote locations.

Thanks!

Caught exception when attempting to play track in Firefox on Synology DiskStation

I am attempting to set up MMS on my Synology DS1511+ running DSM 6.2.4-25556 Update 7 (the latest available for my system). I configured MMS as the guide recommends with MMS located in a folder in volume1 (/volume1/docker/mediamonkeyserver). I am not using Docker currently, but it is a future plan if I can get things running. I added access to /var/services/homes/Ben_Admin/MediaMonkeyServer/ as required and opened access to all (777) for testing. When I launch MMS, I get a series of errors related to libstdc++.so.6 but the server launches. I can log in and change my collections to correct the scan location error. For testing I added a single album which seems to scan correctly finding the 12 FLAC encoded tracks. When I try to play a track, I get no playback and an error prevents playback.

Ben_Admin@DS1511:/volume1/docker/mediamonkeyserver$ ./mms
./mms: /lib/libstdc++.so.6: no version information available (required by ./mms)
./mms: /lib/libstdc++.so.6: no version information available (required by ./mms)
./mms: /lib/libstdc++.so.6: no version information available (required by ./mms)
./mms: /lib/libstdc++.so.6: no version information available (required by ./mms)
./mms: /lib/libstdc++.so.6: no version information available (required by ./mms)
./mms: /lib/libstdc++.so.6: no version information available (required by ./mms)
./mms: /lib/libstdc++.so.6: no version information available (required by ./mms)
./mms: /lib/libstdc++.so.6: no version information available (required by ./mms)
SQL: path=/var/services/homes/Ben_Admin/MediaMonkeyServer/mms.db
Database loaded in 0.33 seconds
Prepared statements in 0.01 seconds
0 files have been read from database in 1 ms
Scanning of /var/services/homes/Ben_Admin/Music has failed: Error: Can not scan directory
==================================================
MMS v0.4.3 running at http://192.168.0.50:10222 (or http://localhost:10222)
Connect using a web browser or using MediaMonkey 5.
==================================================
Scanning of /var/services/homes/Ben_Admin/Videos has failed: Error: Can not scan directory
A new client connected (Firefox on Windows)
User admin has logged in with new token: bscNnXw0lbAfXrx09U6azxn6VUEYvIA9
Scan music directory: file:/volume1/Music-Ben/Alice In Chains/The Devil Put Dinosaurs Here, 15 files to process
Scan of repository /volume1/Music-Ben/Alice In Chains/The Devil Put Dinosaurs Here has been finished in 0.39 seconds
12 files have been read from database in 4 ms
Playing "Breath On A Window" at Firefox on Windows
Caught exception: TypeError: invalid options argument

I have been working on this in the background for around a week and have seen a few different issues (errors in terminal, playback for only random files, etc) so I decided to start over with a clean installation and report any issues in hopes it will help the project progress. I can provide any additional logs/details that would help.

Rescanning does not track changes in MP3 tags

When rescanning a collection, it appears that the metadata/IP3 tags are not updated. If I change a song title, for example, then rescan, the new tags are not saved.
Not an issue with sqlRegistry, because the metas object that is given to sqlRegistry.updateMetas() does not contain the updated meta tag.

Linebreak style?

The linebreak style enforced by .eslintrc.js enforces a Unix (LF) style, but all of the js code in this repo seems to already come with Windows (CRLF) style. I thought that maybe it was just VS Code automatically changing it to CRLF. But if I change it to LF to stop the eslint warnings, the file is marked as modified by git; implying that the linebreak style of the files actually are all CRLF. What's up with that?

Installation trouble

I have tried installing mms multiple times on different devices.
I followed the instructions in the readme but it always fails with a similar error message.
image
I also tried using a docker, but that also fails (I dont know that much about docker).

I have attached my logfile

2020-04-03T15_06_31_867Z-debug.log

Maybe I don't know something obvious and that's why it doesn't work, but I just can't get it to install.

I hope this helps with development.

Create a standard Linux install-from-source process

Most open source programs these days have a three-step installation process on Linux systems: ./configure, make, then sudo make install. I doubt that we'll need a configure script, but it's definitely possible to add the relevant NPM commands into the Makefile to make the setup & installation process easier for those familiar with the Linux ecosystem.

MMS crashed

MMS crashed and reloading the page ended with this error.

Error: File or directory '/**/mms/build-webui/col/1' was not included into executable at compilation stage. Please recompile adding it as asset or script.
    at error_ENOENT (pkg/prelude/bootstrap.js:422:17)
    at findNativeAddonForStat (pkg/prelude/bootstrap.js:884:32)
    at statFromSnapshot (pkg/prelude/bootstrap.js:909:25)
    at Object.fs.stat (pkg/prelude/bootstrap.js:935:5)
    at SendStream.sendFile (/snapshot/mms/node_modules/send/index.js:722:6)
    at SendStream.pipe (/snapshot/mms/node_modules/send/index.js:596:8)
    at sendfile (/snapshot/mms/node_modules/express/lib/response.js:1099:8)
    at ServerResponse.sendFile (/snapshot/mms/node_modules/express/lib/response.js:429:3)
    at UpnpServer.processRequest (/snapshot/mms/lib/upnpServer.js:0:0)
    at API._processRequest (/snapshot/mms/api.js:0:0)
    at events.EventEmitter._upnpServerStarted.app.use (/snapshot/mms/api.js:0:0)
    at Layer.handle [as handle_request] (/snapshot/mms/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/snapshot/mms/node_modules/express/lib/router/index.js:317:13)
    at /snapshot/mms/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/snapshot/mms/node_modules/express/lib/router/index.js:335:12)
    at next (/snapshot/mms/node_modules/express/lib/router/index.js:275:10)

Node TypeError

Running the latest available Linux binary, I get the following in the error logs (I had to edit the Systemd file a bit to make a service for it)

Caught exception: TypeError: SQLite3 can only bind numbers, strings, bigints, buffers, and null

I modified the service file listed on this github to make it run the binary as well as output to log files instead of syslog (something that isnt used in modern systemd linux)

From:

Output to syslog

StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=mm-server

To:
StandardOutput=append:/containers/mms/mms.log
StandardError=append:/containers/mms/mms-error.log
#SyslogIdentifier=mm-server

The edit for the ExecStart was changing it to where I placed the binary: ExecStart=/containers/mms/mms

MMS scan Unsupported File formats

ATM MMS Scan All media File Formats no matter if MMS or and MediaMonkey Products support it which result in unwanted files cluttering Library and Parser Errors.

Instead of that it should scan only files that are supported and expanded as new parser is added.

Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/Windows.mid)
Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/wind_beneath_my_wings.mid)
Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/Winner takes it all.mid)
Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/With You.mid)
Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/Without Me.mid)Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/Womanizer.mid)
Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/Woman in love.mid)
Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/wonderwall.mid)Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/Wouldnt It Be Nice.mid)
Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/you belong with me.mid)
Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/yourstill.mid)
Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/Yeah.mid)
Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/yen_zzunknown.mid)
Music metadata parsing error: Error: No parser found for extension: .mid (C:/Users/Peke/Music/MIDI/Piano/Youve Got A Friend in ME.mid)
Scan of repository C:/Users/Peke/Music has been finished in 17 seconds
940 files has been read from SQL DB in 73 milliseconds

Configuration changes

  1. Configuration is currently stored in DB. It'd probably better be stored directly in filesystem as JSON.

  2. Configuration should be available on start-up (i.e. read from filesystem), so that all values (e.g. http port) are available asap. The current dependency on contentDirectoryService is unnecessarily complex and cumbersome.

npm start error on Synology 918

I ran into the bug where mms only scans a small percentage of files before hitting an SQL error, so I tried building the latest version on my Synology, which supposedly fixes that problem. After installing the build tools (gcc, make) on my NAS, I was able to (I think) successfully build mms, but when I tried to start it, I ran into:

ktritz@Seker:~/mms-master$ npm start

[email protected] start
node server.js

node:internal/modules/cjs/loader:1338
return process.dlopen(module, path.toNamespacedPath(filename));
^

Error: /opt/lib/libpthread.so.0: undefined symbol: __libc_vfork, version GLIBC_PRIVATE
at Module._extensions..node (node:internal/modules/cjs/loader:1338:18)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Module.require (node:internal/modules/cjs/loader:1141:19)
at require (node:internal/modules/cjs/helpers:110:18)
at bindings (/volume1/homes/ktritz/mms-master/node_modules/bindings/bindings.js:112:48)
at Object. (/volume1/homes/ktritz/mms-master/node_modules/better-sqlite3/lib/database.js:9:24)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Module.require (node:internal/modules/cjs/loader:1141:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object. (/volume1/homes/ktritz/mms-master/node_modules/better-sqlite3/lib/index.js:2:18)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10) {
code: 'ERR_DLOPEN_FAILED'
}

Node.js v18.15.0

Googling for similar errors seems to indicate some issue with linking libraries, or their order. Any ideas?

todo: Patch memory leaks on all views that involve async tasks/subscriptions

Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
    in CollectionsList (created by WithStyles(CollectionsList))
    in WithStyles(CollectionsList) (at Dashboard.js:52)
    in ...
Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
    in LogList (created by WithStyles(LogList))
    in WithStyles(LogList) (at Dashboard.js:67)
    in ...

MMS service Process ID [PID]

Some NAS Support watching Services and Process state to Restart in case of Freeze/Crash

  1. QNAP For example in Package container have Multiple lines defining Service apps that reflect how it is handled in NAS Remote UI.
QPKG_SERVICE_PORT="10222"
#QPKG_SERVICE_PIDFILE="/usr/bin/mms/share/mms/mms.pid"

I would suggest
a) that --start command line can be used with parameter where user can specify path to PID file (note file contain only ProcessID)
or
b) introduce to --status command line with optional parameter to specify path to .PID file

Wrong collection type and no items detected [temporary]

I got mms running with the precombiled binaries but experienced two minor issues.
Here is what I did:

  1. Delete all existing collections (1x music and 1x video)
  2. Add a music collection which is stored on an external harddrive. Symlink has been created in /mnt.
  3. Do a scan for the created library

Issues:

  1. Logfile says it's scanning a movie directory whereas it should be a music directory
  2. Did not find any files to process

grafik

After restarting the service the issue is gone and it behaves as expected:
14:00 Scan music directory: file:/mnt/WDRed3T/Medien/SchafMusik/Surfbook, 6381 files to process

Server crashs when initialising a fresh syncronisation from a client

Hello there,
I recently tried the MM server but unfortunately I get an exception at the initial sync:

PS C:\Users\mmuehlbacher\Downloads\MMS-win64-0.3.2> .\mms.exe --ssdpLog Database loaded in 5 ms ================================================== MMS v0.3.2 running at http://x.x.x.x:10222 (or http://localhost:10222) Connect using a web browser or using MediaMonkey 5. ================================================== 101243 files has been read from SQL DB in 10138 milliseconds Scan music directory: file:G:/Musik, 57504 files to process

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: 00007FF60DCEBBFF RC4_options+2528383
2: 00007FF60DCB4C56 RC4_options+2303190
3: 00007FF60DCBABC0 RC4_options+2327616
4: 00007FF60E0E2DFE RC4_options+6686334
5: 00007FF60E0ABF56 RC4_options+6461398
6: 00007FF60E1CCC4C RC4_options+7644364
7: 00007FF60E1C7F14 RC4_options+7624596
8: 00007FF60E1FB1C4 RC4_options+7834180
9: 00007FF60E1742E8 RC4_options+7281512
10: 00007FF60E0AC47B RC4_options+6462715
11: 00007FF60E0F0676 RC4_options+6741750
12: 00007FF60DCA0026 RC4_options+2218150
13: 00007FF60E4B80BE RC4_options+10705214
14: 00007FF60E4B72CB RC4_options+10701643
15: 00007FF60E4B7768 RC4_options+10702824
16: 00007FF60E4B757B RC4_options+10702331
17: 000000FC75FDC5C1

MMS Cannot find module 'strtok3/lib/type'

Looks like the more modern versions of strtok3 have changed type.js -> types.js and it's causing an error.

mediamonkey@dax:/var/www/mediamonkey/mms$ npm start

> [email protected] start /var/www/mediamonkey/mms
> node server.js

Database loaded in 7 ms
(node:17712) UnhandledPromiseRejectionWarning: Error: Cannot find module 'strtok3/lib/type'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/var/www/mediamonkey/mms/node_modules/music-metadata/lib/aiff/AiffParser.js:5:16)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/var/www/mediamonkey/mms/node_modules/music-metadata/lib/ParserFactory.js:8:22)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
(node:17712) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:17712) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Steps to reproduce on ubuntu 16.04.6

git clone https://github.com/mediamonkeyserver/mms.git
cd mms
npm install
npm start

Resolved by either symlinking back to the old name or upgrading the music-metadata package in package.json to "^6.3.0" and doing an npm install

installing mms on synology nas: error while loading shared libraries: libfl.so.2: cannot open shared object file: No such file or directory

hi, I'm trying to install mms on my synology nas via ssh. I install make and gcc via ipkg. then I cloned the repo, and ran npm intall inside the folder, but then I got this error:

mluerig@ml-nas:~/mms$ npm install

> [email protected] install /volume1/homes/mluerig/mms/node_modules/better-sqlite3
> prebuild-install || npm run build-release

prebuild-install WARN install No prebuilt binaries found (target=12.20.1 runtime=node arch=x64 libc= platform=linux)

> [email protected] build-release /volume1/homes/mluerig/mms/node_modules/better-sqlite3
> node-gyp rebuild --release

make: Entering directory '/volume1/homes/mluerig/mms/node_modules/better-sqlite3/build'
  TOUCH b857c92884e9598d609f6be182a2595df7a8e00f.intermediate
  ACTION deps_sqlite3_gyp_locate_sqlite3_target_extract_sqlite3 b857c92884e9598d609f6be182a2595df7a8e00f.intermediate
  TOUCH Release/obj.target/deps/locate_sqlite3.stamp
  CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o
  AR(target) Release/obj.target/deps/sqlite3.a
ar: error while loading shared libraries: libfl.so.2: cannot open shared object file: No such file or directory
deps/sqlite3.target.mk:203: recipe for target 'Release/obj.target/deps/sqlite3.a' failed
make: *** [Release/obj.target/deps/sqlite3.a] Error 127
rm b857c92884e9598d609f6be182a2595df7a8e00f.intermediate
make: Leaving directory '/volume1/homes/mluerig/mms/node_modules/better-sqlite3/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:314:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12)
gyp ERR! System Linux 4.4.59+
gyp ERR! command "/volume1/@appstore/Node.js_v12/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
gyp ERR! cwd /volume1/homes/mluerig/mms/node_modules/better-sqlite3
gyp ERR! node -v v12.20.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build-release: `node-gyp rebuild --release`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build-release script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /var/services/homes/mluerig/.npm/_logs/2021-06-26T11_06_27_132Z-debug.log
npm WARN @semantic-release/[email protected] requires a peer of semantic-release@>=15.0.0 <16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `prebuild-install || npm run build-release`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /var/services/homes/mluerig/.npm/_logs/2021-06-26T11_06_28_098Z-debug.log

There is no Version info available to user

ATM There is no Version info available so user do not know what version of MMS is using.

  1. MMS Version info should be clearly visible in LOG
9:20:09 PM   ==================================================
9:20:09 PM   Running at http://xxx.xxx.xxx.xxx:10222 (or http://localhost:10222)
9:20:09 PM   Connect using a web browser or using MediaMonkey 5.
9:20:09 PM   ==================================================

it should say MMS v0.2.4 is running at http://xxx.xxx.xxx.xxx:10222 (or http://localhost:10222)
2. --version command line option is not available when MMS is called from SSH

[~] # mms --version
error: unknown option `--version

Disable Auto Library Path config and Auto Scan

MMS on first start should Open Config Page to add Paths for library instead of Auto adding and assuming default Library folders.

Reason for that is because if Users want to migrate from MM5+ library to MMS they do not need predifined folders where Migration wizard would handle the setting of Library paths.

Also Auto Scan should be Optional not mandatory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.