File: sound.rb

package info (click to toggle)
mikutter 5.1.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 9,780 kB
  • sloc: ruby: 22,912; sh: 186; makefile: 21
file content (23 lines) | stat: -rw-r--r-- 742 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# # -*- coding: utf-8 -*-

Plugin.create :sound do
  Sound = Data.define(:slug, :name, :play)

  # サウンドDSL
  defdsl :defsound do |slug, name, &play|
    filter_sound_servers do |servers|
      [servers + [Sound.new(slug:, name:, play:)]] end end

  on_play_sound do |filename|
    use_sound_server = UserConfig[:sound_server]
    Plugin.filtering(:sound_servers, []).first.each{ |value|
      if not(use_sound_server) or use_sound_server == value.slug
        value.play.call(filename)
        break end } end

  settings _("サウンド") do
    select _("サウンドの再生方法"), :sound_server, mode: :list do
      Plugin.filtering(:sound_servers, []).first.each{ |value|
        option value.slug, value.name } end end

end