zik 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. data.tar.gz.sig +0 -0
  2. data/ChangeLog +222 -0
  3. data/INSTALL +34 -0
  4. data/Makefile.in +199 -0
  5. data/README +53 -0
  6. data/ZiK.desktop +11 -0
  7. data/ZiK.rb +377 -0
  8. data/configure +269 -0
  9. data/dependencies +142 -0
  10. data/doc/COPYING +340 -0
  11. data/doc/ChangeLog +222 -0
  12. data/doc/html/fr/index.html +128 -0
  13. data/doc/html/index.html +126 -0
  14. data/doc/html/pix/ZiK3.png +0 -0
  15. data/doc/html/pix/capture.png +0 -0
  16. data/doc/html/pix/capture_cd.png +0 -0
  17. data/doc/html/pix/capture_compact.png +0 -0
  18. data/doc/html/pix/capture_radio.png +0 -0
  19. data/doc/html/pix/icon.png +0 -0
  20. data/doc/html/pix/logo.png +0 -0
  21. data/doc/html/styles/main.css +47 -0
  22. data/doc/man/manpage.1 +43 -0
  23. data/gui/assistant.rb +133 -0
  24. data/gui/cdgui.rb +54 -0
  25. data/gui/common.rb +56 -0
  26. data/gui/config.rb +120 -0
  27. data/gui/edit.rb +413 -0
  28. data/gui/error.rb +124 -0
  29. data/gui/gui.rb +1383 -0
  30. data/gui/mod.rb +239 -0
  31. data/gui/preference.rb +496 -0
  32. data/gui/progress.rb +50 -0
  33. data/gui/radiogui.rb +404 -0
  34. data/gui/search.rb +249 -0
  35. data/gui/socket.rb +107 -0
  36. data/mod/brainz.rb +76 -0
  37. data/mod/brainz/dialogs.rb +132 -0
  38. data/mod/brainz/functions.rb +55 -0
  39. data/mod/brainz/ofa.rb +76 -0
  40. data/mod/brainz/song.rb +139 -0
  41. data/mod/brainz/widget.rb +34 -0
  42. data/mod/cover.rb +90 -0
  43. data/mod/cover/application-x-cd-image.svg +666 -0
  44. data/mod/cover/config.rb +79 -0
  45. data/mod/cover/configwidget.rb +35 -0
  46. data/mod/cover/widget.rb +147 -0
  47. data/mod/hotkeys.rb +137 -0
  48. data/mod/hotkeys/config.rb +84 -0
  49. data/mod/hotkeys/configwidget.rb +93 -0
  50. data/mod/interact.rb +131 -0
  51. data/mod/interact/configwidget.rb +107 -0
  52. data/mod/interact/interaction.rb +79 -0
  53. data/mod/notify.rb +128 -0
  54. data/mod/notify/config.rb +96 -0
  55. data/mod/notify/configwidget.rb +76 -0
  56. data/mod/notify/window.rb +56 -0
  57. data/mod/trayicon.rb +83 -0
  58. data/mod/trayicon/config.rb +79 -0
  59. data/mod/trayicon/configwidget.rb +35 -0
  60. data/mod/trayicon/icon.rb +99 -0
  61. data/pix/ZiK.svg +78 -0
  62. data/pix/ZiK3.png +0 -0
  63. data/pix/assistant/capture.png +0 -0
  64. data/pix/gtk-directory.svg +287 -0
  65. data/pix/media-cdrom.svg +292 -0
  66. data/pix/network-wireless.svg +429 -0
  67. data/pix/player_play.svg +286 -0
  68. data/pix/sound.svg +244 -0
  69. data/pix/sound_directory.svg +464 -0
  70. data/player/cdplayer.rb +108 -0
  71. data/player/player.rb +132 -0
  72. data/player/radioplayer.rb +124 -0
  73. data/playlist/cdlist.rb +140 -0
  74. data/playlist/common.rb +343 -0
  75. data/playlist/editlist.rb +50 -0
  76. data/playlist/export.rb +108 -0
  77. data/playlist/playlist.rb +143 -0
  78. data/playlist/radiolist.rb +148 -0
  79. data/playlist/song.rb +122 -0
  80. data/po/ZiK.pot +622 -0
  81. data/po/fr/ZiK.po +658 -0
  82. data/zik +2 -0
  83. metadata +265 -0
  84. metadata.gz.sig +0 -0
