Commit Graph

1636 Commits (101e841554820fc23d9bc9c305fad130a5c8c560)

Author SHA1 Message Date
Åke 6a125cd155 Merge pull request #945 from el-tocino/Issue942
==== Fixed Issues ====
#942 

====  Tech Notes ==== 
Separate multiple skills found error from no skill found error.

- Multiple skills found = Err 301
- No skill found = Err 302
2017-08-02 12:25:40 +02:00
Åke e7c55aaa43 Merge pull request #933 from MycroftAI/feature/skill-configuration
Feature/skill configuration
2017-08-02 08:57:28 +02:00
el-tocino 98ee790d33 altered return codes for dupe/missing 2017-08-02 01:29:18 -05:00
Åke Forslund ddf0e3578e Remove volume parameter from default wav play cmd
==== Fixed Issues ====
#943
2017-08-02 08:08:42 +02:00
Augusto Monteiro 738849a30e Merge pull request #941 from MycroftAI/bugfix/issue-940
bugfix/issue-940 change LOGGER to logger
2017-08-01 17:52:39 -04:00
Michael Nguyen b68baf1d57 change LOGGER to logger 2017-08-01 16:39:13 -05:00
Michael Nguyen 12c7302ac7 changed logger to LOGGER 2017-08-01 16:22:49 -05:00
Michael Nguyen 48b26d1fbd added new test and put back is_stored property 2017-08-01 13:52:51 -05:00
vavrek acc3fde7bd Merge pull request #908 from augustnmonteiro/dev
Making Readme.md more contributor friendly
2017-08-01 20:34:46 +02:00
Åke e1a1751519 Merge pull request #433 from forslund/audio-service
Add audio service

==== Fixed Issues ====
NONE

====  Tech Notes ==== 
Adds a separate audio service process. This audio service handles queuing audio and adds the possibility to send audio to different backends (including mpg123, vlc, mopidy and chromecast)

TTS is moved from the clients to this process.

====  Documentation Notes ==== 
audio service skill API should be documented.

==== Localization Notes ==== 
NONE

==== Environment Notes ==== 
The audio service needs to be started together with the other parts of mycroft.
Ideally we should include vlc on the image to allow better control over the playback than mpg123/aplay allows

==== Protocol Notes ====
A bunch of audio control related message bus messages has been added:

