Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
839d8aa
made images non-transparent
Sep 12, 2020
9e44cb0
moved sound files in preparation of multiple sound packs
Sep 12, 2020
420d937
removed the code. We don't need this where we are going.
Sep 12, 2020
21dec51
added the basic prototype code for bongocat on twitch.
Sep 12, 2020
43b6e4f
removed github workflow. not needed.
Sep 12, 2020
e27f6c3
moved config.js to config.js.example and added the regular config.js …
Sep 12, 2020
8048900
moved actual project to src directory so we can add docs outside
Sep 12, 2020
a266f7a
added readme.md because nobody will know what to do with it until i c…
Sep 12, 2020
4787aff
i hate markdown
Sep 12, 2020
1c23202
i still hate markdown
Sep 12, 2020
563f934
normalized the stupid loud cowbell
Sep 15, 2020
6e6a314
added keymaps as documentation
Sep 20, 2020
1525c56
adds a queue so if two players play at the same time, they queue up
Sep 22, 2020
19ca725
added config.js to .gitignore
Sep 22, 2020
61c8ec2
fixes the missing tambourine image
Sep 22, 2020
bb2a4f1
bongocat is now standalone without a web server
Mar 11, 2021
7d0bce8
updated instructions to avoid genitalia getting stuck in CD drives
Mar 11, 2021
c008a0a
removed authentication and replaced twitch.js with tmi.js
danielnickels Mar 9, 2022
d8e7573
Merge pull request #5 from danielnickels/tmijs-anon
JvPeek Mar 13, 2022
b2061c5
Updated readme for tokenless usage.
JvPeek Mar 13, 2022
c46d704
added default channel for tokenless usage
JvPeek Mar 19, 2022
9176d08
Update README.md
JvPeek Mar 19, 2022
525e94a
Delete twitch.js
Luca090902 Apr 12, 2022
12dae55
Merge pull request #6 from Luca090902/patch-1
JvPeek Apr 15, 2022
850e621
rename keyboard sound files into tone names + move to keyboard subdir
coon42 Apr 19, 2022
75c9d1e
sounds: keyboard: add two missing tones for complete "4" scale
coon42 Apr 19, 2022
4564be3
sounds: keyboard: add "3" scale sound files
coon42 Apr 19, 2022
0a8f100
sounds: keyboard: add "5" scale sound files
coon42 Apr 19, 2022
df22967
docs: add parser state machine image
coon42 Apr 20, 2022
64aaa66
make keyboard notation legacy
coon42 Apr 20, 2022
b01a001
index.html: import new keyboard notation audio files
coon42 Apr 20, 2022
92b16ec
index.html: implement new notation parser
coon42 Apr 20, 2022
d2f5a91
add !bongo+ command
coon42 Apr 20, 2022
7674290
fix indent
coon42 Apr 20, 2022
7575af4
index.html: make all old sounds legacy
coon42 Apr 20, 2022
9740bcd
rename marimba sound files into tone names + move to marimba subdir
coon42 Apr 21, 2022
68dd815
sounds: marimba: add two missing tones for complete "4" scale
coon42 Apr 21, 2022
34bdb8f
sounds: marimba: add "3" scale sound files
coon42 Apr 21, 2022
3f8eba2
sounds: marimba: add "5" scale sound files
coon42 Apr 21, 2022
92253c6
index.html: marimba: import new keyboard notation audio files
coon42 Apr 21, 2022
a5171fa
index.html: group legacy and new notations
coon42 Apr 21, 2022
c90f64e
index.html: align indents + remove trailing white spaces
coon42 Apr 21, 2022
f41b2bc
index.html: epsilon: no need to reset thisNote + add debug msg
coon42 Apr 21, 2022
efd15dc
index.html: increase max tempo from 511 to 600 bpm
coon42 Apr 21, 2022
6479305
index.html: add percussions to !bongo+ command
coon42 May 11, 2022
54b8a4a
Allow setting bpm by prefixing with ,
awsdcrafting Jun 4, 2022
e4cb0d1
Removed unused bpm in note parsing
awsdcrafting Jun 4, 2022
15cc661
Removed unused bpm in note parsing
awsdcrafting Jun 4, 2022
96e5436
Merge pull request #1 from awsdcrafting/bongo_plus
coon42 Jun 15, 2022
5843d27
Merge pull request #7 from coon42/bongo_plus
JvPeek Apr 15, 2023
e48c5a7
disablebongo command
JvPeek Apr 15, 2023
5d4123a
User-defined BPM added.
pasilein007 Apr 24, 2023
5a87a7b
Merge pull request #9 from pasilein007/user-bpm
JvPeek Apr 24, 2023
c37fd54
added TB808 sounds, Pic and rise bpm max to 800
Apr 24, 2023
3340f7d
Create 808 Drum Add-on
Apr 24, 2023
35bdbb7
renew 808 pic, old one was upsiede down
Apr 24, 2023
50946c4
Merge pull request #10 from derGreen/master
JvPeek Apr 26, 2023
ece5845
fixed inline bpm
awsdcrafting May 6, 2023
5e92b6d
Merge pull request #11 from awsdcrafting/inline-bpm-fix
JvPeek May 6, 2023
8d52388
Move js to own file
awsdcrafting May 6, 2023
d3bd57f
Github play test
awsdcrafting May 7, 2023
03fd9d0
Split handler for notation from main file
awsdcrafting May 7, 2023
0071f90
Merge pull request #12 from awsdcrafting/rewrite
JvPeek May 7, 2023
7f5fb97
changed github URL
JvPeek May 7, 2023
165f931
fixes trying to access invalid field for username
awsdcrafting May 13, 2023
9633dbb
Merge pull request #13 from awsdcrafting/fix-playback-username
JvPeek May 13, 2023
a528cbb
Change char limit to note limit
awsdcrafting May 23, 2023
e5e60fe
Merge pull request #14 from awsdcrafting/fix-note-playback
JvPeek May 24, 2023
0c5a7f5
fix NaN bpm values
awsdcrafting May 25, 2023
0b6cc1a
feat: clamps bpm values to min and max value
awsdcrafting May 25, 2023
9d45d20
fix: paws are now correctly released after a time
awsdcrafting May 25, 2023
6dcfaae
Create manual-deploy.yml
awsdcrafting May 26, 2023
fcfe251
Update manual-deploy.yml
awsdcrafting May 26, 2023
714ce84
Merge pull request #16 from awsdcrafting/fix-NaN-bpm
awsdcrafting May 26, 2023
d3fb6f9
Update manual-deploy.yml
awsdcrafting May 26, 2023
7bef2bf
Merge branch 'master' into feature-clamp_bpm_values
awsdcrafting May 26, 2023
7bf534d
Merge pull request #17 from awsdcrafting/feature-clamp_bpm_values
awsdcrafting May 26, 2023
9ac4573
Merge pull request #18 from awsdcrafting/fix-release_paw_bpm
awsdcrafting May 26, 2023
80275b8
Add files via upload
derGreen Jun 3, 2023
e806475
Removed !bongo+ in song
awsdcrafting Jun 3, 2023
012fde6
fix: Z and Y have the same meaning again
awsdcrafting Jun 5, 2023
6dcb91d
fix: now correctly replace all z
awsdcrafting Jun 5, 2023
a63ecca
Mark old bongo notation as deprecated legacy
awsdcrafting Jun 5, 2023
6edf7d9
add Update.md to track our changes
derGreen Jun 7, 2023
6017a35
ci: Added auto tagging and changelog+release
awsdcrafting Jun 7, 2023
89a3f2b
feat: dedicate a song to another user
awsdcrafting Jun 7, 2023
a3c3aa7
fix: Auto Tag calls release
awsdcrafting Jun 7, 2023
5c5c047
experimental (dummy)
awsdcrafting Jun 7, 2023
2d0b9d2
ci: fix auto tag + release
awsdcrafting Jun 7, 2023
3e50208
experimental (dummy)
awsdcrafting Jun 7, 2023
f3d9f9e
ci: correctly inherit secrets
awsdcrafting Jun 7, 2023
e48c166
experimental (dummy)
awsdcrafting Jun 7, 2023
438f9d5
ci: auto release test
awsdcrafting Jun 7, 2023
7ddf9a1
experimental (dummy)
awsdcrafting Jun 7, 2023
bf3d12e
ci: auto release test
awsdcrafting Jun 7, 2023
664b479
experimental (dummy)
awsdcrafting Jun 7, 2023
86d05c0
Delete auto-tag.yml
awsdcrafting Jun 7, 2023
c615fa8
fix: remote play works without dedication
awsdcrafting Jun 17, 2023
516797f
feat: Set default mode to queue
awsdcrafting Jul 10, 2023
10721dd
fix: Directory redirection in bongoplay
awsdcrafting Jul 10, 2023
ad47e83
fix: Song without notes are not played anymore
awsdcrafting Jul 10, 2023
3a61336
feat: Mod command: Clear queue
awsdcrafting Jul 10, 2023
72e1d7a
feat: Command handling is now case insensitive
awsdcrafting Jul 10, 2023
6728989
feat: mod command: skip song
awsdcrafting Jul 10, 2023
1501be5
Merge pull request #19 from JvPeek/develop
awsdcrafting Jul 10, 2023
178f1d7
feat: Volume control
awsdcrafting Aug 8, 2023
1e3df8e
fix: Dedications are no longer shown when empty
awsdcrafting Aug 8, 2023
3d094a0
Merge pull request #20 from JvPeek/develop
awsdcrafting Aug 8, 2023
0b9536b
Add Docker Support
Aug 13, 2023
ed3212c
Merge pull request #21 from craftomia/master
awsdcrafting Sep 3, 2023
cd7358f
feat: MaxSongLength in seconds
awsdcrafting Jan 21, 2024
543aeda
feat: Allow multiple github urls
awsdcrafting Jan 24, 2024
086e8a9
feat: Discord Bot
awsdcrafting Jan 24, 2024
5258431
Merge pull request #22 from JvPeek/develop
awsdcrafting Jan 24, 2024
80ad609
feat: Multiple allow roles
awsdcrafting Jan 24, 2024
83554c8
Merge pull request #23 from JvPeek/develop
awsdcrafting Jan 24, 2024
53c09c8
fix: Explicit Typing import for v <3.11
awsdcrafting Jan 24, 2024
88c1cda
feat: Github Songs are now lowercase
awsdcrafting Jan 24, 2024
a4ce296
Merge pull request #24 from JvPeek/develop
awsdcrafting Jan 24, 2024
43d3cfd
fix: Use correct param for maxSongLength
awsdcrafting Jan 24, 2024
4e8f091
Merge pull request #25 from JvPeek/develop
awsdcrafting Jan 24, 2024
e58f03b
experimental rtttl
awsdcrafting Feb 2, 2024
71da3fe
feat: Add Image to rtttl
awsdcrafting Feb 2, 2024
5196264
fix: Correctly handle rtttl names
awsdcrafting Feb 2, 2024
383b787
feat: Paw stays depending on note length
awsdcrafting Feb 2, 2024
7ec8bcf
feat: Modify paw pattern for rtttl to 95% left
awsdcrafting Feb 2, 2024
90ced4e
Merge pull request #26 from JvPeek/develop
awsdcrafting Feb 3, 2024
cb405d7
fix: Lower synth volume to an acceptable value
awsdcrafting Feb 4, 2024
88e7f19
Merge pull request #27 from JvPeek/develop
awsdcrafting Feb 4, 2024
768f357
fix: Crash by trying to stop synth while none is playing
awsdcrafting Feb 7, 2024
4b2a132
feat: Parse _ as # in rtttl notation
awsdcrafting Feb 7, 2024
8843b25
Merge pull request #28 from JvPeek/develop
awsdcrafting Feb 7, 2024
8fd8074
feat: Clamp BPM Function, rttl clamps bpm
awsdcrafting Feb 18, 2024
d706412
feat: Automatic crash protection
awsdcrafting Feb 18, 2024
e6ccd3a
Merge pull request #29 from JvPeek/develop
awsdcrafting Feb 18, 2024
55f431e
add midi output to Cat
Nov 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Lint Code Base