@@ -0,0 +1,143 @@
1
+ # encoding: UTF-8
2
+ =begin
3
+ Copyright 2007-2011 Vincent Carmona
4
+ vinc4mai@gmail.com
5
+
6
+ This file is part of ZiK.
7
+
8
+ ZiK is free software; you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation; either version 2 of the License, or
11
+ (at your option) any later version.
12
+
13
+ ZiK is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with ZiK; if not, write to the Free Software
20
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
+ =end
22
+
23
+ class PlayList
24
+ include ListBase
25
+ include ListPlay
26
+
27
+ attr_reader :songs, :current
28
+ attr_writer :sort_by_track
29
+
30
+ def initialize(file, current, shuffle, repeat, format, sort_by_track)
31
+ @songs=[]; @order=[];@current=current
32
+ @shuffle=shuffle; @repeat=repeat; @format=format; @sort_by_track=sort_by_track
33
+ @n=0
34
+ add_zik(file) if file
35
+ @current=0 if @current<0
36
+ @current=0 if @current>=@songs.length
37
+ @order=@order.sort_by{rand}
38
+ if @shuffle
39
+ @current=@order[0] if @order[0]
40
+ else
41
+ @n=@current
42
+ end
43
+ end
44
+
45
+ def playlist?
46
+ true
47
+ end
48
+
49
+ private
50
+
51
+ def add_zik(file)
52
+ begin
53
+ f=File.open(file, 'r')
54
+ data=f.read
55
+ rescue
56
+ ErrorError.new("#{file} cannot be read.", true)
57
+ ensure
58
+ f.close if f
59
+ end
60
+ begin
61
+ dir=Pathname.new(file).dirname
62
+ data.split(/\n{2}/).each{|song|
63
+ tag={}
64
+ array=song.split(/\n/)
65
+ path=Pathname.new(array.shift)
66
+ path.relative? ? p=dir+path : p=path
67
+ array.each{|a|
68
+ l=a.split('=', 2)
69
+ tag[l[0].to_sym]=l[1]
70
+ }
71
+ tag[:duration]=tag[:duration].to_i; tag[:track]=tag[:track].to_i; tag[:bitrate]=tag[:bitrate].to_i
72
+ tag[:samplerate]=tag[:samplerate].to_i; tag[:channels]=tag[:channels].to_i
73
+ add_file(p.to_s, tag)
74
+ }
75
+ rescue
76
+ ErrorError.new("Error while parsing #{file}.", true)
77
+ end
78
+ end
79
+
80
+ public
81
+
82
+ def save_zik(file, relative=false)
83
+ dir=Pathname.new(file).dirname
84
+ f=File.open(file, 'w')
85
+ @songs.each{|song|
86
+ if relative
87
+ f.puts Pathname.new(song.path).relative_path_from(dir)
88
+ else
89
+ f.puts song.path
90
+ end
91
+ f.puts 'name='+song.name
92
+ f.puts 'title='+song.title
93
+ f.puts 'artist='+song.artist
94
+ f.puts 'album='+song.album
95
+ f.puts 'track='+song.track.to_s
96
+ f.puts 'genre='+song.genre
97
+ f.puts 'duration='+song.duration.to_s
98
+ f.puts 'bitrate='+song.bitrate.to_s
99
+ f.puts 'samplerate='+song.samplerate.to_s
100
+ f.puts 'channels='+song.channels.to_s
101
+ f.puts "\n"
102
+ }
103
+ f.close if f
104
+ ErrorInfo.new("#{file} saved.")
105
+ end
106
+
107
+ def rm(num)
108
+ ret=false
109
+ ret=true if num==@current
110
+ @n-=1 if @order.index(num)<@n
111
+ @order.delete(num)
112
+ @order.each_index{|ind| @order[ind]-=1 if @order[ind]>num}
113
+ @songs.delete_at(num)
114
+ @current-=1 if num<@current
115
+ @n=@current unless @shuffle
116
+ ret
117
+ end
118
+
119
+ def change_to(new)
120
+ current=0; order=[]
121
+ if @songs.empty?
122
+ for i in 0...new.songs.length
123
+ order.push(i)
124
+ end
125
+ else
126
+ i=0
127
+ new.songs.each{|song|
128
+ current=i if song.path==(@songs[@current]).path
129
+ order.push(i)
130
+ i+=1
131
+ }
132
+ end
133
+ @order=order.sort_by{rand}
134
+ @songs=new.songs
135
+ @current=current
136
+ if @shuffle
137
+ @n=@order.index(@current)
138
+ else
139
+ @n=@current
140
+ end
141
+ end
142
+
143
+ end
@@ -0,0 +1,148 @@
1
+ # encoding: UTF-8
2
+ =begin
3
+ Copyright 2007-2011 Vincent Carmona
4
+ vinc4mai@gmail.com
5
+
6
+ This file is part of ZiK.
7
+
8
+ ZiK is free software; you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation; either version 2 of the License, or
11
+ (at your option) any later version.
12
+
13
+ ZiK is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with ZiK; if not, write to the Free Software
20
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
+ =end
22
+
23
+ module Radio
24
+ class WebRadio
25
+ attr_accessor :name, :url, :type
26
+ attr_reader :duration
27
+
28
+ def initialize(name, url)
29
+ @name=name
30
+ @url=url
31
+ @duration=-1
32
+ @type=SONG_RADIO
33
+ end
34
+ end
35
+
36
+ class List
37
+ attr_reader :radios
38
+ attr_accessor :current
39
+
40
+ def initialize(file)
41
+ @file=file
42
+ @radios=[]
43
+ @current=0
44
+ read
45
+ end
46
+
47
+ def read
48
+ begin
49
+ f=File.open(@file)
50
+ array=f.readlines
51
+ array.reject!{|a| a =~ /^##/}
52
+ array.reject!{|a| a =~ /^\n/}
53
+ array.each{|a| a.chomp!}
54
+ until array.empty?
55
+ @radios.push(Radio::WebRadio.new(array.shift, array.shift))
56
+ end
57
+ ErrorInfo.new("#{@file} read.")
58
+ rescue
59
+ ErrorWarning.new("#{@file} not found.")
60
+ ensure
61
+ f.close unless f.nil?
62
+ end
63
+ end
64
+
65
+ def write
66
+ begin
67
+ f=File.open(@file,'w')
68
+ f.puts '##Radios'
69
+ @radios.each{|radio|
70
+ f.puts radio.name
71
+ f.puts radio.url
72
+ }
73
+ ErrorInfo.new("List of radios saved.")
74
+ rescue
75
+ ErrorError.new(_('Saving radios.'), true)
76
+ ensure
77
+ f.close unless f.nil?
78
+ end
79
+ end
80
+
81
+ def add(name, url)
82
+ @radios.push(Radio::WebRadio.new(name, url))
83
+ end
84
+
85
+ def rm(i)
86
+ @current==i ? ret=true : ret=false
87
+ @radios.delete_at(i)
88
+ @current-=1 if i<@current
89
+ ret
90
+ end
91
+
92
+ def clear
93
+ @radios.clear
94
+ @current=0
95
+ end
96
+
97
+ def change_to(new)
98
+ current=0
99
+ new.radios.each_with_index{|radio, i| current=i if radio.url==@radios[@current].url}
100
+ @radios=new.radios
101
+ @current=current
102
+ end
103
+
104
+ def import(file)
105
+ begin
106
+ f=File.open(file,'r')
107
+ while line=f.gets
108
+ case line.chomp!
109
+ when /^#EXTINF:/
110
+ name=line.split(',', 2)[1]
111
+ when /^#/
112
+ when /^[:blank:]*$/
113
+ else
114
+ name=_('Uname Radio') if name.nil?
115
+ add(name, line)
116
+ name=nil
117
+ end
118
+ end
119
+ rescue
120
+ ErrorError.new("Cannot import radios list #{file}.", true)
121
+ ensure
122
+ f.close if f
123
+ end
124
+ end
125
+ end
126
+
127
+ class EditList
128
+ #Code looks like Radio::List
129
+ attr_reader :radios
130
+
131
+ def initialize(radios)
132
+ @radios=[]
133
+ @radios.concat(radios)
134
+ end
135
+
136
+ def add(name, url)
137
+ @radios.push(Radio::WebRadio.new(name, url))
138
+ end
139
+
140
+ def rm(i)
141
+ @radios.delete_at(i)
142
+ end
143
+
144
+ def clear
145
+ @radios.clear
146
+ end
147
+ end
148
+ end
data/playlist/song.rb ADDED
@@ -0,0 +1,122 @@
1
+ # encoding: UTF-8
2
+ =begin
3
+ Copyright 2007-2011 Vincent Carmona
4
+ vinc4mai@gmail.com
5
+
6
+ This file is part of ZiK.
7
+
8
+ ZiK is free software; you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation; either version 2 of the License, or
11
+ (at your option) any later version.
12
+
13
+ ZiK is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with ZiK; if not, write to the Free Software
20
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
+ =end
22
+
23
+ SongType=[SONG_FILE=0, SONG_CD=1, SONG_RADIO=2]
24
+
25
+ class BadPath < Exception
26
+ end
27
+
28
+ class Song
29
+ attr_reader :path, :name, :bitrate, :samplerate, :channels, :type
30
+ attr_accessor :title, :artist, :album, :track, :genre, :duration
31
+
32
+ def initialize(file, format='Artist - Title', tag=nil)
33
+ raise BadPath.new unless File.exist?(file)
34
+ @type=SONG_FILE
35
+ @path=file
36
+ if tag
37
+ @name=tag[:name]
38
+ @title=tag[:title]; @artist=tag[:artist]; @album=tag[:album]; @track=tag[:track]; @genre=tag[:genre]; @duration=tag[:duration]
39
+ @bitrate=tag[:bitrate]; @samplerate=tag[:samplerate]; @channels=tag[:channels]
40
+ else
41
+ read_tag(@path); refresh_name(format)
42
+ end
43
+ end
44
+
45
+ def refresh_name(format)
46
+ sep=' - '
47
+ @name=""
48
+ format.split(' - ').each{|f|
49
+ case f
50
+ when 'Title'
51
+ unless @title.empty?
52
+ @name+=sep unless @name.empty?
53
+ @name+=@title
54
+ end
55
+ when 'Artist'
56
+ unless @artist.empty?
57
+ @name+=sep unless @name.empty?
58
+ @name+=@artist
59
+ end
60
+ when 'Album'
61
+ unless @album.empty?
62
+ @name+=sep unless @name.empty?
63
+ @name+=@album
64
+ end
65
+ when 'Track'
66
+ unless @track<=0
67
+ @name+=sep unless @name.empty?
68
+ @name+=("%02d" % @track)
69
+ end
70
+ when 'None'
71
+ @name+=""
72
+ else
73
+ ErrorError.new("Parsing format (Song::refresh_name).")
74
+ @name=""
75
+ break
76
+ end
77
+ }
78
+ if @name.empty?
79
+ ext=File.extname(@path);@name=File.basename(@path,ext)
80
+ end
81
+ end
82
+
83
+ def read_tag(file)
84
+ begin
85
+ tag=TagLib::File.new(file)
86
+ @title=tag.title
87
+ @artist=tag.artist
88
+ @album=tag.album
89
+ @track=tag.track
90
+ @genre=tag.genre
91
+ @duration=tag.length
92
+ @bitrate=tag.bitrate
93
+ @samplerate=tag.samplerate
94
+ @channels=tag.channels
95
+ rescue TagLib::BadFile
96
+ ErrorWarning.new("Cannot read #{file}\'s tag.")
97
+ @title||=''; @artist||=''; @album||=''; @track||=-1; @genre||=''; @duration||=-1
98
+ @bitrate||=-1; @samplerate||=-1; @channels||=-1
99
+ rescue TagLib::BadTag
100
+ ErrorWarning.new("Cannot read #{file}\'s tag.")
101
+ @title||=''; @artist||=''; @album||=''; @track||=-1; @genre||=''; @duration||=-1
102
+ @bitrate||=-1; @samplerate||=-1; @channels||=-1
103
+ rescue TagLib::BadAudioProperties
104
+ ErrorWarning.new("Cannot read #{file}\'s audio properties.")
105
+ @bitrate||=-1; @samplerate||=-1; @channels||=-1
106
+ end
107
+ end
108
+
109
+ def write_tag(file)
110
+ begin
111
+ tag=TagLib::File.new(file)
112
+ tag.title=@title
113
+ tag.artist=@artist
114
+ tag.save
115
+ rescue TagLib::BadFile
116
+ ErrorWarning.new("Cannot write #{file}\'s tag.")
117
+ rescue TagLib::BadTag
118
+ ErrorWarning.new("Cannot write #{file}\'s tag.")
119
+ end
120
+ end
121
+
122
+ end
data/po/ZiK.pot ADDED
@@ -0,0 +1,622 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: PACKAGE VERSION\n"
10
+ "POT-Creation-Date: 2011-03-11 06:26+0100\n"
11
+ "PO-Revision-Date: 2011-03-11 06:26+0100\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "MIME-Version: 1.0\n"
15
+ "Content-Type: text/plain; charset=UTF-8\n"
16
+ "Content-Transfer-Encoding: 8bit\n"
17
+ "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
18
+
19
+ #: gui/assistant.rb:31
20
+ msgid "Welcome to ZiK.\nThis assistant will briefly helps you to use and configure ZiK."
21
+ msgstr ""
22
+
23
+ #: gui/assistant.rb:36
24
+ msgid "Introduction (1/6)"
25
+ msgstr ""
26
+
27
+ #: gui/assistant.rb:41
28
+ msgid "ZiK uses the path of your audio files instead of a music library.\nThe browser (1) shows your audio files.\nYour playlist is shown on (3).\nYou can use buttons (2) to add/remove files to/from your playlist.\nThe button (4) is used to hide/show the different part of the window. It is also used to display the radio and the CDs player."
29
+ msgstr ""
30
+
31
+ #: gui/assistant.rb:58
32
+ msgid "Main window (2/6)"
33
+ msgstr ""
34
+
35
+ #: gui/assistant.rb:65
36
+ msgid "The browser displays only the selected directories. \nPlease select at least one Diretory."
37
+ msgstr ""
38
+
39
+ #: gui/assistant.rb:70 gui/preference.rb:229
40
+ msgid "Only files with the given extension are displayed in the browser view. Extensions must be separate by a comma (,)."
41
+ msgstr ""
42
+
43
+ #: gui/assistant.rb:74
44
+ msgid "Later you can change your setting in the Browser/Preferences menu."
45
+ msgstr ""
46
+
47
+ #: gui/assistant.rb:83
48
+ msgid "Configuration (3/6)"
49
+ msgstr ""
50
+
51
+ #: gui/assistant.rb:88
52
+ msgid "ZiK uses GStreamer to play audio files. GStreamer supports a lot of formats. The number of supported formats depends on which gstreamer plug-ins are installed If you cannot play a file you should check which plug-ins are not installed. More informations on http://zik.rubyforge.org/wiki/wiki.pl?Supported_Formats"
53
+ msgstr ""
54
+
55
+ #: gui/assistant.rb:96
56
+ msgid "GStreamer (4/5)"
57
+ msgstr ""
58
+
59
+ #: gui/assistant.rb:101
60
+ msgid "ZiK configuration is done. You can find more options on the preferences window. You can find help or rerun this assistant on the help menu."
61
+ msgstr ""
62
+
63
+ #: gui/assistant.rb:107
64
+ msgid "Conclusion (5/5)"
65
+ msgstr ""
66
+
67
+ #: gui/cdgui.rb:36 gui/preference.rb:407
68
+ msgid "Cd"
69
+ msgstr ""
70
+
71
+ #: gui/config.rb:84
72
+ msgid "Saving configuration."
73
+ msgstr ""
74
+
75
+ #: gui/edit.rb:33 gui/preference.rb:140 gui/preference.rb:253
76
+ #: mod/brainz/dialogs.rb:39
77
+ msgid "Title"
78
+ msgstr ""
79
+
80
+ #: gui/edit.rb:38 gui/preference.rb:141 gui/preference.rb:255
81
+ #: mod/brainz/dialogs.rb:43
82
+ msgid "Artist"
83
+ msgstr ""
84
+
85
+ #: gui/edit.rb:43 gui/preference.rb:142 gui/preference.rb:257
86
+ #: mod/brainz/dialogs.rb:47
87
+ msgid "Album"
88
+ msgstr ""
89
+
90
+ #: gui/edit.rb:48 gui/preference.rb:259
91
+ msgid "Genre"
92
+ msgstr ""
93
+
94
+ #: gui/edit.rb:53 gui/preference.rb:143 mod/brainz/dialogs.rb:51
95
+ msgid "Track"
96
+ msgstr ""
97
+
98
+ #: gui/edit.rb:56 gui/preference.rb:251
99
+ msgid "Path"
100
+ msgstr ""
101
+
102
+ #: gui/edit.rb:60 gui/edit.rb:71 gui/edit.rb:75 gui/edit.rb:79
103
+ msgid "Unknown"
104
+ msgstr ""
105
+
106
+ #: gui/edit.rb:68
107
+ msgid "Duration"
108
+ msgstr ""
109
+
110
+ #: gui/edit.rb:72
111
+ msgid "Bitrate"
112
+ msgstr ""
113
+
114
+ #: gui/edit.rb:76
115
+ msgid "Samplerate"
116
+ msgstr ""
117
+
118
+ #: gui/edit.rb:80
119
+ msgid "Channels"
120
+ msgstr ""
121
+
122
+ #: gui/edit.rb:93
123
+ msgid "<b>Song's tag will be overwrite by clicking Ok.</b>"
124
+ msgstr ""
125
+
126
+ #: gui/edit.rb:132 gui/edit.rb:195 gui/gui.rb:379
127
+ msgid "Edit tag"
128
+ msgstr ""
129
+
130
+ #: gui/edit.rb:165
131
+ msgid "Song name"
132
+ msgstr ""
133
+
134
+ #: gui/edit.rb:185 gui/radiogui.rb:177
135
+ msgid "Move to the top"
136
+ msgstr ""
137
+
138
+ #: gui/edit.rb:190 gui/radiogui.rb:182
139
+ msgid "Move up"
140
+ msgstr ""
141
+
142
+ #: gui/edit.rb:206 gui/radiogui.rb:215
143
+ msgid "Move down"
144
+ msgstr ""
145
+
146
+ #: gui/edit.rb:211 gui/radiogui.rb:220
147
+ msgid "Move to the bottom"
148
+ msgstr ""
149
+
150
+ #: gui/edit.rb:217
151
+ msgid "Add a file"
152
+ msgstr ""
153
+
154
+ #: gui/edit.rb:222 gui/gui.rb:1135
155
+ msgid "Save playlist"
156
+ msgstr ""
157
+
158
+ #: gui/edit.rb:309
159
+ msgid "Add a File"
160
+ msgstr ""
161
+
162
+ #: gui/edit.rb:325
163
+ msgid "Save list"
164
+ msgstr ""
165
+
166
+ #: gui/gui.rb:66 gui/preference.rb:346
167
+ msgid "Shuffle"
168
+ msgstr ""
169
+
170
+ #: gui/gui.rb:69 gui/preference.rb:350
171
+ msgid "Repeat"
172
+ msgstr ""
173
+
174
+ #: gui/gui.rb:122 gui/gui.rb:1156
175
+ msgid "Export songs"
176
+ msgstr ""
177
+
178
+ #: gui/gui.rb:123
179
+ msgid "Copy songs to a directory and write the selected playlist file."
180
+ msgstr ""
181
+
182
+ #: gui/gui.rb:156
183
+ msgid "_Import"
184
+ msgstr ""
185
+
186
+ #: gui/gui.rb:166
187
+ msgid "Assistant"
188
+ msgstr ""
189
+
190
+ #: gui/gui.rb:171
191
+ msgid "Report a bug"
192
+ msgstr ""
193
+
194
+ #: gui/gui.rb:184
195
+ msgid "_Music"
196
+ msgstr ""
197
+
198
+ #: gui/gui.rb:186
199
+ msgid "_Browser"
200
+ msgstr ""
201
+
202
+ #: gui/gui.rb:188
203
+ msgid "Play_list"
204
+ msgstr ""
205
+
206
+ #: gui/gui.rb:191
207
+ msgid "_Radio"
208
+ msgstr ""
209
+
210
+ #: gui/gui.rb:194
211
+ msgid "_Help"
212
+ msgstr ""
213
+
214
+ #: gui/gui.rb:211 gui/preference.rb:404
215
+ msgid "Browser"
216
+ msgstr ""
217
+
218
+ #: gui/gui.rb:278
219
+ msgid "Add selected files to playlist"
220
+ msgstr ""
221
+
222
+ #: gui/gui.rb:289
223
+ msgid "Remove selected songs from playlist"
224
+ msgstr ""
225
+
226
+ #: gui/gui.rb:294
227
+ msgid "Clear playlist"
228
+ msgstr ""
229
+
230
+ #: gui/gui.rb:299
231
+ msgid "Edit playlist"
232
+ msgstr ""
233
+
234
+ #: gui/gui.rb:304
235
+ msgid "Find in playlist"
236
+ msgstr ""
237
+
238
+ #: gui/gui.rb:313 gui/preference.rb:405
239
+ msgid "Playlist"
240
+ msgstr ""
241
+
242
+ #: gui/gui.rb:440 gui/radiogui.rb:110 gui/radiogui.rb:226 gui/radiogui.rb:379
243
+ msgid "Add a radio"
244
+ msgstr ""
245
+
246
+ #: gui/gui.rb:444 gui/radiogui.rb:187
247
+ msgid "Remove selection"
248
+ msgstr ""
249
+
250
+ #: gui/gui.rb:453 gui/radiogui.rb:231
251
+ msgid "Clear radios list"
252
+ msgstr ""
253
+
254
+ #: gui/gui.rb:461 gui/radiogui.rb:81 gui/radiogui.rb:192 gui/radiogui.rb:198
255
+ msgid "Edit a radio"
256
+ msgstr ""
257
+
258
+ #: gui/gui.rb:915
259
+ msgid "Loading new plugins. Please wait..."
260
+ msgstr ""
261
+
262
+ #: gui/gui.rb:1118
263
+ msgid "Import a file"
264
+ msgstr ""
265
+
266
+ #: gui/gui.rb:1162
267
+ msgid "Export all songs in this directory."
268
+ msgstr ""
269
+
270
+ #: gui/gui.rb:1163
271
+ msgid "Recreate songs tree under the destination directory."
272
+ msgstr ""
273
+
274
+ #: gui/gui.rb:1175
275
+ msgid "Copying audio files..."
276
+ msgstr ""
277
+
278
+ #: gui/gui.rb:1197
279
+ msgid "An error occured while exporting songs.\n"
280
+ msgid_plural "Some errors occured while exporting songs.\n"
281
+ msgstr[0] ""
282
+ msgstr[1] ""
283
+
284
+ #: gui/gui.rb:1315
285
+ msgid "Do not forget to validate your changes after editing the playlist."
286
+ msgstr ""
287
+
288
+ #: gui/gui.rb:1376
289
+ msgid "Audio player"
290
+ msgstr ""
291
+
292
+ #: gui/mod.rb:61
293
+ msgid "Some module cannot be loaded."
294
+ msgstr ""
295
+
296
+ #: gui/mod.rb:125 gui/mod.rb:156 gui/mod.rb:175 gui/preference.rb:408
297
+ msgid "Modules"
298
+ msgstr ""
299
+
300
+ #: gui/preference.rb:33
301
+ msgid "Add a directory."
302
+ msgstr ""
303
+
304
+ #: gui/preference.rb:35
305
+ msgid "Directories"
306
+ msgstr ""
307
+
308
+ #: gui/preference.rb:50 gui/preference.rb:111
309
+ msgid "Delete this directory."
310
+ msgstr ""
311
+
312
+ #: gui/preference.rb:58
313
+ msgid "Add a directory"
314
+ msgstr ""
315
+
316
+ #: gui/preference.rb:85 gui/preference.rb:299 gui/preference.rb:357
317
+ msgid "Default"
318
+ msgstr ""
319
+
320
+ #: gui/preference.rb:86 gui/preference.rb:300 gui/preference.rb:358
321
+ msgid "Reset to default."
322
+ msgstr ""
323
+
324
+ #: gui/preference.rb:94
325
+ msgid "Add an extension."
326
+ msgstr ""
327
+
328
+ #: gui/preference.rb:96
329
+ msgid "Extensions"
330
+ msgstr ""
331
+
332
+ #: gui/preference.rb:139
333
+ msgid "None"
334
+ msgstr ""
335
+
336
+ #: gui/preference.rb:224
337
+ msgid "List of directories displayed in the browser view."
338
+ msgstr ""
339
+
340
+ #: gui/preference.rb:233
341
+ msgid "Refresh browser view on start"
342
+ msgstr ""
343
+
344
+ #: gui/preference.rb:235
345
+ msgid "Uncheck to use previous view (faster)."
346
+ msgstr ""
347
+
348
+ #: gui/preference.rb:242
349
+ msgid "Directories before files"
350
+ msgstr ""
351
+
352
+ #: gui/preference.rb:244
353
+ msgid "Case sensitive"
354
+ msgstr ""
355
+
356
+ #: gui/preference.rb:246 gui/preference.rb:325
357
+ msgid "Sort options"
358
+ msgstr ""
359
+
360
+ #: gui/preference.rb:261
361
+ msgid "Check entries used for search. Use only path for speed."
362
+ msgstr ""
363
+
364
+ #: gui/preference.rb:273 gui/search.rb:186
365
+ msgid "Search"
366
+ msgstr ""
367
+
368
+ #: gui/preference.rb:284
369
+ msgid "Single"
370
+ msgstr ""
371
+
372
+ #: gui/preference.rb:285
373
+ msgid "Multi"
374
+ msgstr ""
375
+
376
+ #: gui/preference.rb:288
377
+ msgid "Session"
378
+ msgstr ""
379
+
380
+ #: gui/preference.rb:293
381
+ msgid "Format used to display songs' name. Set all to None if you want to use file name."
382
+ msgstr ""
383
+
384
+ #: gui/preference.rb:295
385
+ msgid "Format"
386
+ msgstr ""
387
+
388
+ #: gui/preference.rb:305 mod/notify/configwidget.rb:44 mod/notify/configwidget.rb:52
389
+ msgid "Select a color."
390
+ msgstr ""
391
+
392
+ #: gui/preference.rb:307
393
+ msgid "Color used to highlight the current song."
394
+ msgstr ""
395
+
396
+ #: gui/preference.rb:309
397
+ msgid "Color"
398
+ msgstr ""
399
+
400
+ #: gui/preference.rb:313 gui/preference.rb:317
401
+ msgid "Compact view"
402
+ msgstr ""
403
+
404
+ #: gui/preference.rb:315
405
+ msgid "Show more tracks in playlist."
406
+ msgstr ""
407
+
408
+ #: gui/preference.rb:321
409
+ msgid "Sort by track"
410
+ msgstr ""
411
+
412
+ #: gui/preference.rb:323
413
+ msgid "Try to sort files by track numbers when adding a directory."
414
+ msgstr ""
415
+
416
+ #: gui/preference.rb:329
417
+ msgid "Relative paths"
418
+ msgstr ""
419
+
420
+ #: gui/preference.rb:331
421
+ msgid "Use relative paths when saving playlist."
422
+ msgstr ""
423
+
424
+ #: gui/preference.rb:333
425
+ msgid "Relative path"
426
+ msgstr ""
427
+
428
+ #: gui/preference.rb:342
429
+ msgid "Play on start"
430
+ msgstr ""
431
+
432
+ #: gui/preference.rb:362
433
+ msgid "Device"
434
+ msgstr ""
435
+
436
+ #: gui/preference.rb:366
437
+ msgid "Search for the songs title on the web."
438
+ msgstr ""
439
+
440
+ #: gui/preference.rb:387
441
+ msgid "Configuration"
442
+ msgstr ""
443
+
444
+ #: gui/preference.rb:406
445
+ msgid "Player"
446
+ msgstr ""
447
+
448
+ #: gui/preference.rb:482
449
+ msgid "Preferences"
450
+ msgstr ""
451
+
452
+ #: gui/radiogui.rb:27
453
+ msgid "Name"
454
+ msgstr ""
455
+
456
+ #: gui/radiogui.rb:30
457
+ msgid "Url"
458
+ msgstr ""
459
+
460
+ #: gui/radiogui.rb:67 gui/radiogui.rb:161
461
+ msgid "Radio"
462
+ msgstr ""
463
+
464
+ #: gui/radiogui.rb:134
465
+ msgid "Import a radios list"
466
+ msgstr ""
467
+
468
+ #: gui/radiogui.rb:274
469
+ msgid "Edit radios list"
470
+ msgstr ""
471
+
472
+ #: gui/search.rb:50
473
+ msgid "Searching (ListSearchWidget)."
474
+ msgstr ""
475
+
476
+ #: gui/search.rb:149
477
+ msgid "Searching (BrowseSearchWindow)"
478
+ msgstr ""
479
+
480
+ #: gui/search.rb:157
481
+ msgid "Results"
482
+ msgstr ""
483
+
484
+ #: playlist/radiolist.rb:75
485
+ msgid "Saving radios."
486
+ msgstr ""
487
+
488
+ #: playlist/radiolist.rb:114
489
+ msgid "Uname Radio"
490
+ msgstr ""
491
+
492
+ #: mod/brainz.rb:25
493
+ msgid "Retrieve track infos from the web."
494
+ msgstr ""
495
+
496
+ #: mod/brainz.rb:58
497
+ msgid "Cannot find ofa element. Please install ofa Gstreamer plugins."
498
+ msgstr ""
499
+
500
+ #: mod/cover.rb:25
501
+ msgid "Display album covers."
502
+ msgstr ""
503
+
504
+ #: mod/hotkeys.rb:31
505
+ msgid "Set global hotkeys."
506
+ msgstr ""
507
+
508
+ #: mod/hotkeys.rb:67
509
+ msgid "Cannot find rghk. Please install it."
510
+ msgstr ""
511
+
512
+ #: mod/hotkeys.rb:89
513
+ msgid "Module not loaded. Cannot display configuration."
514
+ msgstr ""
515
+
516
+ #: mod/notify.rb:25
517
+ msgid "Display a notification when playing a new song."
518
+ msgstr ""
519
+
520
+ #: mod/notify.rb:49
521
+ msgid "Cannot use system notification. Please install ruby-libnotify."
522
+ msgstr ""
523
+
524
+ #: mod/notify.rb:64 mod/notify.rb:66 mod/notify/window.rb:34
525
+ msgid "Playing"
526
+ msgstr ""
527
+
528
+ #: mod/trayicon.rb:25
529
+ msgid "Display an icon in the system tray."
530
+ msgstr ""
531
+
532
+ #: mod/brainz/dialogs.rb:111
533
+ msgid "Id (Original tags)"
534
+ msgstr ""
535
+
536
+ #: mod/brainz/functions.rb:46
537
+ msgid "Cannot retrieve song id (parse error)."
538
+ msgstr ""
539
+
540
+ #: mod/brainz/functions.rb:48
541
+ msgid "Cannot retrieve song id."
542
+ msgstr ""
543
+
544
+ #: mod/brainz/functions.rb:51
545
+ msgid "Only files are supported."
546
+ msgstr ""
547
+
548
+ #: mod/brainz/song.rb:58
549
+ msgid "Http error"
550
+ msgstr ""
551
+
552
+ #: mod/brainz/song.rb:91
553
+ msgid "musicdns error.\n"
554
+ msgstr ""
555
+
556
+ #: mod/hotkeys/configwidget.rb:29
557
+ msgid "Previous: "
558
+ msgstr ""
559
+
560
+ #: mod/hotkeys/configwidget.rb:39
561
+ msgid "Stop: "
562
+ msgstr ""
563
+
564
+ #: mod/hotkeys/configwidget.rb:49
565
+ msgid "Play/pause: "
566
+ msgstr ""
567
+
568
+ #: mod/hotkeys/configwidget.rb:59
569
+ msgid "Next: "
570
+ msgstr ""
571
+
572
+ #: mod/notify/configwidget.rb:30
573
+ msgid "Display time"
574
+ msgstr ""
575
+
576
+ #: mod/notify/configwidget.rb:33
577
+ msgid "Use native notifications"
578
+ msgstr ""
579
+
580
+ #: mod/notify/configwidget.rb:39
581
+ msgid "Use system notifications"
582
+ msgstr ""
583
+
584
+ #: mod/notify/configwidget.rb:46
585
+ msgid "Background color"
586
+ msgstr ""
587
+
588
+ #: mod/notify/configwidget.rb:54
589
+ msgid "Foreground color"
590
+ msgstr ""
591
+
592
+ #: mod/trayicon/configwidget.rb:28
593
+ msgid "Check to add interactions with third button mouse.\ndown : next song.\nup : previous song.\nCtrl+down : decrease volume.\nCtrl+up : increase volume."
594
+ msgstr ""
595
+
596
+ #: mod/trayicon/configwidget.rb:31
597
+ msgid "Scroll actions"
598
+ msgstr ""
599
+
600
+ #: mod/trayicon/icon.rb:40
601
+ msgid "Main window"
602
+ msgstr ""
603
+
604
+ #: mod/cover/configwidget.rb:28
605
+ msgid "Check to hide cover area when no cover is found."
606
+ msgstr ""
607
+
608
+ #: mod/cover/configwidget.rb:31
609
+ msgid "Hide"
610
+ msgstr ""
611
+
612
+ #: mod/cover/widget.rb:40 mod/cover/widget.rb:56 mod/cover/widget.rb:71
613
+ msgid "Title: "
614
+ msgstr ""
615
+
616
+ #: mod/cover/widget.rb:41 mod/cover/widget.rb:56 mod/cover/widget.rb:72
617
+ msgid "Artist: "
618
+ msgstr ""
619
+
620
+ #: mod/cover/widget.rb:42 mod/cover/widget.rb:56 mod/cover/widget.rb:73
621
+ msgid "Album: "
622
+ msgstr ""