From 5a82ba858f70aa13e3faa8554d80e9df36873e26 Mon Sep 17 00:00:00 2001 From: Idrees Hassan Date: Sun, 4 Jan 2026 17:34:34 -0500 Subject: [PATCH] Add chirping when pet --- dist/extension.zip | Bin 149039 -> 149461 bytes dist/extension/birb.js | 48 ++++++++++++++++++++++++++++++++- dist/extension/manifest.json | 2 +- dist/obsidian/main.js | 50 +++++++++++++++++++++++++++++++++-- dist/obsidian/manifest.json | 2 +- dist/userscript/birb.user.js | 50 +++++++++++++++++++++++++++++++++-- dist/web/birb.embed.js | 48 ++++++++++++++++++++++++++++++++- dist/web/birb.js | 48 ++++++++++++++++++++++++++++++++- src/application.js | 4 +++ src/sound.js | 42 +++++++++++++++++++++++++++++ 10 files changed, 285 insertions(+), 9 deletions(-) create mode 100644 src/sound.js diff --git a/dist/extension.zip b/dist/extension.zip index fa3a0ec72fa5074573b89f9cd61bf9fdf56f5f18..34c527e177bee9d8184ba91b6794666b0df11611 100644 GIT binary patch delta 27378 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 delta 27011 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 { alert("Thank you for using Pocket Bird! You are on version: 2026.1.1"); }, false), + new MenuItem("2026.1.4", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.1.4"); }, false), ]; const styleElement = document.createElement("style"); @@ -1833,6 +1876,8 @@ FLYING: "flying", }; + const birdsong = new Birdsong(); + let frozen = false; let stateStart = Date.now(); let currentState = States.IDLE; @@ -2513,6 +2558,7 @@ function pet() { if (currentState === States.IDLE && birb.getCurrentAnimation() !== Animations.HEART) { + birdsong.chirp(); birb.setAnimation(Animations.HEART); lastPetTimestamp = Date.now(); } diff --git a/dist/extension/manifest.json b/dist/extension/manifest.json index d87779c..4584664 100644 --- a/dist/extension/manifest.json +++ b/dist/extension/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Pocket Bird", "description": "It's a pet bird in your browser, what more could you want?", - "version": "2026.1.1", + "version": "2026.1.4", "homepage_url": "https://idreesinc.com", "icons": { "48": "images/icons/transparent/48x48x1.png", diff --git a/dist/obsidian/main.js b/dist/obsidian/main.js index 21af991..981ab11 100644 --- a/dist/obsidian/main.js +++ b/dist/obsidian/main.js @@ -1,7 +1,7 @@ const { Plugin, Notice } = require('obsidian'); module.exports = class PocketBird extends Plugin { onload() { - console.log("Loading Pocket Bird version 2026.1.1..."); + console.log("Loading Pocket Bird version 2026.1.4..."); const OBSIDIAN_PLUGIN = this; (function () { 'use strict'; @@ -862,6 +862,49 @@ module.exports = class PocketBird extends Plugin { } } + // @ts-check + + class Birdsong { + + /** + * @type {AudioContext} + */ + audioContext; + + chirp() { + if (!this.audioContext) { + this.audioContext = new AudioContext(); + } + + const TIMES = [0, 0.06, 0.16]; + const FREQUENCIES = [2200, + 3500 + Math.random() * 700, + 1600 + Math.random() * 400]; + const VOLUMES = [0.0001, 0.3, 0.0001]; + + const oscillator = this.audioContext.createOscillator(); + oscillator.type = "sine"; + const gain = this.audioContext.createGain(); + oscillator.connect(gain); + gain.connect(this.audioContext.destination); + + const now = this.audioContext.currentTime; + for (let i = 0; i < TIMES.length; i++) { + const time = TIMES[i] + now; + if (i === 0) { + oscillator.frequency.setValueAtTime(FREQUENCIES[i], time); + gain.gain.setValueAtTime(VOLUMES[i], time); + } else { + oscillator.frequency.exponentialRampToValueAtTime(FREQUENCIES[i], time); + gain.gain.exponentialRampToValueAtTime(VOLUMES[i], time); + } + } + + oscillator.start(now); + oscillator.stop(now + TIMES[TIMES.length - 1]); + } + } + const ROOT_PATH = ""; /** @@ -1862,7 +1905,7 @@ module.exports = class PocketBird extends Plugin { insertModal(`${birdBirb()} Mode`, message); }), new Separator(), - new MenuItem("2026.1.1", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.1.1"); }, false), + new MenuItem("2026.1.4", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.1.4"); }, false), ]; const styleElement = document.createElement("style"); @@ -1876,6 +1919,8 @@ module.exports = class PocketBird extends Plugin { FLYING: "flying", }; + const birdsong = new Birdsong(); + let frozen = false; let stateStart = Date.now(); let currentState = States.IDLE; @@ -2556,6 +2601,7 @@ module.exports = class PocketBird extends Plugin { function pet() { if (currentState === States.IDLE && birb.getCurrentAnimation() !== Animations.HEART) { + birdsong.chirp(); birb.setAnimation(Animations.HEART); lastPetTimestamp = Date.now(); } diff --git a/dist/obsidian/manifest.json b/dist/obsidian/manifest.json index 69435cc..4aae7d6 100644 --- a/dist/obsidian/manifest.json +++ b/dist/obsidian/manifest.json @@ -1,7 +1,7 @@ { "id": "pocket-bird", "name": "Pocket Bird", - "version": "2026.1.1", + "version": "2026.1.4", "minAppVersion": "0.15.0", "description": "Add a pet bird to fly around your notes and keep you company!", "author": "Idrees Hassan", diff --git a/dist/userscript/birb.user.js b/dist/userscript/birb.user.js index fe59ca8..e4bf5d7 100644 --- a/dist/userscript/birb.user.js +++ b/dist/userscript/birb.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Pocket Bird // @namespace https://idreesinc.com -// @version 2026.1.1 +// @version 2026.1.4 // @description It's a pet bird in your browser, what more could you want? // @author Idrees // @downloadURL https://github.com/IdreesInc/Pocket-Bird/raw/refs/heads/main/dist/userscript/birb.user.js @@ -871,6 +871,49 @@ } } + // @ts-check + + class Birdsong { + + /** + * @type {AudioContext} + */ + audioContext; + + chirp() { + if (!this.audioContext) { + this.audioContext = new AudioContext(); + } + + const TIMES = [0, 0.06, 0.16]; + const FREQUENCIES = [2200, + 3500 + Math.random() * 700, + 1600 + Math.random() * 400]; + const VOLUMES = [0.0001, 0.3, 0.0001]; + + const oscillator = this.audioContext.createOscillator(); + oscillator.type = "sine"; + const gain = this.audioContext.createGain(); + oscillator.connect(gain); + gain.connect(this.audioContext.destination); + + const now = this.audioContext.currentTime; + for (let i = 0; i < TIMES.length; i++) { + const time = TIMES[i] + now; + if (i === 0) { + oscillator.frequency.setValueAtTime(FREQUENCIES[i], time); + gain.gain.setValueAtTime(VOLUMES[i], time); + } else { + oscillator.frequency.exponentialRampToValueAtTime(FREQUENCIES[i], time); + gain.gain.exponentialRampToValueAtTime(VOLUMES[i], time); + } + } + + oscillator.start(now); + oscillator.stop(now + TIMES[TIMES.length - 1]); + } + } + const SAVE_KEY = "birbSaveData"; /** @@ -1824,7 +1867,7 @@ insertModal(`${birdBirb()} Mode`, message); }), new Separator(), - new MenuItem("2026.1.1", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.1.1"); }, false), + new MenuItem("2026.1.4", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.1.4"); }, false), ]; const styleElement = document.createElement("style"); @@ -1838,6 +1881,8 @@ FLYING: "flying", }; + const birdsong = new Birdsong(); + let frozen = false; let stateStart = Date.now(); let currentState = States.IDLE; @@ -2518,6 +2563,7 @@ function pet() { if (currentState === States.IDLE && birb.getCurrentAnimation() !== Animations.HEART) { + birdsong.chirp(); birb.setAnimation(Animations.HEART); lastPetTimestamp = Date.now(); } diff --git a/dist/web/birb.embed.js b/dist/web/birb.embed.js index 1c0c2f9..f068ab6 100644 --- a/dist/web/birb.embed.js +++ b/dist/web/birb.embed.js @@ -857,6 +857,49 @@ } } + // @ts-check + + class Birdsong { + + /** + * @type {AudioContext} + */ + audioContext; + + chirp() { + if (!this.audioContext) { + this.audioContext = new AudioContext(); + } + + const TIMES = [0, 0.06, 0.16]; + const FREQUENCIES = [2200, + 3500 + Math.random() * 700, + 1600 + Math.random() * 400]; + const VOLUMES = [0.0001, 0.3, 0.0001]; + + const oscillator = this.audioContext.createOscillator(); + oscillator.type = "sine"; + const gain = this.audioContext.createGain(); + oscillator.connect(gain); + gain.connect(this.audioContext.destination); + + const now = this.audioContext.currentTime; + for (let i = 0; i < TIMES.length; i++) { + const time = TIMES[i] + now; + if (i === 0) { + oscillator.frequency.setValueAtTime(FREQUENCIES[i], time); + gain.gain.setValueAtTime(VOLUMES[i], time); + } else { + oscillator.frequency.exponentialRampToValueAtTime(FREQUENCIES[i], time); + gain.gain.exponentialRampToValueAtTime(VOLUMES[i], time); + } + } + + oscillator.start(now); + oscillator.stop(now + TIMES[TIMES.length - 1]); + } + } + const SAVE_KEY = "birbSaveData"; /** @@ -1804,7 +1847,7 @@ insertModal(`${birdBirb()} Mode`, message); }), new Separator(), - new MenuItem("2026.1.1", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.1.1"); }, false), + new MenuItem("2026.1.4", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.1.4"); }, false), ]; const styleElement = document.createElement("style"); @@ -1818,6 +1861,8 @@ FLYING: "flying", }; + const birdsong = new Birdsong(); + let frozen = false; let stateStart = Date.now(); let currentState = States.IDLE; @@ -2498,6 +2543,7 @@ function pet() { if (currentState === States.IDLE && birb.getCurrentAnimation() !== Animations.HEART) { + birdsong.chirp(); birb.setAnimation(Animations.HEART); lastPetTimestamp = Date.now(); } diff --git a/dist/web/birb.js b/dist/web/birb.js index 1c0c2f9..f068ab6 100644 --- a/dist/web/birb.js +++ b/dist/web/birb.js @@ -857,6 +857,49 @@ } } + // @ts-check + + class Birdsong { + + /** + * @type {AudioContext} + */ + audioContext; + + chirp() { + if (!this.audioContext) { + this.audioContext = new AudioContext(); + } + + const TIMES = [0, 0.06, 0.16]; + const FREQUENCIES = [2200, + 3500 + Math.random() * 700, + 1600 + Math.random() * 400]; + const VOLUMES = [0.0001, 0.3, 0.0001]; + + const oscillator = this.audioContext.createOscillator(); + oscillator.type = "sine"; + const gain = this.audioContext.createGain(); + oscillator.connect(gain); + gain.connect(this.audioContext.destination); + + const now = this.audioContext.currentTime; + for (let i = 0; i < TIMES.length; i++) { + const time = TIMES[i] + now; + if (i === 0) { + oscillator.frequency.setValueAtTime(FREQUENCIES[i], time); + gain.gain.setValueAtTime(VOLUMES[i], time); + } else { + oscillator.frequency.exponentialRampToValueAtTime(FREQUENCIES[i], time); + gain.gain.exponentialRampToValueAtTime(VOLUMES[i], time); + } + } + + oscillator.start(now); + oscillator.stop(now + TIMES[TIMES.length - 1]); + } + } + const SAVE_KEY = "birbSaveData"; /** @@ -1804,7 +1847,7 @@ insertModal(`${birdBirb()} Mode`, message); }), new Separator(), - new MenuItem("2026.1.1", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.1.1"); }, false), + new MenuItem("2026.1.4", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.1.4"); }, false), ]; const styleElement = document.createElement("style"); @@ -1818,6 +1861,8 @@ FLYING: "flying", }; + const birdsong = new Birdsong(); + let frozen = false; let stateStart = Date.now(); let currentState = States.IDLE; @@ -2498,6 +2543,7 @@ function pet() { if (currentState === States.IDLE && birb.getCurrentAnimation() !== Animations.HEART) { + birdsong.chirp(); birb.setAnimation(Animations.HEART); lastPetTimestamp = Date.now(); } diff --git a/src/application.js b/src/application.js index c194c03..40263ba 100644 --- a/src/application.js +++ b/src/application.js @@ -2,6 +2,7 @@ import Frame from './frame.js'; import Layer from './layer.js'; import Anim from './anim.js'; import { Birb, Animations } from './birb.js'; +import { Birdsong } from './sound.js'; import { Context, ObsidianContext } from './context.js'; import { @@ -203,6 +204,8 @@ function startApplication(birbPixels, featherPixels) { FLYING: "flying", }; + const birdsong = new Birdsong(); + let frozen = false; let stateStart = Date.now(); let currentState = States.IDLE; @@ -897,6 +900,7 @@ function startApplication(birbPixels, featherPixels) { function pet() { if (currentState === States.IDLE && birb.getCurrentAnimation() !== Animations.HEART) { + birdsong.chirp(); birb.setAnimation(Animations.HEART); lastPetTimestamp = Date.now(); } diff --git a/src/sound.js b/src/sound.js new file mode 100644 index 0000000..834043b --- /dev/null +++ b/src/sound.js @@ -0,0 +1,42 @@ +// @ts-check + +export class Birdsong { + + /** + * @type {AudioContext} + */ + audioContext; + + chirp() { + if (!this.audioContext) { + this.audioContext = new AudioContext(); + } + + const TIMES = [0, 0.06, 0.16]; + const FREQUENCIES = [2200, + 3500 + Math.random() * 700, + 1600 + Math.random() * 400]; + const VOLUMES = [0.0001, 0.3, 0.0001]; + + const oscillator = this.audioContext.createOscillator(); + oscillator.type = "sine"; + const gain = this.audioContext.createGain(); + oscillator.connect(gain); + gain.connect(this.audioContext.destination); + + const now = this.audioContext.currentTime; + for (let i = 0; i < TIMES.length; i++) { + const time = TIMES[i] + now; + if (i === 0) { + oscillator.frequency.setValueAtTime(FREQUENCIES[i], time); + gain.gain.setValueAtTime(VOLUMES[i], time); + } else { + oscillator.frequency.exponentialRampToValueAtTime(FREQUENCIES[i], time); + gain.gain.exponentialRampToValueAtTime(VOLUMES[i], time); + } + } + + oscillator.start(now); + oscillator.stop(now + TIMES[TIMES.length - 1]); + } +} \ No newline at end of file