cmus-bt 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 40f75a07520ceab5bd721323a216a5bf0f846e27c3068de91b53823ed13c2c13
4
- data.tar.gz: 8efa1239b84969b51c5e82267ebdcf3ade22fcbd35d5824b243ccd7524836433
3
+ metadata.gz: 5eb8d1c1799109a59a6af9715bb52ac9f5953feafc9f66659ac8cfb3599317ad
4
+ data.tar.gz: a0516ec4172eebab275b43e1e2ecab38d4faeef4b14d4764c61675accaa9125c
5
5
  SHA512:
6
- metadata.gz: 49d59dcc858a9501e11506a15148b064b1bec027add482a0b110c4fb56920bb39c2a3593ccb6ff95fdc87aacb0c2a9d57c1c470a23dbdaf120b5e0fdb5e1f63a
7
- data.tar.gz: 36ca6db14d83743669db3d858cab55a6c58b560db8ee110aaa8fff2699c01ee733dee6f76ed13ac46b274e04ec83962c2020e78eb26aa156b9f0c25d86ac5602
6
+ metadata.gz: a88776b65a4b6a5039e52827b89ecd3ea4e22cb1b8b6ef61a47ca80d32a384d2683b80bba6a41fa99e53204990662aa973bb89e9e78bc5d54013873178ed6b63
7
+ data.tar.gz: c8d279072f4d4c6d3508cb90f06a234164414b955dcc54b66f8c46ddbee8fb7c5c5cc39084ec563232539a8c985b13e32a5485956fd1f043d41be11dec6eceae
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+ task :default => :spec
@@ -34,17 +34,15 @@ module CMusBt
34
34
  private :root
35
35
 
36
36
  def objman
37
- @objman ||=
38
- root["org.freedesktop.DBus.ObjectManager"].GetManagedObjects
39
-
40
- return @objman
37
+ return @objman ||= root["org.freedesktop.DBus.ObjectManager"]
41
38
  end
42
39
  private :objman
43
40
 
44
41
  def list
45
42
  ret = []
43
+ dir = objman.GetManagedObjects()
46
44
 
47
- objman.each { |path, hash|
45
+ dir.each { |path, hash|
48
46
  next if not hash.keys.include?("org.bluez.Device1")
49
47
 
50
48
  iface = hash["org.bluez.Device1"]
data/lib/cmus-bt/main.rb CHANGED
@@ -37,7 +37,7 @@ module CMusBt
37
37
  list = availables()
38
38
 
39
39
  if list.empty?
40
- print("Available device is not exist.")
40
+ print("Available device is not exist.\n")
41
41
 
42
42
  else
43
43
  list.each { |info|
@@ -64,10 +64,12 @@ module CMusBt
64
64
 
65
65
  thread = Thread.fork {Player.daemon(info)}
66
66
  status = system("cmus")
67
+ raise("execute cmus failed.") if not status.success?
67
68
 
68
- thread.raise
69
+ ensure
70
+ thread&.raise
71
+ thread&.join
69
72
  $logger.info("exit #{APP_NAME}")
70
- exit(status)
71
73
  end
72
74
  private :run_app
73
75
 
@@ -82,6 +84,10 @@ module CMusBt
82
84
  else
83
85
  raise("Not implement yet")
84
86
  end
87
+
88
+ rescue Exception => e
89
+ STDERR.print("#{e.message}\n")
90
+ exit(1)
85
91
  end
86
92
  end
87
93
  end
@@ -15,10 +15,10 @@ module CMusBt
15
15
  EVENT_STRUCTURE = "l!l!S!S!i!"
16
16
 
17
17
  FUNC_TABLE = {
18
- 200 => :do_play, # KEY_PLAYCD
19
- 201 => :do_pause, # KEY_PAUSECD
20
- 163 => :do_next, # KEY_NEXTSONG
21
- 165 => :do_prev, # KEY_PREVIOUSSONG
18
+ 200 => :on_play, # KEY_PLAYCD
19
+ 201 => :on_pause, # KEY_PAUSECD
20
+ 163 => :on_next, # KEY_NEXTSONG
21
+ 165 => :on_prev, # KEY_PREVIOUSSONG
22
22
  }
23
23
 
24
24
  class << self
@@ -68,7 +68,7 @@ module CMusBt
68
68
  end
69
69
  private :read_meta
70
70
 
71
- def do_play
71
+ def on_play
72
72
  if status == :playing
73
73
  system("cmus-remote --pause")
74
74
  $logger.info("PAUSE")
@@ -77,25 +77,25 @@ module CMusBt
77
77
  $logger.info("PLAY")
78
78
  end
79
79
  end
80
- private :do_play
80
+ private :on_play
81
81
 
82
- def do_pause
82
+ def on_pause
83
83
  system("cmus-remote --pause")
84
84
  $logger.info("PAUSE")
85
85
  end
86
- private :do_pause
86
+ private :on_pause
87
87
 
88
- def do_next
88
+ def on_next
89
89
  system("cmus-remote --next")
90
90
  $logger.info("NEXT")
91
91
  end
92
- private :do_next
92
+ private :on_next
93
93
 
94
- def do_prev
94
+ def on_prev
95
95
  system("cmus-remote --prev")
96
96
  $logger.info("PREV")
97
97
  end
98
- private :do_prev
98
+ private :on_prev
99
99
 
100
100
  def daemon(info)
101
101
  io = File.open(info[:dev_file], "rb")
@@ -1,3 +1,3 @@
1
1
  module CMusBt
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmus-bt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hirosho Kuwagata
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-23 00:00:00.000000000 Z
11
+ date: 2020-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -78,6 +78,7 @@ files:
78
78
  - Gemfile
79
79
  - LICENSE
80
80
  - README.md
81
+ - Rakefile
81
82
  - bin/cmus-bt
82
83
  - cmus-bt.gemspec
83
84
  - lib/cmus-bt/device.rb