MCPcopy Index your code
hub / github.com/Picorims/wav2bar

github.com/Picorims/wav2bar @v0.2.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.2 ↗ · + Follow
192 symbols 375 edges 22 files 2 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Wav2Bar

A tool to make custom audio visualization and export production videos for the audio/music industry. - Website: https://picorims.github.io/wav2bar-website/ - Blog: https://picorims.github.io/wav2bar-blog/ - Discord Server: https://discord.gg/EVGzfdP

Important Notes

  • This tool is usable at this point, but is still in early development! Your work is subject to bugs, backup your saves!
  • Git LFS used to be used for node_modules and FFMpeg, but is no longer used. Both of these folders have been removed from the repository, but not its history. You do not need to clone them. Git LFS files are no longer included in archive downloads. If you want a full release source code archive, go to the releases section. This will include node_modules, but not FFmpeg (that can be downloaded from their website).

Hacking

  • NodeJS must be installed (It will install npm too).
  • Clone the git repository (you can also use GitHub's download button if you only need to perform tests). Note that Git LFS is used too. Git LFS files should be packaged together with the archive download.
  • Mac/linux:
    • Reinstall the same version of Electron, the repository contains a Windows 64bit version of it.
  • download FFmpeg for your operating system and configure it in the app settings (otherwise export won't work!).
  • Open the repository folder in a prompt and run npm start.

Compiling

Compilation is done through electron-forge v6's make command. No matter the platform, you can compile by running npm run make which is an alias to electron-forge make. It will automatically package the app before, but you can also do it using npm run package. More info at https://www.electronforge.io/ and https://www.electronforge.io/configuration.

Compilation settings are detailed in package.JSON at the "config" node. You can add additional configurations to export in other formats, but you need to have access to the targetted platform/OS and install required dependencies. The list of available makers is available at https://www.electronforge.io/config/makers.

FFmpeg should be installed independently and not compiled in the application.

ZIP

Zip maker is available for all platforms, without any dependencies required. On Windows, it will produce an executable (.exe) to run the app from anywhere on a Windows machine, without any installation process.

Windows specific

WiX MSI

This maker create a Windows .msi installer. To make a .msi installer, Wix must be installed on the machine (not necessarily Windows), as well as light and candle installed from the WiX Toolkit. More info at https://www.electronforge.io/config/makers/wix-msi and https://github.com/felixrieseberg/electron-wix-msi. The paths for the installer assets are absolute, don't forget to change them in package.json or the make command will fail!

Linux specific

There are existing configurations for .deb and .rpm packages although they have not been tested as I have no viable Linux development environment at the moment.

.deb packages

.deb packages can be made on MacOS and Linux machines with fakeroot and dpkg packages installed. See https://www.electronforge.io/config/makers/deb

.rpm packages

.rpm packages can be made on Linux machines with rpm or rpm-build packages installed. See https://www.electronforge.io/config/makers/rpm.

Mac Specific

.pkg packages

Although there is no support for MacOS, the application may run just fine as Electron supports MacOS. If you would like to make a .pkg package for MacOS instead or running from source, you may look at https://www.electronforge.io/config/makers/pkg.

Using the Command Line Interface (CLI)

See docs/cli.md for more details.

License

This tool is MIT licensed.

Copyright (c) 2020-2021 Picorims, France.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Core symbols most depended-on inside this repo

CustomLog
called by 176
js/index.js
value
called by 57
js/ui_components/ui_base_components.js
forceValue
called by 50
js/ui_components/ui_parameters.js
MessageDialog
called by 13
js/user_interface.js
InputDialog
called by 7
js/user_interface.js
FileBrowserDialog
called by 7
js/user_interface.js
toggle
called by 7
js/ui_components/ui_base_components.js
rename
called by 7
js/ui_components/ui_parameters.js

Shape

Function 85
Method 71
Class 36

Languages

TypeScript100%

Modules by API surface

js/ui_components/ui_parameters.js54 symbols
js/ui_components/ui_base_components.js49 symbols
js/user_interface.js21 symbols
js/index.js14 symbols
js/utils/type_checking.js9 symbols
js/save.js8 symbols
js/export_renderer.js8 symbols
js/settings.js6 symbols
main.js5 symbols
js/ui_components/ui_append_help.js5 symbols
js/utils/array_utils.js3 symbols
js/utils/randomizers.js2 symbols

For agents

$ claude mcp add wav2bar \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact