Content-type: text/html Man page of mediacurser

mediacurser

Section: User Commands (1)
Updated: 20 September 2009

 

NAME

mediacurser - curses-based media manager  

SYNOPSIS

mediacurser [-f <database_file>]
mediacurser_httpd [-f <database_file>]
                  [-p <port>]
                  [-e <error log>]
                  [-l <access log>]  

DESCRIPTION

Mediacurser is a generic media manager application that uses the curses library for screen output. ('Generic', in the sense that it has no playback capabilities of its own.) It supports searching, static and dynamic playlists, independent storage of meta-information, and playback using any media player with a command line interface, as well as ipc support for selected players (currently audacious). There is also a http daemon (mediacurser_httpd) which can be used to serve files over a local network.

Mediacurser stores all of meta-information about media in its own database, allowing it to be used with any file format, not just those supporting id3 or vorbis tags. It does contains tag support (via taglib) for several file types (notably mp3 and ogg vorbis), allowing them to be imported into the database with minimal effort.  

OPTIONS (mediacurser)

-f, --filename <path>
specify the location of the database (default: ~/.mediacurser)
 

WEB INTERFACE OPTIONS (mediacurser_httpd)

-f, --filename <path>
specify the location of the database file (default: ~/.mediacurser)
-p, --port <port>
port to run the server on (default: 8686)
-e, --errorlog <path>
specify location of error log (default: none)
-l, --log <path>
specify location of access log (default: none)
-n, --nodaemon
do not run as a daemon
 

INTERACTIVE INTERFACE

The screen is divided into three panes - a playlist pane on the left, and two media panes on the right. The lower media pane displays the current playlist, with the upper media pane displays a fixed playlist that defaults to the entire database.

 

KEYS

Note that capital letters indicate that the shift key is to be used, i.e. 'K' indicates 'Shift-K'.

In all panes:

?
Help
Q
Quit
h, Left
Change panes clockwise
l, Right
Change panes counterclockwise
j, Up
Move up in a list
k, Down
Move down in a list
Page Up
Move up 10 lines
Page Down
Move down 10 lines
R
Rescan media directories
S
Resize panes
O
Options menu

In the playlist pane:
a
Add a new playlist
d
Remove a playlist
e
Show the edit playlist menu
+
Expand child playlists
-
Collapse child playlists
m
Move playlist

In a media pane:
v
Toggle selection mode
a
Upper pane only: Add selection to the current playlist, if static.
d
Lower pane only: Remove a file from the playlist, if current playlist is static.
e
Edit meta information for selection
p
Play selection now
o
Play selection next
i
Play selection last
g
Go to a specific offset in the playlist
t
Renumber selection track numbers consecutively
G
Assign web interface group id to selection
/
Start search (see Searching, below)
>
Change sort field right. (see Sorting, below)
<
Change sort field left. (see Sorting, below)
M
Invert sorting order
z
Play 20 random files from this playlist or selection
 

PLAYLISTS

Mediacurser supports two types of playlists: dynamic and static. Both are created by pressing 'a' when the cursor is in the playlist pane.

A playlist can be made dynamic from the edit menu ('e' key), and a dynamic playlist made static from the same menu. Note that doing so currently causes the loss of all playlist content - it is equivelent to deleting the playlist and creating a new one).

Static Playlists

A static playlist, as you might expect, contains exactly the media you put into it and does not change. To add items to a static playlist, first select the playlist in the playlist (leftmost) pane, causing it to be displayed in the lower right. Then, move to the upper right pane, select the media to add, and press 'a'. To delete media from a static playlist, select it and press 'd'.

Dynamic Playlists

A dynamic playlist is regenerated every time the database changes. Media is selected based on a search string (see Searching, below).  

SEARCHING

A search string is defined roughly follows - [] indicates an optional item:

search_string ::= [!|NOT]<field>:]["]<filter>["] 
                  ['|'|'OR'|'&'|'AND'] 
                  [search_string]

Searching in a single field:
By default, all fields are searched. 'field:' searches only in a given field, 
where 'field' a complete field name ('artist' or 'gid', for instance), 
or one of: 
i - id 

