{"id":18982306,"url":"https://github.com/profusion/lightmediascanner","last_synced_at":"2025-04-19T20:03:20.769Z","repository":{"id":3842884,"uuid":"4926271","full_name":"profusion/lightmediascanner","owner":"profusion","description":"Lightweight media scanner","archived":false,"fork":false,"pushed_at":"2019-08-19T12:25:21.000Z","size":631,"stargazers_count":15,"open_issues_count":4,"forks_count":10,"subscribers_count":38,"default_branch":"master","last_synced_at":"2024-03-26T14:09:55.395Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/profusion.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-07-06T14:45:55.000Z","updated_at":"2023-04-16T02:04:53.000Z","dependencies_parsed_at":"2022-07-07T14:30:36.127Z","dependency_job_id":null,"html_url":"https://github.com/profusion/lightmediascanner","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Flightmediascanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Flightmediascanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Flightmediascanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Flightmediascanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/profusion","download_url":"https://codeload.github.com/profusion/lightmediascanner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223713507,"owners_count":17190498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T16:13:05.123Z","updated_at":"2024-11-08T16:13:06.199Z","avatar_url":"https://github.com/profusion.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"                         LIGHT MEDIA SCANNER\n                         ===================\n\nLightweight media scanner meant to be used in not-so-powerful devices,\nlike embedded systems or old machines.\n\nProvides an optimized way to recursively scan directories, handling\nthe parser in a child process, avoiding breaks of the main process\nwhen parsers break (quite common with such bad libs and tags). One can\nopt to use the single process version, but be aware that if something\nbad happens during parsing, your application will suffer.\n\nParsers are plugins in the form of shared objects, so it's easy to add\nnew without having to recompile the scanner.\n\nThe scanner will use SQLite3 to store file-mtime association, avoiding\nparsing files that are already up-to-date. This SQLite connection and\nthe file id within the master table 'files' are handled to plugins for\nrelationship with other tables.\n\n\nDAEMON\n~~~~~~\n\nLMS provides `lightmediascannerd', a D-Bus daemon that uses the library\nand provides a common use case in a centralized way. It will scan\ndirectories based on some categories (defaults to FreeDesktop.Org/XDG\ndirectories specification, but can be manually specified in the\ncommand line), manages a DataBase WriteLock (remember SQLite3 will\nproduce annoying 'database is locked' errors if writes are done by one\nprocess while another is using it) and information of database changes\nthrough properties.\n\nService Information:\n * Well Known Name: org.lightmediascanner\n * Path: /org/lightmediascanner/Scanner1\n * Interfaces: org.lightmediascanner.Scanner1, org.freedesktop.DBus.Properties,\n   org.freedesktop.DBus.Introspectable\n\nThere is a tool `lightmediascannerctl' to print server status, monitor\nproperties (useful to see WriteLocked, IsScanning and UpdateID),\nrequest write lock or request scan.\n\nBoth tools are written using glib and it's gio/gdbus, so they depend\non these libraries during both compile and runtime.\n\nNOTE:\n\n   If you're installing to custom directories (~/usr, /opt, etc) make\n   sure the service file is installed in a directory known to\n   dbus-daemon, usually /usr/share/dbus-1/services or\n   ~/.local/share/dbus-1/services. Example:\n\n      ./configure \\\n          --prefix=$HOME/lms \\\n          --enable-daemon \\\n          --with-dbus-services=$HOME/.local/share/dbus-1/services\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofusion%2Flightmediascanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofusion%2Flightmediascanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofusion%2Flightmediascanner/lists"}