{"id":50876428,"url":"https://github.com/vdsbenoit/auto-jingle","last_synced_at":"2026-06-15T10:02:24.596Z","repository":{"id":350714108,"uuid":"1207946476","full_name":"vdsbenoit/auto-jingle","owner":"vdsbenoit","description":"Tool to play a jingle at given interval. It also pauses \u0026 resumes the current Spotify playback","archived":false,"fork":false,"pushed_at":"2026-04-11T17:10:23.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-11T19:12:20.717Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vdsbenoit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-11T16:06:29.000Z","updated_at":"2026-04-11T17:10:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/vdsbenoit/auto-jingle","commit_stats":null,"previous_names":["vdsbenoit/auto-jingle"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/vdsbenoit/auto-jingle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vdsbenoit%2Fauto-jingle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vdsbenoit%2Fauto-jingle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vdsbenoit%2Fauto-jingle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vdsbenoit%2Fauto-jingle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vdsbenoit","download_url":"https://codeload.github.com/vdsbenoit/auto-jingle/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vdsbenoit%2Fauto-jingle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34357282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-15T10:02:23.975Z","updated_at":"2026-06-15T10:02:24.590Z","avatar_url":"https://github.com/vdsbenoit.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Auto Jingle\n\nA standalone jingle scheduler that pauses Spotify at configured times, plays a jingle in QuickTime Player, then resumes Spotify.\n\n\u003e [!NOTE]\n\u003e Only works on macOS due to reliance on AppleScript for Spotify control and QuickTime for playback.\n\n## Screenshot\n\n![Auto Jingle UI](/doc/screenshot.png)\n\n## Features\n\n- Scheduler with `HHhMM` times\n- Live UI: status, next jingle, last run, and error display\n- QuickTime playback\n- Finder file picker for jingle file\n- Auto jingle duration detection (`afinfo`, fallback to `mdls`)\n- Editable schedule and force-play button\n- Settings persistence in `~/.auto-jingle/settings.json`\n\n## Requirements\n\n### Use \n\n- macOS\n- Spotify app installed\n- QuickTime Player available (built-in on macOS)\n\n### Development\n\n- macOS\n- Deno \n- Xcode Command Line Tools (`swiftc`, `iconutil`, `sips`)\n\n## Quick start\n\n```bash\ndeno task build:mac-app\n```\n\nOutput:\n\n- `dist/Auto Jingle.app`\n- `dist/Auto Jingle.zip`\n\nInstall:\n\n1. Open `dist/` in Finder.\n2. Drag `Auto Jingle.app` into `/Applications`.\n3. Launch from Applications.\n\nFirst launch notes:\n\n- Gatekeeper may block the app since it's unsigned. Use \"Open Anyway\" in System Preferences \u003e Security \u0026 Privacy to allow it.\n- Spotify / QuickTime automation will trigger macOS permissions prompts.\n\n## Run in development\n\n```bash\ndeno task dev\n```\n\nThe app starts at `http://localhost:8844` and opens automatically in your browser.\n\n## Environment variables\n\n- `AUTO_JINGLE_PORT`\n\t- Default: `8844`\n\t- Purpose: HTTP port used by the web server.\n\t- Example:\n\n```bash\nAUTO_JINGLE_PORT=9000 deno task dev\n```\n\n- `AUTO_JINGLE_NO_BROWSER`\n\t- Default: unset (browser opens automatically)\n\t- Purpose: disables auto-opening the UI in a browser when set to `1`.\n\t- Example:\n\n```bash\nAUTO_JINGLE_NO_BROWSER=1 deno task dev\n```\n\n- `HOME`\n\t- Default: inherited from your shell/session.\n\t- Purpose: determines settings location (`$HOME/.auto-jingle/settings.json`).\n\t- Fallback behavior: if `HOME` is unavailable, settings are stored in `settings.json` next to the app executable/project base directory.\n\n## Standalone build\n\n```bash\ndeno task compile\n```\n\nBinary output:\n\n- `dist/auto-jingle`\n\nRun it:\n\n```bash\n./dist/auto-jingle\n```\n\n## Distribution-safe signing (recommended)\n\n1. List available signing identities:\n\n```bash\nsecurity find-identity -v -p codesigning\n```\n\n2. Build with your Developer ID certificate:\n\n```bash\nAUTO_JINGLE_CODESIGN_IDENTITY=\"Developer ID Application: Your Name (TEAMID)\" deno task build:mac-app\n```\n\n3. Share `dist/Auto Jingle.zip` (not the raw `.app` alone).\n\n### Optional notarization (best for zero-friction install)\n\nAfter configuring a notary keychain profile:\n\n```bash\nAUTO_JINGLE_CODESIGN_IDENTITY=\"Developer ID Application: Your Name (TEAMID)\" \\\nAUTO_JINGLE_NOTARIZE_PROFILE=\"your-notary-profile\" \\\ndeno task build:mac-app\n```\n\n### If you already received a blocked build\n\nOn the target Mac, remove quarantine as a temporary workaround:\n\n```bash\nxattr -dr com.apple.quarantine \"/Applications/Auto Jingle.app\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvdsbenoit%2Fauto-jingle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvdsbenoit%2Fauto-jingle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvdsbenoit%2Fauto-jingle/lists"}