#############################
# Start the job on all pr #
#############################
on:
pull_request:
branches: [master]

###############
# Set the Job #
###############
jobs:
build:
# Name the Job
name: Lint Code Base
# Set the agent to run on
runs-on: ubuntu-latest

############################################
# Grant status permission for MULTI_STATUS #
############################################
permissions:
contents: read
packages: read
statuses: write

##################
# Load all steps #
##################
steps:
##########################
# Checkout the code base #
##########################
- name: Checkout Code
uses: actions/checkout@v3
with:
# Full git history is needed to get a proper
# list of changed files within `super-linter`
fetch-depth: 0

################################
# Run Linter against code base #
################################
- name: Lint Code Base
uses: super-linter/super-linter/slim@v5
env:
VALIDATE_ALL_CODEBASE: false
VALIDATE_CSS: true
VALIDATE_HTML: true
VALIDATE_JAVASCRIPT_ES: true
DEFAULT_BRANCH: master
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
37 changes: 37 additions & 0 deletions .github/workflows/manual-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Manual Deploy via FTP

# Controls when the action will run. Workflow runs when manually triggered using the UI
# or API.
on:
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "deploy"
deploy:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: 🚚 Get latest code
uses: actions/checkout@v3
# Runs a single command using the runners shell
- name: FTP Deploy
# You may pin to the exact commit or the version.
# uses: SamKirkland/FTP-Deploy-Action@8a24039354ee91000cb948cb4a1dbdf1a1b94a3c
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
with:
# ftp server
server: jvpeek.de
# ftp username
username: ${{ secrets.FTPUSER }}
# ftp password
password: ${{ secrets.FTPPASS }}
local-dir: ./src/
# protocol to deploy with - ftp, ftps, or ftps-legacy
protocol: ftps # optional
# Prints which modifications will be made with current config options, but doesnt actually make any changes
dry-run: false # optional
# Deletes ALL contents of server-dir, even items in excluded with exclude argument
dangerous-clean-slate: false # optional
13 changes: 0 additions & 13 deletions .github/workflows/purge-cache.yml

