Skip to content

Instantly share code, notes, and snippets.

@gmuth
gmuth / Soundploy.md
Last active August 2, 2026 12:51
Soundploy - A selfcontained solution for Bose SoundTouch speakers to preset and play custom radio streams without using a BMX service

SoundPloy V1 - selfcontained

A selfcontained solution for Bose SoundTouch speakers to preset and play custom radio streams without using a BMX service. If root access is too complicated for you look at SoundPloy V2. The idea was first documented here: deborahgu/soundcork#62

Pre-requisites

  • The speaker is connected to your network
  • You know it's IP or hostname
  • You have root access to the speaker via remote_services file
@gmuth
gmuth / Slf4jExtension.kt
Last active January 19, 2021 09:31
Kotlin extension for Slf4j
package org.slf4j
enum class LogLevel { TRACE, DEBUG, INFO, WARN, ERROR }
fun Logger.trace(messageProducer: () -> Any?) = log(LogLevel.TRACE, null, messageProducer)
fun Logger.debug(messageProducer: () -> Any?) = log(LogLevel.DEBUG, null, messageProducer)
fun Logger.info(messageProducer: () -> Any?) = log(LogLevel.INFO, null, messageProducer)
fun Logger.warn(messageProducer: () -> Any?) = log(LogLevel.WARN, null, messageProducer)
fun Logger.error(messageProducer: () -> Any?) = log(LogLevel.ERROR, null, messageProducer)
fun Logger.trace(throwable: Throwable?, messageProducer: () -> Any?) = log(LogLevel.TRACE, throwable, messageProducer)