mycroft.audio.service.play - start playing a playlist
mycroft.audio.service.pause - pause currently playing list
mycroft.audio.service.resume - resume paused playback
mycroft.audio.service.stop - stop playback
mycroft.audio.service.next - start playing next track
mycroft.audio.service.prev - start playing previous track
mycroft.audio.service.track_info - return information about the currently playing track
2017-08-01 13:23:00 +02:00
Åke Forslund df18f42ae0 Remove debug prints 2017-08-01 11:45:42 +02:00
Åke Forslund 9c49f97421 Audio service is_playing property 2017-07-31 13:37:18 +02:00
Åke Forslund 0e2029d9fe Add support for muting pulse audio streams
when the audio configuration option "pulseaudio" is set to mute running
audio streams will be muted while mycroft is speaking and while mycroft
is listening.
2017-07-31 13:37:18 +02:00
Åke Forslund 6f37d3c8f8 Fix bug in track_info_method
* import Message to allow audio service to reply info
* Add default message to audio service class
2017-07-31 13:37:18 +02:00
Åke Forslund 3aee40274a Fix pep8 issue introduced during rebase. 2017-07-31 13:37:18 +02:00
Åke Forslund 68506cb519 Add basic tests for audio service 2017-07-31 13:37:17 +02:00
Åke Forslund 93a9848a4c Move speech information methods to audio 2017-07-31 13:37:17 +02:00
Åke Forslund a2e0f31dd3 Add playback-control skill to defaults 2017-07-31 13:37:17 +02:00
Åke Forslund 769b4f900e Move text to speech to audio service 2017-07-31 13:37:17 +02:00
Åke Forslund 824503ae4d Volume is now changed in relation to current volume for vlc 2017-07-31 13:37:17 +02:00
Åke Forslund 8d4aabe6ca Correct resume handler 2017-07-31 13:37:17 +02:00
Åke Forslund e1eb61e9d8 Update default setting to new standard 2017-07-31 13:37:17 +02:00
Åke Forslund d012702bde Update control logic for mpg123 process
Removes the cases where the process keeps playing in the background
when a new track is started.
2017-07-31 13:37:17 +02:00
Åke Forslund 839803c958 Rename messages.
As requested by Augusto Monteiro
2017-07-31 13:37:17 +02:00
Åke Forslund 86a557e1ac Docstrings! 2017-07-31 13:37:17 +02:00
Åke Forslund e9a8eb01ca Handle file:// uri's in mpg123 backend 2017-07-31 13:37:17 +02:00
Åke Forslund c81ad57ebf Populate AudioService class with more methods
Pause, resume, next and previous added to the interface.
The play method was updated to add 'file://' to uri's lacking uri type.
2017-07-31 13:37:17 +02:00
Åke Forslund 5c874677cc Add check for valid type of tracks 2017-07-31 13:37:17 +02:00
Åke Forslund 581aafc3b6 Add pychromecast and python-vlc to requirements.txt 2017-07-31 13:37:17 +02:00
Åke Forslund 0749b3c088 Only display message bus messages related to audio service 2017-07-31 13:37:17 +02:00
Åke Forslund 44a7c5ec0c Fix playback_control skill 2017-07-31 13:37:17 +02:00
Åke Forslund 2270448fff Fix pep8 errors 2017-07-31 13:37:17 +02:00
Åke Forslund bddccad7b9 Make service loading more robust 2017-07-31 13:37:17 +02:00
Åke Forslund aab65d8178 Add docstrings. 2017-07-31 13:37:17 +02:00
Åke Forslund 177187bee6 Rename manual_load to load_service. 2017-07-31 13:37:17 +02:00
Åke Forslund bfc2d3eced Starup audio process together with mycroft 2017-07-31 13:37:17 +02:00
Åke Forslund bccc9f78d8 Handle stop 2017-07-31 13:37:17 +02:00
Åke Forslund a39033fa98 Re-add resume functionality 2017-07-31 13:37:17 +02:00
Åke Forslund 3001dd5a83 Move backend base class to audio/services 2017-07-31 13:37:17 +02:00
Åke Forslund 7dc746370a Load all audio services in the service directory 2017-07-31 13:37:17 +02:00
Åke Forslund c7ad6b11bb Move audio service to separate process. 2017-07-31 13:37:17 +02:00
Åke Forslund ac5bd17041 Add chromecast service
Chromecast can be manually added with a backend entry with type set to "chromecast" or the service can autodetect all chromecast and register them with their names by setting the Audio configuration parameter autodetect-chromecast set to true.

Currently this implementation is very basic and is using the default media controller. This limits the usable uri's to http(s), adding support for local files and hopefully more services will be added later.
2017-07-31 13:37:17 +02:00
Åke Forslund 67502372bf fix pep8 issues 2017-07-31 13:37:17 +02:00
Åke Forslund 51b98a11b7 Fix trailing comma in default config 2017-07-31 13:37:17 +02:00
Åke Forslund e55cd018f2 Activate default-backend option 2017-07-31 13:37:17 +02:00
Åke Forslund b098f2ad30 Make sure mopidy startup doesn't block 2017-07-31 13:37:17 +02:00
Åke Forslund ee5141ed6f Make all audio backend build on the base class
Abstract base class is now a bit more lenient
2017-07-31 13:37:16 +02:00
Åke Forslund 34dd679d3e Fix mopidy configuration 2017-07-31 13:37:16 +02:00
Åke Forslund 6d36cf4cd1 Add default configuration 2017-07-31 13:37:16 +02:00
Åke Forslund 8686cade3b Update service alias to use config name 2017-07-31 13:37:16 +02:00