This file was deleted.

66 changes: 66 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Release

on:
push:
branches:
- 'master'
paths:
- 'src/**'


# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "deploy"
release:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: 🚚 Get latest code
uses: actions/checkout@v3
with:
# Full git history is needed to get a proper
# list of changed files within `super-linter`
fetch-depth: 0
# Runs a single command using the runners shell
- name: FTP Deploy
# You may pin to the exact commit or the version.
# uses: SamKirkland/FTP-Deploy-Action@8a24039354ee91000cb948cb4a1dbdf1a1b94a3c
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
with:
# ftp server
server: jvpeek.de
# ftp username
username: ${{ secrets.FTPUSER }}
# ftp password
password: ${{ secrets.FTPPASS }}
local-dir: ./src/
# protocol to deploy with - ftp, ftps, or ftps-legacy
protocol: ftps # optional
# Prints which modifications will be made with current config options, but doesnt actually make any changes
dry-run: false # optional
# Deletes ALL contents of server-dir, even items in excluded with exclude argument
dangerous-clean-slate: false # optional
- name: Changelog
uses: ardalanamini/auto-changelog@v4
id : changelog
with:
github-token : ${{ secrets.GITHUB_TOKEN }}
mention-authors : true
mention-new-contributors: true
include-compare-link : true
include-pr-links : true
include-commit-links : true
use-github-autolink : true
semver : false
release-name: ${{ format('v{0}', github.run_number) }}
- name: Create Release
uses: ncipollo/release-action@v1
env :
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body : |
${{ steps.changelog.outputs.changelog }}
tag: ${{ format('v{0}', github.run_number) }}
commit: master
189 changes: 188 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,188 @@
.idea
# --------------------------------------------------------------------------------
# File created using 'AnGitIgnored' extensions for Visual Studio Code:
# https://marketplace.visualstudio.com/items?itemName=AnAppWiLos.angitignored
#-------------------------------------------------------------------------------
# Created by https://www.toptal.com/developers/gitignore/api/python
# Edit at https://www.toptal.com/developers/gitignore?templates=python

### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

### Python Patch ###
# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
poetry.toml

# ruff
.ruff_cache/

# LSP config files
pyrightconfig.json

# End of https://www.toptal.com/developers/gitignore/api/python

# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)

src/config.js

**/.env

**/*.pem
1 change: 0 additions & 1 deletion CNAME

This file was deleted.

1 change: 0 additions & 1 deletion CODEOWNERS

This file was deleted.

21 changes: 21 additions & 0 deletions DRUM ADD ON.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## New Drums in bongo cat
This version added 4 drum sounds to the classic Bongo cat Sounds
### How to use ?
Drums on this Keys
 * X - Base drum
 * C - Snare drum
 * B - Closed Hi-Hat
 * N - Open Hi-hat
### Why all this
Standard Bongo cat had just some random and too loud percussion sounds, but some keys are still usable on the keyboard, so I had to fill it!
### Why not all keys
The last row of key are already used by other Bongo cat features like this:
 * Y as an alternative for Z conflict in DE and US layout.
 * V as lower Octave value for Bongo+
 * M as "Mau" sound in all versions  
### Midi Notes corresponding to Drums
In case you use Midi files as source for your notes, here are note values of Midi channel 10 corresponding to Bongo cat:
 * Base drum     C1  36  - X
 * Snare drum    E1  40  - C
 * Closed Hi-Hat F#1 42  - B
 * Open Hi-hat   A#1 46  - N
Loading