Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions __init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,11 @@ def _get_mixer(self):

def initialize(self):
# Register handlers to detect percentages as reported by STT
# Different STT engines might return "50%" or "50 percent"
for i in range(101): # numbers 0 to 100
self.register_vocabulary(str(i) + '%', 'Percent')
percent_string = ' '.join([str(i), self.translate('percent')])
self.register_vocabulary(percent_string, 'Percent')

# Register handlers for messagebus events
self.add_event('mycroft.volume.increase',
Expand Down Expand Up @@ -135,7 +138,7 @@ def _setvolume(self, vol, emit=True):
if emit:
# Notify non-ALSA systems of volume change
self.bus.emit(Message('mycroft.volume.set',
data={"percent": vol/100.0}))
data={"percent": vol / 100.0}))

# Change Volume to X (Number 0 to) Intent Handlers
@intent_handler(IntentBuilder("SetVolume").require("Volume")
Expand Down Expand Up @@ -361,7 +364,7 @@ def __get_system_volume(self, default=50, show=False):
self.log.debug('Volume before mute: {}'.format(vol))
else:
vol_msg = self.bus.wait_for_response(
Message("mycroft.volume.get", {'show': show}))
Message("mycroft.volume.get", {'show': show}))
if vol_msg:
vol = int(vol_msg.data["percent"] * 100)

Expand All @@ -383,7 +386,7 @@ def __get_volume_level(self, message, default=None):
elif (level > self.MAX_LEVEL):
# Guess that the user said something like 100 percent
# so convert that into a level value
level = self.MAX_LEVEL * level/100
level = self.MAX_LEVEL * level / 100
except ValueError:
pass

Expand Down
2 changes: 2 additions & 0 deletions test/behave/volume.feature
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ Feature: volume control
Examples: change volume to a percent
| change volume to a percent |
| volume 80 percent |
| set volume to 70 percent |
| set volume to 87% |

Scenario Outline: max volume
Given an english speaking user
Expand Down