f - filename
a - artist
l - album
t - title
c - comment
g - genre
y - year
# - track
r - rating
p - plays
m - mood
For example: artist:eagles Exact Searches: Enclosing a phrase in double quotes searches for that string exactly: artist:"eagles" Inverse Searches: '!' or 'NOT' inverts the search result for this filter string: !eagles Logical OR: '|' or 'OR' gives the union of the results eagles OR "Yo-Yo Ma" Logical AND: '&' or 'AND' gives the intersection of the results eagles & t:hotel california Grouping expressions: Parenthesis can be used for arbitrary grouping, with the exception that a field specifications (field:<filter>) cannot be nested inside one another. i.e: artist:(eagles & album:hotel california) | artist:"Yo-Yo Ma" is undefined; instead, simply use this: (artist:eagles & album:hotel california) | artist:"Yo-Yo Ma" More Examples:
The simplest possible (and most common) search is simply a phrase, i.e: Some Song To find all live recordings by two bands (assuming you put 'Live' in the comment field for each): (artist:band1 || artist:band2) && c:"Live" To find all files under a given directory '/tvshows' f:/tvshows/ or even simply: /tvshows/
 

SORTING

The current sort field is indicated by an '_', or a '^' in the header. A '_' indicates a-z sorting, a '^' indicates z-a. Use the '<' and '>' to sort by the column to the right or left (respectively) of the current sort column.

If the indicator is not visible, the playlist is sorted by the id property.  

META INFROMATION EDITING

To edit meta information, select the media to edit and press 'e'. If more than one entry is selected, you will be prompted whether to 'Edit Individually'. Answering 'Y' will edit each file in turn, 'N' will make any changes apply to all files.

The editing screen is mostly self explanatory; note that any changes will take place immediately (no undo) - with the exception that pressing 'ESC' while editing a field will cause the field to revert to its original value.

Batch Assign

The batch assign interface allows meta information to be extracted from filenames. It uses the PCRE regex engine.

To use, simply type an appropriate regex into the 'extraction regex' field, assign groups to media fields (\1, \5, etc) and press 'Apply'.  

WEB INTERFACE

The web server daemon can be invoked with 'mediacurser_httpd'. It is intended to provide a simple media server interface to computers on a local network. It is NOT intended to be exposed to the internet - in particular, the 'security' involves sending plaintext passwords, and is meant to prevent your 8 year-old from watching R-rated movies, not to prevent crackers from downloading all your files and stealing your personal information!

Again:

DO NOT ALLOW mediacurser_httpd TO BE ACCESSED FROM AN UNTRUSTED NETWORK!

Do note that this is not from lack of care about security, but rather out of convience; for instance, the actual files can be accessed without a password - this allows you to copy a link into your favorite media player without any difficulty. Enabling better security would only make it inconvient (and pointless) to use in the intended fashion.

mediacurser_httpd runs as a daemon by default - to run in a terminal, supply the -n option.

The default address of the server is http://<hosting machine's ip>:8686/  

WEB SERVER CONFIGURATION

At bare minimum, you must supply a user for the web interface to function. From the main mediacurser interface, do (O)ptions->Web Interface->New User

The 'group id' or gid allow you to control a users access to particular files. The default gid for any media file is '0'; other gids must be assigned. (With the 'G' key, for instance.)  

BUGS

Lots. Specifically:

If there is a crash after scanning a new media directory, it is likely due to an ongoing problem with filename encodings - please send a bug report.

Resizing a terminal that is running mediacurser is problematic, and may cause graphics glitches. As a workaround, simply restart the program.  

AUTHORS

Brian Hrebec <brianh32@gmail.com>


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS (mediacurser)
WEB INTERFACE OPTIONS (mediacurser_httpd)
INTERACTIVE INTERFACE
KEYS
PLAYLISTS
SEARCHING
SORTING
META INFROMATION EDITING
WEB INTERFACE
WEB SERVER CONFIGURATION
BUGS
AUTHORS

This document was created by man2html using the manual pages.
Time: 02:46:19 GMT, January 02, 2010