-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
315 lines (225 loc) · 10.2 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
Orfeo is a fork of Orpheus, an ncursed-based mp3 player, by Konstantin
Klyagin <[email protected]>. A nice and useful program that I like much.
Orfeo is the translation of the name Orpheus into spanish. I have chosen
this name to indicate that it is a fork of the original program, with a few
differences.
Original Orpheus webpage: http://thekonst.net/orpheus/
The last version of Orpheus was released on 13 May 2006. The objetive of
this fork is to update it so it can compile and work on modern GNU/Linux
systems. I have started from the Debian sources and added the files
requiered to build the Debian package, since I am a Debian user, and I want
to be able to build de Debian package from the sources.
The main differencies with the original orpheus program are:
* Flac support using ogg123 (It was really easy to add it since almost
the same code for ogg files worked!)
* We use cmake for building instead of autotools (wich are really insanely
complex!). This makes development easier.
============== Original README bellow =================================
Orpheus documentation
by konst, 2003-2004
Contents
--------
1. Introduction
1.1. Creation history
1.2. Features overview
1.3. Requirements
1.4. Command line parameters
1.4.1. Remote interface
2. User interface
2.1. The ESC key
2.2. The main screen
2.3. Dialogs
2.4. Some UI tips
3. Configuration
3.1. Players issues
4. Lynx
10.1. The program homepage
10.2. Orpheus mailing list
10.3. TheKonst.Net
10.4. Other programs I write
1. Introduction
---------------
1.1. Creation history
---------------------
I like music. I have got quite a collection of CDs, both in audio and
mp3 formats. I used to be happy listening mp3 tracks with mpg321 running
it directly from the command line, and for CD playing I used nice
buttons on the front panel of my CD-ROM. With my Teac sub-woofer which I
like very much it sounded just second to none! It's quite a pleasure to
put a CD of "Metallica", "Cradle of filth" or "Aria", make it loud, and
start coding some crazy things (see the links section).
But one day I noticed something wasn't ok. It bothered me that I
couldn't combine CD and mp3 tracks in play lists, and it wasn't really
useful to list all the mp3 file names in the command line, even with
auto-completion. Launching X-Win just to play music was neither good
with me. Well, I use X only to surf the Net. Finally, I came up with
an idea to write orpheus.
1.2. Features overview
----------------------
The program is about playing music. Currently supported formats are
MP3 and CD tracks. It can retrieve CDDB information for compact-discs,
save and load playlists. A nice thing about the latter is that it's
possible to include CD tracks into playlists along with mp3 files. Also,
Orpheus has a nice textmode interface with configurable color schemes
that can suit the needs of console freaks like me perfectly. Recently a
nice interface to modify MP3 ID tags was added.
1.3. Requirements
-----------------
In order to build the software you'll need the ncurses library,
version 4.2 at least. Ncurses is a CRT screen handling and optimization
package, and can be found at http://dickey.his.com/ncurses/ncurses.html
You will also need to ghttp proxy client implementation library, which
is a part of the GNOME project. Though you'll need it only if you want
support for CDDB. Resides here
http://ftp.gnome.org/pub/GNOME/stable/sources/libghttp/
Orpheus uses the mpg321 program to play mp3s. It acts like a front-end
to it. So if you want to play files of this format, you must have mpg321
installed. It can be found at http://mpg321.sf.net/ A small note on this:
mpg123 can also be used, but be attentive for it has several problems. One
of them is that not all versions understand the -R command line
parameters. Anyway, using of mpg321 is highly recommended.
In order to play your favourite oggs, you'll need the ogg123
application. But if you want to be able to read and write vorbis files
tags please get the libvorbis and libvorbisfile libraries installed on
your box.
And to play CDs, it's useful to have a CD-ROM drive ;)
1.4. Command line parameters
----------------------------
There is a few command line parameters that can be used to control orpheus'
behaviour.
--ascii, -a
This one tells orpheus to use ASCII characters like '-' and '+'
to draw windows and UI controls.
--x-titles, -xt
This parameter is useful in X-Win environment. Orpheus will show
track information in xterm title bar.
--help
Displays command line usage info.
--version, -v
Version info.
--remote, -r <cmd>
Remote command execution. See the following chapter for details.
1.4.1. Remote interface
-----------------------
With orpheus, you can control an already running instance of the program
using its command-line interface. Assuming you have orpheus running and
playing something somewhere in background or in another console, you can it
to go to the next track. Everything you need to do is to run the folloing
command:
$ orpheus -r next
You'll hear the next song playing soon. Now, there is an overview on what
can also be done using the remote command-line interface. Orpheus understands
the following commands:
next
Goes to the next track.
prev
Plays previous track.
add <files..>
Adds specified files to the current play list. Please note the
command itself and file names must be the same parameters, e.g.
be taken into quote characters like this:
$ orpheus -r "add /home/konst/mp3/song1.mpg"
Several files can be specified using this command as well:
$ orpheus -r "add /home/konst/mp3/song1.mpg /home/konst/mp3/song2.mpg"
load <playlist>
Loads the speficied play list.
play <n>
Goes to the track number <n> in the current playlist.
2. User interface
-----------------
The text UI orpheus has, as well as UI of other programs for console
I have written, is very simple. There are menus, windows, menus and
input lines. In the bottom line of the screen there is a status bar.
2.1. The ESC key
----------------
This key is used for termination of input, if you wanna cancel the
operation you wanted to perform. Say, if the "load playlist" operation
is chosen, an input line appears. To accept your input you should Enter,
and to cancel the ESC key is used. The only hint is that you have to press
the ESC key twice. It's a common practice for console based UNIX
programs (Midnight commander is a good example), because checking for only
one ESC would spoil arrow key processing. The point is that they have
correspond sequences that start with an ASCII#27 character which is
actually ESC.
2.2. The main screen
--------------------
The main screen of orpheus consists of three parts. First is the track
list which is situated to the left. Next is the help window which is
used to show shortcuts. It's situated to the right and contains names of
actions and keys that are used to activate them. And the smallest one in the
top is the status window in which you can see current track details when
playing something or the word "Slient".
2.3. Dialogs
------------
Every dialog in orpheus has a tree-like view. When I was about to
write classes for form-based input, I remembered that there was a
"treeview" class written by me before. So, I decided to use it for
dialogs and was right. There was no need to re-design the whole form in
case I need to add some controls, or so. I just add it as a node or a
leaf it scrolls, and nothing gets spoiled. Everything really nice is
always simple :)
2.4. Some UI tips
-----------------
There at some quite standard key combinations supported by orpheus I
wanna tell you about. Here they go.
Ctrl-L
Redraws the screen in any place of program execution. If output of
some kind of background programs or system messages spoil your screen
just press it so orpheus display is refreshed.
Ctrl-Y
In a message writing mode removes entire current line.
Ctrl-K
Single line edit mode.
Kills entire content.
Ctrl-U
Single line edit mode.
Kills a part of line to the left from cursor.
Alt-H
Single line edit mode.
Invokes history of recently entered lines.
3. Configuration
----------------
This is simple. All the player parameters except for color scheme are
configurable from the corresponding dialog which gets invoked as soon as
you press "c".
If you want to change color scheme, you have to edit manually
~/.orpheus/colors, a file automatically generated by orpheus.
3.1. Players issues
-------------------
There can be situations when orpheus cannot play tracks of mp3 or ogg
format saying it cannot run the player application. In this case, there is
a need for an additional check whether some extra parameters are required.
Just try to figure out how to play your stuff from the command line with
mpg321 or ogg123 commands. Once you've done that, go to the configuration
dialog and add the parameters you discovered to the respective player
command. That's it.
4. Lynx
-------
This section contains links and references that may be of interest for
you.
4.1. The program homepage
-------------------------
The orpheus homepage can be found at
http://thekonst.net/orpheus/
4.2. Orpheus mailing list
-------------------------
There is a mailing list for orpheus which is used by the program
users to discuss their ideas, bug reports, fixes, and other stuff. You
would rather want to use it instead of direct mailing to me.
To subscribe go to the orpheus home page (URL is above) or send a
message to [email protected] with "subscribe" in the subject
field. To post a message to the list, send it to [email protected] after
you subscribe. The archive can be found at http://linuxpl.org/orpheus
4.3. TheKonst.Net
-----------------
If you want to find out more about my recent activities, news,
software developments and other things I'm involved in, visit my web
site at http://thekonst.net/
It's currently available in English and Russian. Use icons in the
right bottom corner to switch the language.
4.4. Other programs I write
---------------------------
To find out more about my software developments use the following URL:
http://thekonst.net/software/
There is also an "articles" section at
http://thekonst.net/articles/