npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

windows-audio-volume-scheduler

v1.0.0

Published

Schedule audio volume on a Windows system

Downloads

1

Readme

windows-audio-volume-scheduler

Apache 2.0 License node.js 16+ Latest Release

Automatically adjust Windows system audio level based on a configurable schedule.

Run these steps first (end user):

  1. One of the packages, "ffi-napi", uses native modules and relies on "node-gyp" to build the project if needed, depending on whether a prebuilt binary exists or not. As a result, there may be some prerequisites that are needed to be installed/configured. The recommendation is to try to install this package first, and if it ends up building the native binary on the fly and node-gyp complains about something, then refer to node-gyp's instructions to have those prerequisites installed.

  2. Edit src/settings.json.

    • service defines service parameters when installed as Windows service:
      • name is the service name to be used.
      • account info is optional. If provided, the service will be running as the specified account. These properties can be provided:
        • name is account's name
        • password is account's password
        • domain is optional, and should be provided if the account is a domain account
     "service": {
         "name": "Audio Volume Scheduler",
         "account": {
             "name": "{account name}",
             "password": "{account password}",
             "domain": "{account domain}"
         }
     },
    • schedule lists trigger time and desired audio value level (between 0 and 100). Currently schedule runs daily.

    • showNotification allows showing Windows notification when it succeeds or fails to adjust audio volume.

      Note, this only works when running in standalone mode instead of as a Windows service.

  3. Run "npm install". Accept UAC prompts if any (there could be up to 4). "npm link" can be used as well, which will create a command "showip" that can be used as a shortcut to "src/show-interfaces.js".

    Note, this step installs the script as a Windows service. If it's not desired, run "npm run uninstall" afterwards.

For developers:

The native DLL and optionally the test executable can be built by one of the following methods:

  • To build the project in Visual Studio 2022, just open the solution file in VS2022 and build.

  • For those who use Visual Studio Code, a .vscode folder is provided at top level, with tasks defined and the default build task uses MSBuild to generate the Release|x64 output. Note, you need to download and install Build Tools for Visual Studio 2022 from this page. Make sure to include Desktop development with C++ workload during installation.

    Launch VSCode from Developer Command Prompt for VS 2022 by running "code ." from src directory, so that environment needed by MSBuild is set up properly.

  • The third option is cmake. A CMakeLists.txt file is provided in src directory. It is recommended to use a separate build directory at top level. For example, "cmake -B build" creates a build directory at top level and prepares the build environment, then, "cmake --build build --config Release" builds the project in release mode.

To run the script manually:

Run "npm start" or "node src/app.js".

To install and run the script as a Windows service:

Run "npm run install" or "node src/install-service.js". Accept UAC prompts if any (there could be up to 4).

Note, if settings.json is updated when service is running, restart it in Windows Services control panel.

To uninstall the Windows service:

Run "npm run uninstall" or "node src/uninstall-service.js". Accept UAC prompts if any (there could be up to 4).