about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorCase Duckworth2022-07-28 21:21:13 -0500
committerCase Duckworth2022-07-28 21:21:13 -0500
commitd2073cfead2de49ca48198cf4e8110cb189358d1 (patch)
treecb792f502fb00c635d4623c4d6221d654566cefa
parentAdd TODO; more information when streaming (diff)
downloadradish-d2073cfead2de49ca48198cf4e8110cb189358d1.tar.gz
radish-d2073cfead2de49ca48198cf4e8110cb189358d1.zip
Begin converting to fennel
-rw-r--r--COPYING9
-rw-r--r--pls.fnl5
-rw-r--r--radish.fnl66
3 files changed, 76 insertions, 4 deletions
diff --git a/COPYING b/COPYING index 4d13a5b..3b71e1f 100644 --- a/COPYING +++ b/COPYING
@@ -1,7 +1,8 @@
1Copyright (C) 2022 Case Duckworth <acdw@acdw.net> 1Copyright (C) 2022 Case Duckworth <acdw@acdw.net>
2 2
3Usage of the works is permitted provided that this instrument is retained with 3Everyone is permitted to do whatever with this software, without
4the works, so that any entity that uses the works is notified of this 4limitation. This software comes without any warranty whatsoever,
5instrument. 5but with two pieces of advice:
6 6
7DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY. 7- Don't hurt yourself.
8- Make good choices.
diff --git a/pls.fnl b/pls.fnl new file mode 100644 index 0000000..0ba2fb8 --- /dev/null +++ b/pls.fnl
@@ -0,0 +1,5 @@
1;;; PLS.fnl
2;; a parser for *.pls files
3;; Copyright (C) 2022 Case Duckworth <acdw@acdw.net>
4;; License: Good Choices (https://acdw.casa/gcl)
5
diff --git a/radish.fnl b/radish.fnl new file mode 100644 index 0000000..4ce6e22 --- /dev/null +++ b/radish.fnl
@@ -0,0 +1,66 @@
1;;; RADISH
2;; A tuner for various streams
3;; Copyright (C) 2022 Case Duckworth <acdw@acdw.net>
4;; License: Good Choices (https://acdw.casa/gcl)
5
6;;; Entry point
7
8(fn usage []
9 (printn* "RADISH: a tuner for various streams"
10 "Copyright (C) 2022 Case Duckworth <acdw@acdw.net>"
11 "License: Good Choices (https://acdw.casa/gcl)"
12 ""
13 "Commands"
14 " radish [STATION]"
15 " Begin playing STATION. If STATION is not"
16 " provided, display a list of favorites and"
17 " allow the user to choose one to play."
18 " radish play [STATION]"
19 " Begin playing STATION. If STATION is not"
20 " provided, play the most recently-played."
21 " radish kill"
22 " Kill the currently-playing station."
23 " radish add [STATION]"
24 " Add STATION or the currently-playing one"
25 " to the favorites list."
26 " radish del [STATION]"
27 " Remove STATION or the currently-playing"
28 " one from the favorites list."
29 " radish edit [STATION]"
30 " Edit the information of STATION, or the"
31 " current one if not given."
32 ""
33 "See radish(1) for more details."))
34
35(fn main [args]
36 (match args
37 [:play ?station] (radish-play ?station)
38 [:kill] (radish-kill)
39 [:add ?station] (radish-add ?station)
40 [:del ?station] (radish-del ?station)
41 [:edit ?station] (radish-edit ?station)
42 [station] (radish-play station)
43 _ (usage)))
44
45;;; Utilities
46
47(lambda printn* [?sep ...]
48 "Print arguments as strings, delimited by ?SEP.
49?SEP defaults to '\n', but can be anything."
50 (print (table.concat [...] (or ?sep "\n"))))
51
52;;; Functionality
53
54(lambda radish-play [?station])
55
56(lambda radish-kill [])
57
58(lambda radish-add [?station])
59
60(lambda radish-del [?station])
61
62(lambda radish-edit [?station])
63
64;;; End
65
66(main args)