gtk2mp3 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +0 -1
- data/bin/gtk2mp3 +9 -15
- data/data/VERSION +1 -1
- data/lib/gtk2mp3/config.rb +2 -0
- data/lib/gtk2mp3/gui.rb +16 -16
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3515c77889dc15cf89235fd164443b80b52f55c1052a63bddffdc3134d1ba930
|
4
|
+
data.tar.gz: fdc71a22c0db5e6086d3850f42f77d21103981d8ee24ed56f22413280e245f1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47fc42de3ac52bd3435a5ec08ba9bac4b9acef21e81faf5bbe94c30002e076b4f2ca6e156f610ece4c3037bd7e5ce75c3c60b4bc411b29fbfeb8af23cc8e9a69
|
7
|
+
data.tar.gz: c0a5989939c273894e105aa7600574991e2f812b601c52b61aebaea651d59b078f7ff8c3593dd9029d611ce6357a79c8e9b9158c2ff57ee72f41e14173a25219
|
data/README.md
CHANGED
data/bin/gtk2mp3
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
require 'help_parser'
|
3
3
|
|
4
4
|
module Gtk2Mp3
|
5
|
-
VERSION = '1.0
|
5
|
+
VERSION = '1.1.0'
|
6
6
|
end
|
7
7
|
OPTIONS = HelpParser[Gtk2Mp3::VERSION,<<HELP]
|
8
8
|
Usage:
|
@@ -10,36 +10,30 @@ Usage:
|
|
10
10
|
Options:
|
11
11
|
-h --help
|
12
12
|
-v --version
|
13
|
-
-f --force \tSkips mpd prechecks
|
14
13
|
--noinit \tDon't reset the playlist
|
15
14
|
# Notes #
|
16
15
|
# Requires MPD/MPC.
|
17
16
|
# See https://www.musicpd.org/clients/mpc/.
|
18
17
|
HELP
|
19
18
|
|
20
|
-
unless OPTIONS.
|
21
|
-
unless ['/etc/mpd.conf','~/.mpdconf'].all?{|_|File.exist? File.expand_path _}
|
22
|
-
$stderr.puts 'Missing /etc/mpd.conf and/or ~/.mpdconf'
|
23
|
-
exit 72 # EX_OSFILE
|
24
|
-
end
|
19
|
+
unless OPTIONS.noinit?
|
25
20
|
unless system 'ps -C mpd'
|
26
21
|
unless system 'mpd'
|
27
22
|
$stderr.puts 'Could not start the mpd daemon.'
|
28
23
|
exit 69 # EX_UNAVAILABLE
|
29
24
|
end
|
30
25
|
end
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
26
|
+
unless system 'mpc --wait update' and
|
27
|
+
system 'mpc clear' and
|
28
|
+
system 'mpc ls | mpc add' and
|
29
|
+
system 'mpc consume off' and
|
30
|
+
system 'mpc repeat off' and
|
31
|
+
system 'mpc random on' and
|
32
|
+
system 'mpc single on'
|
35
33
|
$stderr.puts 'Could not initialize mpd\'s playlist'
|
36
34
|
exit 76 # EX_PROTOCOL
|
37
35
|
end
|
38
|
-
system 'mpc random on'
|
39
|
-
system 'mpc consume off'
|
40
|
-
system 'mpc repeat on'
|
41
36
|
end
|
42
37
|
|
43
38
|
require 'gtk2mp3'
|
44
39
|
Gtk3App.main(Gtk2Mp3)
|
45
|
-
system 'mpc stop'
|
data/data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0
|
1
|
+
1.1.0
|
data/lib/gtk2mp3/config.rb
CHANGED
@@ -4,6 +4,8 @@ module Gtk2Mp3
|
|
4
4
|
CONFIG = {
|
5
5
|
PLAYED: 30,
|
6
6
|
DBM: "#{XDG['CACHE']}/gtk3app/gtk2mp3/dbm.json",
|
7
|
+
BUTTONS: [:next_button!, :stop_button!],
|
8
|
+
ITEMS: [:next_item!, :stop_item!],
|
7
9
|
thing: {
|
8
10
|
HelpFile: 'https://github.com/carlosjhr64/gtk2mp3',
|
9
11
|
Logo: "#{XDG['DATA']}/gtk3app/gtk2mp3/logo.png",
|
data/lib/gtk2mp3/gui.rb
CHANGED
@@ -20,7 +20,7 @@ module Gtk2Mp3
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def next_song
|
23
|
-
@label.text = @playing = ID[`mpc searchplay filename #{random_song.shellescape}`]
|
23
|
+
@label.text = @playing = ID[`mpc -f '%file%' searchplay filename #{random_song.shellescape}`]
|
24
24
|
end
|
25
25
|
|
26
26
|
def down(id)
|
@@ -43,12 +43,7 @@ module Gtk2Mp3
|
|
43
43
|
up(@skipped) if Time.now-@time<CONFIG[:PLAYED]
|
44
44
|
elsif @played
|
45
45
|
down(@played)
|
46
|
-
|
47
|
-
if play?(@playing)
|
48
|
-
@label.text = @playing
|
49
|
-
else
|
50
|
-
next_song
|
51
|
-
end
|
46
|
+
next_song
|
52
47
|
end
|
53
48
|
@time,@played,@skipped = Time.now,@playing,nil
|
54
49
|
end
|
@@ -75,23 +70,25 @@ module Gtk2Mp3
|
|
75
70
|
end
|
76
71
|
|
77
72
|
def initialize(program)
|
78
|
-
window,minime,menu = program.window,program.mini_menu,program.app_menu
|
79
|
-
@db = JSON.parse File.read(CONFIG[:DBM])
|
80
|
-
window.signal_connect('delete-event'){File.write(CONFIG[:DBM], JSON.pretty_generate(@db))}
|
81
|
-
|
82
73
|
# Build
|
74
|
+
window,minime,menu = program.window,program.mini_menu,program.app_menu
|
83
75
|
vbox = Such::Box.new(window, :VBOX)
|
84
76
|
hbox = Such::Box.new(vbox, :HBOX)
|
85
|
-
Such::Button.new(hbox, :next_button!){next_song!}
|
86
|
-
Such::Button.new(hbox, :stop_button!){stop_song!}
|
77
|
+
Such::Button.new(hbox, :next_button!){next_song!} if CONFIG[:BUTTONS].include?(:next_button!)
|
78
|
+
Such::Button.new(hbox, :stop_button!){stop_song!} if CONFIG[:BUTTONS].include?(:stop_button!)
|
87
79
|
@label = Such::Label.new(vbox)
|
88
80
|
menu.each{|_|_.destroy if _.key==:fs! or _.key==:help!}
|
89
81
|
minime.each{|_|_.destroy}
|
90
|
-
minime.append_menu_item(:stop_item!){stop_song!}
|
91
|
-
minime.append_menu_item(:next_item!){next_song!}
|
82
|
+
minime.append_menu_item(:stop_item!){stop_song!} if CONFIG[:ITEMS].include?(:stop_item!)
|
83
|
+
minime.append_menu_item(:next_item!){next_song!} if CONFIG[:ITEMS].include?(:next_item!)
|
92
84
|
|
93
85
|
# Inits
|
86
|
+
@db = JSON.parse File.read(CONFIG[:DBM])
|
94
87
|
@list = `mpc listall`.lines.map{|_|ID[_]}.uniq
|
88
|
+
# A fuzzy delete of possibly gone keys...
|
89
|
+
@db.keys.each{|id| down(id) unless @list.include?(id)}
|
90
|
+
|
91
|
+
# Run
|
95
92
|
@skipped=@playing=nil
|
96
93
|
next_song!
|
97
94
|
@time,@played = Time.now,@playing
|
@@ -99,7 +96,10 @@ module Gtk2Mp3
|
|
99
96
|
sleep(1) # mpd needs a little time to settle
|
100
97
|
mpc_idle_player
|
101
98
|
end
|
102
|
-
|
99
|
+
window.signal_connect('delete-event') do
|
100
|
+
stop_song!
|
101
|
+
File.write(CONFIG[:DBM], JSON.pretty_generate(@db))
|
102
|
+
end
|
103
103
|
window.show_all
|
104
104
|
end
|
105
105
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gtk2mp3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- carlosjhr64
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: help_parser
|
@@ -87,7 +87,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0'
|
89
89
|
requirements:
|
90
|
-
- 'mpc: off'
|
91
90
|
- 'ruby: ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]'
|
92
91
|
- 'mpd: Music Player Daemon 0.20.10'
|
93
92
|
rubyforge_project:
|