| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- require 'ceedling/plugin'
- require 'ceedling/constants'
- class Beep < Plugin
- attr_reader :config
- def setup
- @config = {
- :on_done => ((defined? TOOLS_BEEP_ON_DONE) ? TOOLS_BEEP_ON_DONE : :bell ),
- :on_error => ((defined? TOOLS_BEEP_ON_ERROR) ? TOOLS_BEEP_ON_ERROR : :bell ),
- }
- end
- def post_build
- beep @config[:on_done]
- end
- def post_error
- beep @config[:on_error]
- end
- private
- def beep(method = :none)
- case method
- when :bell
- if (SystemWrapper.windows?)
- puts "echo '\007'"
- else
- puts "echo -ne '\007'"
- end
- when :speaker_test
- `speaker-test -t sine -f 1000 -l 1`
- else
- #do nothing with illegal or :none
- end
- end
- end
|