1
0
Commit Graph

223 Commits

Author SHA1 Message Date
f9b2afdd50
Added log for failed attempts on retrieving songs from playlist.log. 2023-08-20 18:03:51 +04:00
48bbd32eb8
Remove a debug print accidenatlly commited. 2023-08-20 03:27:08 +04:00
075e171b40
Populate a freshly created cache with songs if there are any. 2023-08-20 03:26:14 +04:00
7df94bef12
Only then call make on cache if it is nil. 2023-08-20 03:20:49 +04:00
1df162445e
Removed configuration file. 2023-08-06 03:19:26 +04:00
a1bf9cf30a
Use flags instead of config file. Also replaced HttpServer with a new code. 2023-08-06 03:17:18 +04:00
4cc4d0138a
Return an empty IcecastStatus struct instead of nil in case of an error. 2023-07-22 23:08:18 +04:00
877b5d4013
Playlist file renamed to playlist.m3u. 2023-07-22 22:58:42 +04:00
38f04aa9f8
Removed code for liquidsoap. 2023-07-22 22:15:24 +04:00
cac5751ede
Removed AssetsFS() since it is not needed anymore. 2023-05-27 00:36:03 +04:00
8b439bbd5a
Removed httprouter. 2023-05-26 23:55:40 +04:00
3e513087ca
Let's dynamically calculate bufferSize with 320 bytes per line. 2023-05-21 23:11:15 +04:00
47bc1a8e02
Added sitemap.xml. 2023-05-21 22:44:09 +04:00
2987cf4a2a
Moved RobotsTxt handler out of Handlers struct. 2023-05-21 22:42:17 +04:00
ca4391784a
Added /favicon.svg endpoint. 2023-05-21 22:35:37 +04:00
eb6b0c68b3
No need in preloading. Because in this moment liquidsoap starts and adds a new song that Icecast writes in playlist.log so IN_MODIFY is being triggered. 2023-03-13 05:35:39 +04:00
c02442ebcd
Okay, there is actually a new line at the end of file. Let's skip that. 2023-03-13 05:10:17 +04:00
31a892e43d
Remove log section from config, since it is not used anymore. 2023-03-13 03:31:40 +04:00
8e0d5e4fb7
Date format was moved out to a const. 2023-03-13 02:12:21 +04:00
95e9d97a22
Updated web.Index() call in a handler. 2023-03-13 02:12:02 +04:00
0fffbce646
First try to load currently playing song. 2023-03-13 01:53:52 +04:00
2e60f2bb8a
Check for empty prev song. 2023-03-13 01:42:24 +04:00
f24953ae7c
Amount of listeners of next song is actually how much listeners was by the end of a prev song. 2023-03-13 01:42:00 +04:00
1b91f70edd
Added most_listened_song_file_path option. 2023-03-13 01:40:30 +04:00
e84a811a1d
Update most listened song. 2023-03-13 00:04:34 +04:00
8f16b5d96f
Implemented a functionality for storing and showing most listened song. 2023-03-13 00:03:59 +04:00
53d24c5781
Store current song in a separate variable. A base for most listened song functionality. 2023-03-12 22:25:58 +04:00
63fcb36e60
Nah, 3KiB should be enought to read. 2023-03-12 22:06:15 +04:00
d48972caa0
Okay, now let's return original idea of adding songs one by one. 2023-03-12 21:48:01 +04:00
6d4a276dd8
IcecastLastSongs() (formerly known as IcecastLastPlayedSongs()) args were changed, so let's delete unneeded arg. 2023-03-12 21:32:29 +04:00
517dd0e534
Fixed last songs displaying. 2023-03-12 21:31:18 +04:00
0409da3ca3
Oh, last commit led to loading of full list of prev songs. Let's remove this code. 2023-03-12 04:01:32 +04:00
10048c671e
Prevent reading latest song from a log right after a service started. 2023-03-12 03:53:09 +04:00
db02047268
Now lastPlayedCache's initial capacity is not hardcoded to 10. And it will be filled slowly, instead of initial read of last N songs from a playlist.log. 2023-03-12 02:19:07 +04:00
47e3ff37ba
Reduced bufferSize because 16KiB is more than enough for a max of 10 songs. 2023-03-12 02:16:55 +04:00
83cdc222c7
Change arav.top to arav.su. 2023-02-23 17:49:01 +04:00
edfcb9526b
Fixed MIME type to text/html. 2023-02-19 22:26:25 +04:00
77183bb14e
Added Content-Type header for filelist. 2023-02-19 21:41:58 +04:00
aa0d818488
Added robots.txt endpoint. 2023-02-19 21:22:56 +04:00
182a4c02c9
Added reading of filelist.html file from disk. 2023-02-19 21:18:36 +04:00
6d26d695ec
Pass ListLastNSongs to an Index template in handlers.go. 2023-02-07 02:46:10 +04:00
dc8ec51530
Func LoadConfiguration() was renamed to Load(). Added a comment for it. Edited a comment for SplitNetworkAddress() func. 2023-02-07 02:29:45 +04:00
bde8a59a31
Removed a comment for type Configuration that was from httpprocprobed service. 2023-02-07 02:28:54 +04:00
7c5e1465af
handlers moved to internal/http. Logging changed to std log. Type RadioHandlers renamed to Handlers. 2023-02-07 02:27:30 +04:00
91329ceaec
Server moved to internal/http. 2023-02-07 02:26:10 +04:00
192fa0d58f
Removed ToStdout option from Configuration. 2023-02-07 02:24:44 +04:00
7e83be82cb
Calculate offset for ReadAt() instead of using Seek().
Fixed going out of bounds.
2022-09-21 04:56:06 +04:00
f631fdfa7c
Playlist log watcher was made into a struct. 2022-09-19 01:55:09 +04:00
3727f44381
lastPlayedSongs changed to icecastLastPlayedSongs. playlistFired changed to playlistChanged. 2022-09-19 01:37:47 +04:00
e8e3570a8f
Liquidsoap code moved to radio package. ErrNotRunning -> ErrLiquidsoapNotRunning. 2022-09-19 01:32:23 +04:00
73fc9861fd
Renamed Song() method to more clear name SongName(). 2022-08-31 00:52:50 +04:00
98b0a8085a
No, it skips 2 tracks instead of 1. Let's get back to -2. 2022-08-30 18:20:24 +04:00
0620f82940
lastPlayedSong was made into lastPlayedSongs. Now it retrieves up to n songs from a log. 2022-08-30 02:29:11 +04:00
64eed7ac7e
Oops, last line also has a newline. So the last one is empty. 2022-08-30 00:51:21 +04:00
1e6b51a2c0
IsRunning() method had no use. 2022-08-29 23:12:47 +04:00
f211602a4b
Implemented sane script validation. WTF did I think later..? 2022-08-29 23:10:39 +04:00
7dd517ea8f
Check if path is valid. Simplified error handling. 2022-08-29 22:20:05 +04:00
16e849eb65
Rewritten lastPlayedSong() in a sane way. Hope it will work. 2022-08-29 12:47:06 +04:00
d43b2fe897
Removed handling of imposible cases. 2022-08-29 09:19:35 +04:00
1996743470
Cache vars moved to the top of the file. 2022-08-29 09:08:08 +04:00
c935db8ce7
Implemented lastPlayedSong() function that retrieves one song from a playlist.log file that doesn't run external commands for it.
And now we start with an empty list.
2022-08-29 08:58:35 +04:00
0da8077ab7
Implemented a liquidsoap process launcher. 2022-08-29 07:20:36 +04:00
e94973920e
Added configuration fields for a liquidsoap. 2022-08-29 07:17:40 +04:00
b5d8b58b81
Template was replaced with a pre-compiled to a Go source file. 2022-06-13 18:35:36 +04:00
60dcf2c11c
ModMask replaced wuth ModIgnMask. Now IN_IGNORED being watched, it makes watcher to reinstantiate. 2022-05-24 23:20:19 +04:00
f2fcadd0c5
Removed not used NotFoundData structure. 2022-05-24 19:46:33 +04:00
74ae6f4213
Now index template is a variable. 2022-05-24 19:41:04 +04:00
6155b593b2
Robots handler removed. 2022-05-24 18:41:50 +04:00
4d5fb47a15
Template and assets moved off to web directory in root. 2022-05-24 18:30:45 +04:00
a335ae4803
Web dir with a template and assets was moved off to web directory in root. 2022-05-24 18:29:15 +04:00
3ec15fbd2a
Now Index page will be shown even if Icecast status cannot be retrieved. 2022-05-24 18:26:59 +04:00
6f607c830e
Use time format specified in radio package. 2022-04-02 04:29:58 +04:00
88e047d210
Moved time formats to constanst. 2022-04-02 04:29:23 +04:00
1b5dea899e
I found why time was being further altered. The reason is that slices are pointing to original array. Okay. The problem fixed. 2022-04-02 02:00:28 +04:00
db8e8c3ebf
Forgot to change time format in Index handler as well. 2022-04-01 23:35:14 +04:00
c4532fea24
According to tests it is equal performance wise, so why not make a code shorter. 2022-04-01 23:20:04 +04:00
7d447be786
Initialise playlistFired at definition. 2022-04-01 22:35:30 +04:00
1ed81fdd36
Fixed deadlock caused by misunderstanding of how defer works. 2022-04-01 21:12:54 +04:00
21995ea4cd
Added mutex for lastPlayedCache. 2022-04-01 20:44:32 +04:00
4f3993515a
Changed displayed on-air since date to RFC1123. 2022-04-01 20:43:10 +04:00
066208def4
Reduced main.js a little. 2022-04-01 18:42:13 +04:00
b035476fb7
Oh, here must be used html/template functions! Gotcha! Nice. 2022-03-31 23:04:58 +04:00
0360efc147
If there was no listeners on a track, then print nothing. 2022-03-31 22:46:47 +04:00
ee10fc1c9e
Okay, didn't work. Let it be like that for now. 2022-03-31 22:43:39 +04:00
7c67151ee8
Let's try negate it. 2022-03-31 22:42:01 +04:00
75473aff1f
Let's try unless. 2022-03-31 20:12:18 +04:00
8c1fdb0e44
Ah, yes... It doesn't work like that. 2022-03-31 20:09:56 +04:00
88163a6bea
Actually, 2rem would be enough for listeners column. 2022-03-31 20:06:26 +04:00
d243f82c7e
CSS updated for a new last played table. 2022-03-31 20:05:46 +04:00
f51b623b08
Updated main.js for a new last played layout. 2022-03-31 20:03:45 +04:00
52696c026e
New last played table rows: time, listeners and song. If there was no listeners then this col is empty. 2022-03-31 20:02:17 +04:00
0844b917dc
Now last played songs are consist of time, listeners and song name combined with artist. 2022-03-31 20:01:13 +04:00
93f50458ec
Forgot about ReadFile() method of embed.FS. 2022-03-31 18:34:33 +04:00
981bbd8968
In this case it is safer to compare with Time field. What if it is a problem with just this song? 2022-03-31 18:24:41 +04:00
4b5289223d
Remove whitespace in IcecastLastPlayedSongs. 2022-03-31 18:14:20 +04:00
a9b6e5a056
Compute lastPlayedCache length once a call. 2022-03-31 18:13:49 +04:00
d3563abba1
Remove inteermidiate variable and instantiate struct in return statement. 2022-03-31 18:11:04 +04:00
0d113d30a1
Replace Sprintf with way more performant simple concatenation. 2022-03-31 18:05:47 +04:00
b077fa053c
It is better to call here lastPlayedSongs directly. 2022-03-31 18:02:04 +04:00
0983a0f0c5
This conversion to UTC is excessive. 2022-03-31 17:58:42 +04:00