8eddad5c76
* [audio] More capabilities for AudioSink using the AudioServlet AudioServlet can now serve all type of AudioStream multiple times by buffering data in memory or in temporary file. Adding method to ease disposal of temporary file after playing a sound Adding an identifyier to audio stream for further development (allow audio sink to cache computation data) We can now send audio with a Runnable for a delayed task to be executed after. This delayed task includes temporary file deletion and volume restoration. This is a no breaking change / no behaviour modification for other addon AudioSink, as existing AudioSink must explicitly override the old behaviour to use this capability. Add AudioSinkSync / AudioSinkAsync abstract classes to use this capability easily. WebAudioSink now implements this capability, with the help of a modified AudioServlet Adding (approximative, better than nothing) sound duration computation method for MP3 and WAV. Use this sound duration computation to guess when the async sound is finished and when to do the post process (i.e. volume restoration) Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com> |
||
---|---|---|
.github | ||
bom | ||
bundles | ||
features | ||
itests | ||
licenses/epl-2.0 | ||
tools | ||
.gitattributes | ||
.gitignore | ||
CODEOWNERS | ||
CONTRIBUTING.md | ||
crowdin.yml | ||
LICENSE | ||
NOTICE | ||
pom.xml | ||
README.md |
openHAB Core
This project contains core bundles of the openHAB runtime.
Building and running the project is fairly easy if you follow the steps detailed below.
Please note that openHAB Core is not a product itself, but a framework to build solutions on top. It is picked up by the main openHAB distribution.
This means that what you build is primarily an artifact repository of OSGi bundles that can be used within smart home products.
1. Prerequisites
The build infrastructure is based on Maven. If you know Maven already then there won't be any surprises for you. If you have not worked with Maven yet, just follow the instructions and everything will miraculously work ;-)
What you need before you start:
- Java SE Development Kit 17
- Maven 3 from https://maven.apache.org/download.html
Make sure that the mvn
command is available on your path
2. Checkout
Checkout the source code from GitHub, e.g. by running:
git clone https://github.com/openhab/openhab-core.git
3. Building with Maven
To build this project from the sources, Maven takes care of everything:
- set
MAVEN_OPTS
to-Xms512m -Xmx1024m
- change into the openhab-core directory (
cd openhab-core
) - run
mvn clean install
to compile and package all sources
If there are tests that are failing occasionally on your local build, run mvn -DskipTests=true clean install
instead to skip them.
How to contribute
If you want to become a contributor to the project, please read about contributing and check our guidelines first.