shirase
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

shirase

Shirase is a library that enables developers to get information of anime currently being played in media players.

Installation

You can get shirase over npm

npm install shirase

Usage

Using shirase is really easy!

const Shirase = require("shirase");
const shi = new Shirase();

shi
  .getInformation()
  .then(information => console.log(information))
  .catch(err => console.log(err));

information (or however you name the Promise return value) is an object containing various fields of information coming from anitomy.

How does it work?

There are a lot of programs using a multitude of batch/shell/PowerShell scripts to get currently running anime, I wondered about there being a way to grab all of that information just inside NodeJS.

Shirase will query for all running processes, then check for a whitelist of media player process names (found in Shirase.MEDIA_PLAYER_PROCESSES()) and filter these out.

Out of the narrowed list of processes, Shirase will use the PID to query the system for window information of that specific process.

This information includes the title, which we will prepare beforehand, consisting of removing eventual title suffixes (e.g. VLCs - VLC media player) and trimming it down.

Once that is done, the title will be passed to anitomy, which parses the title into an object with various different fields from information given. After all players have been checked through, an array with all found information sets will be returned in the Promise.

Contributing

Feature Request / Player Support

If you run shirase locally, in a development setup and find that there's a player that hasn't been added to the internal list of supported ones yet, feel free to open an issue or a pull request!

License

Shirase is licensed under the MIT License.

Package Sidebar

Install

npm i shirase

Weekly Downloads

1

Version

2.0.0

License

MIT

Unpacked Size

10.4 kB

Total Files

7

Last publish

Collaborators

  • pixeldesu