Skip to content

Commit

Permalink
Merge branch 'balena-io-experimental:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
sniff122 authored Oct 16, 2024
2 parents fcf2658 + b258569 commit 5d9f521
Show file tree
Hide file tree
Showing 31 changed files with 652 additions and 425 deletions.
9 changes: 5 additions & 4 deletions .github/ISSUE_TEMPLATE/dac_request.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
---
name: DAC request
about: Request support for new DACs
title: ''
title: ""
labels: DAC
assignees: ''

assignees: ""
---

**Note: please read the [DAC section](https://sound.balenalabs.io/docs/audio-interfaces#dac-boards) on our official documentation site before proceeding.**
**Note: please read the [DAC section](https://balena-sound.pages.dev/audio-interfaces#dac-boards) on our official documentation site before proceeding.**

**Do** open an issue if you:

- are working on adding support for an unsupported DAC
- you were instructed by support agents at our forums to do so

**Do not** open an issue if you (instead reach us at our [forums](https://forums.balena.io/)):

- are having trouble setting up a supported DAC
- want to test an untested DAC
3 changes: 0 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md

This file was deleted.

43 changes: 39 additions & 4 deletions .github/workflows/flowzone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,49 @@ name: Flowzone
on:
pull_request:
types: [opened, synchronize, closed]
branches:
- "main"
- "master"
branches: [main, master]

# allow external contributions to use secrets within trusted code
pull_request_target:
types: [opened, synchronize, closed]
branches: [main, master]

workflow_dispatch:

jobs:
flowzone:
name: Flowzone
uses: product-os/flowzone/.github/workflows/flowzone.yml@master
# prevent duplicate workflow executions for pull_request and pull_request_target
if: |
(
github.event.pull_request.head.repo.full_name == github.repository &&
github.event_name == 'pull_request'
) || (
github.event.pull_request.head.repo.full_name != github.repository &&
github.event_name == 'pull_request_target'
)
# Workflows in the same org or enterprise can use the inherit keyword to implicitly pass secrets
secrets: inherit

with:
balena_slugs: 'balenalabs/balenasound'
balena_slugs: balenalabs/balenasound
cloudflare_website: "balena-sound"

sync:
name: "Synchronize BalenaHub Readme"
runs-on: "ubuntu-22.04"
needs: [flowzone]
steps:
- name: Checkout main branch
uses: actions/checkout@v4

- name: Update balena.yml
uses: balena-io-experimental/balena.yml-action@main
with:
# Synchronise the GitHub README with the Balena Hub README
sync_readme: true
# If pushing a tag to deploy, use the same tag as the version number to display on Balena Hub
sync_tag: false

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ landr-dist
node_modules
build
core/multiroom/server/snapweb
labs-docs-builder
99 changes: 84 additions & 15 deletions .versionbot/CHANGELOG.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,63 @@
- commits:
- subject: "patch: Add Docusaurus-builder docs to balena-sound"
hash: f58df614030f28ad6fab2093c90f04910e7fa470
body: ""
footer:
Signed-off-by: Vipul Gupta (@vipulgupta2048) <[email protected]>
signed-off-by: Vipul Gupta (@vipulgupta2048) <[email protected]>
author: Vipul Gupta (@vipulgupta2048)
nested: []
- subject: "patch: Add Flowzone back"
hash: c47a1aed470b1f95c593ffdcea72ff4677b06abb
body: ""
footer:
Signed-off-by: Vipul Gupta (@vipulgupta2048) <[email protected]>
signed-off-by: Vipul Gupta (@vipulgupta2048) <[email protected]>
author: Vipul Gupta (@vipulgupta2048)
nested: []
- subject: "sound-supervisor: Switch to a balenalib base image"
hash: 3bf0a6ced40a1d4212b80b5bceef1acdfd29ae53
body: ""
footer:
Signed-off-by: Alan Boris <[email protected]>
signed-off-by: Alan Boris <[email protected]>
Change-type: patch
change-type: patch
author: Alan Boris
nested: []
- subject: Allow manual deploys to balena via GH Workflow
hash: 6fdf4a931f91f23ec4fdd72b4f954f70673ec462
body: ""
footer:
Change-type: minor
change-type: minor
author: maggie0002
nested: []
- subject: "renamathon: rename application to fleet/app"
hash: cad5246598638d46eda1b1ba27cf575399e06ee2
body: ""
footer:
Change-type: patch
change-type: patch
Signed-off-by: Tomás Migone <[email protected]>
signed-off-by: Tomás Migone <[email protected]>
author: Tomás Migone
nested: []
- subject: "docs: Add upgrade instructions to docs"
hash: 5a0bd2c8c04191839d705381a88c38d1ce5e84dc
body: ""
footer:
Connects-to: "#434"
connects-to: "#434"
Change-type: patch
change-type: patch
Signed-off-by: Roddie Hasan <[email protected]>
signed-off-by: Roddie Hasan <[email protected]>
author: Roddie Hasan
nested: []
version: 3.10.0
title: ""
date: 2024-04-17T12:41:07.907Z
- commits:
- subject: changing balenablocks urls and flowzone CI
hash: ec21ca9dcd5da43fbab2559bea165b7ceeb6b1cc
Expand Down Expand Up @@ -554,10 +614,11 @@
- subject: Use SOUND_SUPERVISOR_PORT in container start scripts
hash: 3d267ca69f01dd11b19f621a08f96e71b88a1a17
body: >
This patch make container start scripts consider the environment variable
SOUND_SUPERVISOR_PORT.
This patch make container start scripts consider the environment
variable SOUND_SUPERVISOR_PORT.
Otherwise the services adress requests to wrong default port, if sound supervisor web port is changed by above configuration variable.
Otherwise the services adress requests to wrong default port, if sound
supervisor web port is changed by above configuration variable.
This change affects audio, airplay, multi-room and docs.
footer:
Expand Down Expand Up @@ -882,11 +943,14 @@
body: >
- Update snapcast to v0.22.0-r0
- Replace FIFO stream source with ALSA which significantly reduces CPU and I/O usage (fixes #294)
- Replace FIFO stream source with ALSA which significantly reduces CPU
and I/O usage (fixes #294)
- Add SOUND_INPUT_LATENCY and SOUND_OUTPUT_LATENCY env vars (also helps with #294)
- Add SOUND_INPUT_LATENCY and SOUND_OUTPUT_LATENCY env vars (also helps
with #294)
- Reduce multiroom-server image with multi stage builds for a slimmer image
- Reduce multiroom-server image with multi stage builds for a slimmer
image
- Reduce verbose level for both multiroom services
footer:
Expand Down Expand Up @@ -1176,7 +1240,8 @@
- New plugin system for audio sources, easier to contribute.
- Uniform audio configuration and handling thanks to audio block (volume, etc)
- Uniform audio configuration and handling thanks to audio block
(volume, etc)
- Simultaneous audio source streaming
Expand Down Expand Up @@ -1268,7 +1333,8 @@
- subject: Adding clarification between config vars and env vars for users
hash: 94f129c48a4178a4d4246c990488fa56c7d6d8e7
body: >
Clarifying and citing resources for env var usage in balenaSound so users
Clarifying and citing resources for env var usage in balenaSound so
users
don't try to add env vars to config vars.
footer:
Expand Down Expand Up @@ -1729,7 +1795,8 @@
body: >-
This feature adds multi-room audio streaming to balenaSound.
No breaking changes were made, but considering this a major version bump since it's a big feature and all services were affected.
No breaking changes were made, but considering this a major version bump
since it's a big feature and all services were affected.
New services added:
Expand All @@ -1739,7 +1806,8 @@
- fleet-supervisor
- By default, all audio services now stream to a fifo pipe file instead of alsa backend.
- By default, all audio services now stream to a fifo pipe file instead
of alsa backend.
- Multi-room can be disabled via env var DISABLE_MULTI_ROOM.
- version: 1.3.10
Expand Down Expand Up @@ -2156,8 +2224,8 @@
subject: Change base image to Debian Stretch instead of Buster
body: "Fixes https://github.com/balena-io-projects/balena-sound/issues/15\r
The use of Buster instead of Stretch breaks balena-sound. This
reverts back to Stretch until the Buster issues can be worked out."
The use of Buster instead of Stretch breaks balena-sound. This reverts
back to Stretch until the Buster issues can be worked out."
- hash: 441e91aaad83a8a0222bec75766ce8ba372b32c4
author: pwt
footers:
Expand All @@ -2166,7 +2234,8 @@
body: >-
Fixes https://github.com/balena-io-projects/balena-sound/issues/15
The use of Buster instead of Stretch breaks balena-sound. This reverts back to Stretch until the Buster issues can be worked out.
The use of Buster instead of Stretch breaks balena-sound. This reverts
back to Stretch until the Buster issues can be worked out.
- hash: 808a7e01ac44bdc349a2339dfa133e5def3fd03a
author: pwt
subject: Merge branch 'master' of https://github.com/pwt/balena-sound
Expand Down Expand Up @@ -2214,8 +2283,8 @@
author: Tim
subject: Update for Multi Container use
body: >-
Suggestion additional info for people who might want to combine this in an
app with other playground apps.
Suggestion additional info for people who might want to combine this in
an app with other playground apps.
Labels is something that's not always clear for beginners.
- hash: eefcca025309f2b53651b57fb76fb41a0a2221ed
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
This project adheres to [Semantic Versioning](http://semver.org/).

# v3.10.0
## (2024-04-17)

* patch: Add Docusaurus-builder docs to balena-sound [Vipul Gupta (@vipulgupta2048)]
* patch: Add Flowzone back [Vipul Gupta (@vipulgupta2048)]
* sound-supervisor: Switch to a balenalib base image [Alan Boris]
* Allow manual deploys to balena via GH Workflow [maggie0002]
* renamathon: rename application to fleet/app [Tomás Migone]
* docs: Add upgrade instructions to docs [Roddie Hasan]

# v3.9.6
## (2022-11-16)

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ balenaSound was created as a [hack friday](https://www.balena.io/blog/hack-frida

## Overview

Make sure you checkout our [architecture][../contributing/architecture] guide, which aims to explain how all pieces fit together. It's a good starting point for understanding how we designed and built balenaSound.
Make sure you checkout our [architecture][./docs/ARCHITECTURE.md] guide, which aims to explain how all pieces fit together. It's a good starting point for understanding how we designed and built balenaSound.

Another way to improve how you use and contribute to balenaSound is to take our [masterclasses](https://www.balena.io/docs/learn/more/masterclasses/overview/). Each lesson is a self-contained, deep walk-through on core skills to be successful with your next edge project. Check them out at our [docs](https://www.balena.io/docs/learn/more/masterclasses/overview/).

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2022 Balena Labs Projects
Copyright (c) 2024 Balena Labs Projects

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
16 changes: 5 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
![logo](https://raw.githubusercontent.com/balena-io-projects/balena-sound/master/docs/images/balenaSound-logo.png)

**Starter project enabling you to add multi-room audio streaming via Bluetooth, Airplay, Spotify Connect and others to any old speakers or Hi-Fi using just a Raspberry Pi.**
**Starter project enabling you to add multi-room audio streaming via Bluetooth, Airplay2, Spotify Connect and others to any old speakers or Hi-Fi using just a Raspberry Pi.**

## Highlights

- **Audio source plugins**: Stream audio from your favourite music services: Bluetooth, Airplay, Spotify Connect, UPnP and more!
- **Audio source plugins**: Stream audio from your favourite music services: Bluetooth, Airplay2, Spotify Connect, UPnP and more!
- **Multi-room synchronous playing**: Play perfectly synchronized audio on multiple devices all over your place.
- **Extended DAC support**: Upgrade your audio quality with one of our supported DACs

## Setup and configuration

Running this app is as simple as deploying it to a balenaCloud fleet. You can do it in just one click by using the button below:

[![deploy button](https://balena.io/deploy.svg)](https://dashboard.balena-cloud.com/deploy?repoUrl=https://github.com/balena-labs-projects/balena-sound&defaultDeviceType=raspberry-pi)

If you don't want to create a balenaCloud account you can deploy the app directly from [balenaHub](https://hub.balena.io/balenalabs/balenasound).
[![deploy button](https://balena.io/deploy.svg)](https://dashboard.balena-cloud.com/deploy?repoUrl=https://github.com/balena-io-experimental/balena-sound&defaultDeviceType=raspberry-pi)

## Documentation

Head over to our [docs](https://sound.balenalabs.io/docs/) for detailed installation and usage instructions, customization options, and more!
Head over to our [docs](https://balena-sound.pages.dev) for detailed installation and usage instructions, customization options, and more!

## Motivation

Expand All @@ -32,8 +30,4 @@ This project is in active development so if you have any feature requests or iss

## Getting Help

If you're having any problem, please [raise an issue](https://github.com/balena-labs-projects/balena-sound/issues/new) on GitHub and we will be happy to help.

## Contributing

Do you want to help make balenaSound better? Take a look at our [Contributing Guide](https://sound.balenalabs.io/contributing). Hope to see you around!
If you're having any problem, please [raise an issue](https://github.com/balena-io-experimental/balena-sound/issues/new) on GitHub and we will be happy to help.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.9.6
3.10.0
10 changes: 5 additions & 5 deletions balena.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
name: balenaSound
type: sw.application
description: >-
Build a single or multi-room streamer for an existing audio device
using a Raspberry Pi! Supports Bluetooth, Airplay and Spotify Connect
Build a single or multi-room streamer for an existing audio device using a
Raspberry Pi! Supports Bluetooth, Airplay2 and Spotify Connect
fleetcta: Sounds good
post-provisioning: >-
## Usage instructions
assets:
repository:
type: blob.asset
data:
url: 'https://github.com/balena-labs-projects/balena-sound'
url: 'https://github.com/balena-io-experimental/balena-sound'
logo:
type: blob.asset
data:
url: >-
https://raw.githubusercontent.com/balena-labs-projects/balena-sound/master/logo.png
https://raw.githubusercontent.com/balena-io-experimental/balena-sound/master/logo.png
data:
applicationEnvironmentVariables:
- SOUND_VOLUME: 75
Expand All @@ -28,4 +28,4 @@ data:
- raspberrypi4-64
- fincm3
- intel-nuc
version: 3.9.6
version: 3.10.0
2 changes: 1 addition & 1 deletion core/audio/balena-sound.pa
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# See https://sound.balenalabs.io/docs/architecture for details
# See https://github.com/balena-io-experimental/balena-sound/blob/master/docs/ARCHITECTURE.md for details

# Create balena-sound sinks
load-module module-null-sink sink_name=balena-sound.input
Expand Down
2 changes: 1 addition & 1 deletion core/multiroom/client/start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ echo "Starting multi-room client..."
echo "- balenaSound mode: $MODE"
echo "- Target snapcast server: $SNAPSERVER"

# Set the snapcast device name for https://github.com/balena-labs-projects/balena-sound/issues/332
# Set the snapcast device name for https://github.com/balena-io-experimental/balena-sound/issues/332
if [[ -z $SOUND_DEVICE_NAME ]]; then
SNAPCAST_CLIENT_ID=$BALENA_DEVICE_UUID
else
Expand Down
2 changes: 1 addition & 1 deletion core/sound-supervisor/Dockerfile.template
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ COPY core/sound-supervisor/tsconfig.json .
RUN npm run build
COPY VERSION .

FROM node:14-alpine3.14
FROM balenalib/%%BALENA_ARCH%%-alpine-node:14

WORKDIR /usr/src

Expand Down
Loading

0 comments on commit 5d9f521

Please sign in to comment.