From b008056e15f165b8d51bfbd2b5a06f993b88a1a2 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Thu, 14 Oct 2010 10:50:10 +0200 Subject: removed obsolete files --- media.erl | 63 --------------------------------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 media.erl (limited to 'media.erl') diff --git a/media.erl b/media.erl deleted file mode 100644 index 1ff2f23..0000000 --- a/media.erl +++ /dev/null @@ -1,63 +0,0 @@ --module(media). --export([init/0,insert/3, ask/2, all/0]). - -% Since we are not willing to calculate and deliver all the id3 tags everytime they are requested, -% we try to get something persistent with mnesia. -% Concerning the parsing of id3tags we use the library id3v2 by Brendon Hogger. For detailed information take a -% look at the header of the library. - -% What is an entry in our database made of? By the way the filepath includes the filename. - --record(track, {artist, title, votes, locked, filepath }). - -% With which application do we play mp3s? - -player(path) -> - {ok, ["/usr/bin/env", "mplayer", "-quiet", path]}. - -% Before this module becomes usable, we must initialize it with the following steps: -% 1. Initialize the mnesiadatabase and create the table within it. -% 2. Parse the mp3s in the working directory and add them to the database -% 3. Get into a loop so the database can be actually queried and files can be played. - -init() -> - mnesia:create_schema([node()]), - mnesia:start(), - mnesia:create_table(track, [{attributes, record_info(fields, track)}]), - io:format("Initialisation of mnesia successful.\n"). - -% Basic insertion of entrys into the database. Some entries are left out because they are 0 or false. - -insert(Artist, Title, Filepath) -> - F = fun() -> - mnesia:write(#track{artist = Artist, title = Title, votes = 0, locked = false, filepath = Filepath}) - end, - mnesia:transaction(F). - -% We want to query in order to simplify the next calls. -ask(Artist, Title) -> - F = fun() -> - mnesia:match_object({track, Artist, Title, '_', '_', '_'}) - end, - {atomic, Results} = mnesia:transaction(F), - Results. - -% Just in case the client is interested in everything we got. - -all() -> - F = fun() -> - mnesia:match({track, '_','_','_','_','_'}) - end, - {atomic, Results} = mnesia:transaction(F), - Results. - -% We want to play mp3s from our database. - -play(Artist, Title, Callback) -> - [Head|_] = ask(Artist, Title), - {_, artist, title, _, _, fp} = Head, - Cmd = "mplayer -quiet " ++ fp, - Port = erlang:open_port({spawn, Cmd}, [exit_status]). - -% We want to execute commands locally - -- cgit v1.2.3