diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/id3v2.erl | 4 | ||||
-rw-r--r-- | server/media.erl | 21 |
2 files changed, 21 insertions, 4 deletions
diff --git a/server/id3v2.erl b/server/id3v2.erl index 196288a..fc49183 100644 --- a/server/id3v2.erl +++ b/server/id3v2.erl @@ -421,7 +421,7 @@ v1genre(_) -> "Unknown". %% Tests %% ------------------------------------------------------------ --define(TESTPATTERN, "/media/everything/music/The Roots/Things Fall Apart/*.mp3"). +-define(TESTPATTERN, "./ac/*.mp3"). test() -> Start = now(), @@ -431,7 +431,7 @@ test() -> read_files([FN|Rest], Total, Fail) -> case read_file(FN) of {ok, Props} -> - ?DBG({?GV(trck, Props), ?GV(tit2, Props)}), + ?DBG({?GV(tpe1, Props), ?GV(tit2, Props)}), read_files(Rest, Total+1, Fail); not_found -> read_files(Rest, Total+1, Fail+1) diff --git a/server/media.erl b/server/media.erl index a761f64..3678ff3 100644 --- a/server/media.erl +++ b/server/media.erl @@ -1,5 +1,5 @@ -module(media). --export([init/0,insert/3, ask/2]). +-export([init/0,insert/3, ask/2, all/0, play/3]). % 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. @@ -42,5 +42,22 @@ ask(Artist, Title) -> {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) -> io:format("blub"). + +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 + |