This website requires JavaScript.
e092a34055
Index was translated. Also all necessary i18n code was added.
master
v24.38.0
Alexander "Arav" Andreev
2024-09-17 04:06:22 +0400
962bddaa0f
Dependency updated, also ctxi18n was added.
Alexander "Arav" Andreev
2024-09-17 04:05:47 +0400
1beda9fe96
Version set to 24.38.0.
Alexander "Arav" Andreev
2024-09-17 04:05:17 +0400
2179d74239
Updated @media and removed max-width for a video banner.
Alexander "Arav" Andreev
2024-06-25 04:14:51 +0400
e148bad281
Updated a a-h/templ dependency version.
Alexander "Arav" Andreev
2024-06-25 03:54:26 +0400
812af85f63
Changed a message in an audio element for in case it is not supported by a browser.
Alexander "Arav" Andreev
2024-06-25 03:52:38 +0400
2eb79a86a8
Updated a run target in the Makefile.
Alexander "Arav" Andreev
2024-06-25 03:51:47 +0400
e7be56e64f
Updated .gitignore to ignore a test directory.
Alexander "Arav" Andreev
2024-06-25 03:51:16 +0400
e331370bdb
Simplifying configuration via introducing a -work-dir option.
Alexander "Arav" Andreev
2024-06-25 03:31:00 +0400
41aea2112a
For note.svg the missing alt and title attrs were added.
Alexander "Arav" Andreev
2024-06-25 03:02:37 +0400
3a9f39f7a8
listener.svg was renamed to headphones.svg.
Alexander "Arav" Andreev
2024-06-25 03:01:55 +0400
f4c82925b4
Version set to 24.25.0
v24.25.0
Alexander "Arav" Andreev
2024-06-20 01:39:35 +0400
3d7e3b0193
Spaces was converted to tabs in templ.
Alexander "Arav" Andreev
2024-06-20 01:38:28 +0400
398b38561a
Updated template.
Alexander "Arav" Andreev
2024-06-20 01:30:15 +0400
d1bd7982ce
Reorganise imports in a template.
Alexander "Arav" Andreev
2024-06-20 00:50:37 +0400
e3f7b10200
Add shadow to a play button.
Alexander "Arav" Andreev
2024-06-20 00:49:31 +0400
c7ca05401f
Forgot to set a text color of logo.
Alexander "Arav" Andreev
2024-06-19 03:07:15 +0400
99ef685e5e
Well, still need to detect a browser, at least, just a Firefox, found a way that doesn't trigger on chromium.
Alexander "Arav" Andreev
2024-06-19 01:30:01 +0400
293e1a3126
Simplified a for loop for last songs list.
Alexander "Arav" Andreev
2024-06-19 01:03:51 +0400
9b959eb7ab
Updated a play button.
Alexander "Arav" Andreev
2024-06-19 00:52:55 +0400
5bc653f50a
Use writing-mode + direction instead of a deprecated appearance approach to make a range input vertical.
Alexander "Arav" Andreev
2024-06-19 00:10:54 +0400
7e9e641330
Probably a successful attempt to fix an SVG logo sizing.
Alexander "Arav" Andreev
2024-06-19 00:09:54 +0400
e5d1c6be8d
Remove unused .right class from main.css.
Alexander "Arav" Andreev
2024-06-18 19:51:28 +0400
b8f6163cb8
Need to use RUnlock for RLock.
Alexander "Arav" Andreev
2024-06-18 19:50:56 +0400
88ecf675b6
And same for a Playlist.
Alexander "Arav" Andreev
2024-05-22 04:07:33 +0400
baad7da10d
After a research on how mutexes work, a mutex bcame embedded. And locks should be invoke from outside.
Alexander "Arav" Andreev
2024-05-22 04:05:15 +0400
2facf9662a
Updated Makefile. Fixed DESTDIR, PREFIX and VERSION vars. FLAGS -> GOFLAGS. Added -linkmode and -extldflags. Also perform a build when invoke a run target if there are changes.
Alexander "Arav" Andreev
2024-05-22 03:43:12 +0400
f265494ea8
Send only a response code without any text to Icecast and Ezstream.
Alexander "Arav" Andreev
2024-05-22 03:40:33 +0400
b155b81064
Fixed a systemd service.
Alexander "Arav" Andreev
2024-05-16 02:32:52 +0400
c21838314f
Version was set to 24.20.0.
v24.20.0
Alexander "Arav" Andreev
2024-05-16 02:02:04 +0400
8d3ec1a327
Since ListenersUpdate works with Icecast specifically, let's point it out in its name.
Alexander "Arav" Andreev
2024-05-16 01:59:26 +0400
a728ea2164
Let's try to not add 5 seconds to Song.StartAt.
Alexander "Arav" Andreev
2024-05-16 01:44:45 +0400
c8c153cd62
Don't print a hyphen in place of a song.
Alexander "Arav" Andreev
2024-05-16 01:43:59 +0400
69f24a6b7b
Make use of the new icons, also add some styling for them.
Alexander "Arav" Andreev
2024-05-16 00:15:52 +0400
38c3e11b07
Added new SVG icons, also optimised by removing unnecessary <?xml... ?> header.
Alexander "Arav" Andreev
2024-05-16 00:15:02 +0400
f266e4fcf7
Restructurised Statistics.
Alexander "Arav" Andreev
2024-05-15 23:51:10 +0400
51a0ef167c
Do not log songs whose artist and title tags are empty.
Alexander "Arav" Andreev
2024-05-13 01:14:05 +0400
40d2993b03
Remove commented out go func() {}.
Alexander "Arav" Andreev
2024-05-13 01:13:05 +0400
e2555d82e3
A title was changed for a filelist.
Alexander "Arav" Andreev
2024-05-12 04:02:10 +0400
154682ea4f
A page layout was changed.
Alexander "Arav" Andreev
2024-05-12 03:58:35 +0400
d2db23be5d
Now that only current number of listeners is being shown, send just it instead of a whole ListenerCounter.
Alexander "Arav" Andreev
2024-05-12 03:57:54 +0400
c8f71b205b
For Song omit listeners and peak_listeners if they are zero.
Alexander "Arav" Andreev
2024-05-12 03:56:44 +0400
a374dfd510
Changed layout for a song info.
Alexander "Arav" Andreev
2024-05-11 05:35:14 +0400
5d042cdb3a
Fixed Last N songs section.
Alexander "Arav" Andreev
2024-05-11 05:34:32 +0400
056f2c022b
max_listeners -> peak_listeners.
Alexander "Arav" Andreev
2024-05-11 05:05:27 +0400
904af3107a
Show overall and peak numbers of listeners for a currently playing song.
Alexander "Arav" Andreev
2024-05-11 05:03:20 +0400
872e8f4978
A MaxListeners field of a Song struct was renamed to a more logically appropriate PeakListeners.
Alexander "Arav" Andreev
2024-05-11 04:52:40 +0400
4feeb518fc
Added methods for a ListenerCounter struct to access a current peak and overall numbers of listeners.
Alexander "Arav" Andreev
2024-05-11 04:42:06 +0400
08203c4be0
Also return a current peak listeners number.
Alexander "Arav" Andreev
2024-05-11 04:38:08 +0400
cf90bba297
Updated logic in DJ handlers. Also let's give a try to not run this updating code in a PlaylistNext() handler in a separate thread. Also funnier handling of audio tag missing.
Alexander "Arav" Andreev
2024-05-11 04:36:23 +0400
454df3bb74
Write listeners statistics for a current song in case of an interrupting signal.
Alexander "Arav" Andreev
2024-05-11 04:22:06 +0400
d94c029fda
In ListenerCounter struct also keep track of overall number of listeners for a song and its max simultaneous number of listeners. These parameters are being reset with a Reset() method that returns its values.
Alexander "Arav" Andreev
2024-05-11 04:21:00 +0400
1682362779
Do not alter Song struct listeners with its methods, use a ListenerCounter to populate Listeners and MaxListeners. Eliminates the need for a mutex and SetFrom(), UpdateMaxListeners() and IncListeners() methods.
Alexander "Arav" Andreev
2024-05-11 04:18:28 +0400
3b22643733
In an index.templ a range for was replaced by good old C-style for loop to prevent copying by value, and to get rid of that warning about mutex copy.
Alexander "Arav" Andreev
2024-05-10 04:59:18 +0400
84e23b5b85
Remove an http.Error() func call from an anonym func that is spawned in a separate thread because that w (http.ResponseWriter) could be not available.
Alexander "Arav" Andreev
2024-05-10 04:39:56 +0400
23f53609ae
Forgot to add preload="none", controls and playsinline to an audio tag.
Alexander "Arav" Andreev
2024-05-10 04:37:25 +0400
c49c5b0112
No need in URL escaping since these links are safe already, so just cast them to SafeURL.
Alexander "Arav" Andreev
2024-05-10 02:48:47 +0400
0a55b115fb
In main.js fixed a bug and removed a multiplication by 100 for volume control.
Alexander "Arav" Andreev
2024-05-10 02:23:09 +0400
fb5c46381e
Remove a comment at the end of index.templ.
Alexander "Arav" Andreev
2024-05-10 00:13:12 +0400
bf643e6cf6
Updated go.{mod,sum}, Makefile and .gitignore.
Alexander "Arav" Andreev
2024-05-10 00:12:14 +0400
665a8e8c75
Current state of main.go.
Alexander "Arav" Andreev
2024-05-10 00:11:51 +0400
670b6ea032
Jade was replaced with Templ. Also some changes were made to a layout. A ServeAsset() handler was introduced.
Alexander "Arav" Andreev
2024-05-10 00:11:33 +0400
7c34a3a632
A func Site was added to return a schema://host string.
Alexander "Arav" Andreev
2024-05-10 00:09:35 +0400
ec6c1df474
For Song struct a method SetFrom was added.
Alexander "Arav" Andreev
2024-05-10 00:08:59 +0400
c1d64700ff
A separate MostListenedSong struct is not needed anymore.
Alexander "Arav" Andreev
2024-05-10 00:07:57 +0400
71844a106d
Updated internal/http.
Alexander "Arav" Andreev
2024-05-10 00:07:07 +0400
d936b41483
Now http2 is a separate option in nginx.conf.
Alexander "Arav" Andreev
2024-05-10 00:04:06 +0400
816a8d88a7
Introduce a statistics DB implemented in SQLite3.
Alexander "Arav" Andreev
2024-05-09 23:53:33 +0400
9ef0771389
SongList struct was removed. A Song struct got UpdateMaxListeners() and IncListeners() methods. A mutex was Introduced for it. A Listeners field to store overall number of listeners during a song playing was introduced as well. A comment for the Song struct was removed.
Alexander "Arav" Andreev
2024-05-09 20:30:17 +0400
ec5b6a028b
In ListenerCounter struct int -> int64.
Alexander "Arav" Andreev
2024-05-09 20:18:06 +0400
0244f6afd5
A unified ServeAsset() func was introduced. AssetsGetFile() now will panic if a file doesn't exists, because it must not be the case.
Alexander "Arav" Andreev
2024-04-20 18:54:05 +0400
5575408560
Remove unused inode watcher.
Alexander "Arav" Andreev
2024-04-20 18:25:04 +0400
92ae8e13f0
Remove unused radio-listener-dis/connect scripts.
Alexander "Arav" Andreev
2024-04-20 18:24:45 +0400
b0f24b25b9
Version set to 24.10.0.
v24.10.0
Alexander "Arav" Andreev
2024-03-06 04:49:27 +0400
c795c2b87b
Updated a year in a Copyright.
Alexander "Arav" Andreev
2024-03-06 04:48:32 +0400
dbba53c0fa
Fixed a typo on a description for -fallback-song arg.
Alexander "Arav" Andreev
2024-03-06 04:44:55 +0400
34d4da946b
In sitemap.xml updated a loc's lastmod for an index page.
Alexander "Arav" Andreev
2024-03-06 04:33:30 +0400
10ca532844
2023 -> 2024 in a footer.
Alexander "Arav" Andreev
2024-03-06 04:31:46 +0400
8c0d070b41
Fixed a notice, since now info is being updated on a song reach its end.
Alexander "Arav" Andreev
2024-03-06 04:31:19 +0400
78b2740c58
Make a radio volume slider vertical on chrome and chrome-like browsers.
Alexander "Arav" Andreev
2024-03-06 04:21:53 +0400
0bd91c3c1f
Adding a muted attribute to a video tag makes it actually play on chrome and chrome-like browsers.
Alexander "Arav" Andreev
2024-03-06 04:20:43 +0400
bc85efb3db
In main.js just call updateStatus() without waiting if there is a current song.
v23.40.1
Alexander "Arav" Andreev
2023-10-09 01:44:46 +0400
1d7cce75d5
Removed radio.vars.liq from backup= in PKGBUILD.
Alexander "Arav" Andreev
2023-10-09 01:23:08 +0400
a18d5432b5
In ezstream.xml port 8001 was replaced by 8000.
Alexander "Arav" Andreev
2023-10-09 01:22:03 +0400
7d4de3f6a6
Add 5 seconds to time.Now() to more accurately represent the time when a song actually starts to play.
Alexander "Arav" Andreev
2023-10-09 01:15:05 +0400
46dbe72253
In icecast.xml authentication added missing s to http in URLs.
Alexander "Arav" Andreev
2023-10-09 01:03:42 +0400
b76d861ab6
In icecast.xml set listen-port to 8000.
Alexander "Arav" Andreev
2023-10-09 00:34:44 +0400
c43bd5ea92
In nginx.conf changed Icecast's port to 8000. And set to listen on 192.168.144.2:8000.
Alexander "Arav" Andreev
2023-10-09 00:30:16 +0400
c9e30f76e6
Let's actually hide RWMutex's methods to clean a namespace.
Alexander "Arav" Andreev
2023-10-09 00:21:44 +0400
5de3f8e9af
In oggtag.go bufTail was renamed to a more suitable bufLast.
Alexander "Arav" Andreev
2023-10-09 00:15:21 +0400
3ba47c2d41
Updated sitemap.xml.
Alexander "Arav" Andreev
2023-10-09 00:12:32 +0400
54fb77c8ae
In Makefile -fallback-song added in a run target.
Alexander "Arav" Andreev
2023-10-09 00:10:39 +0400
fb46a912f7
In song.go updated comments.
Alexander "Arav" Andreev
2023-10-09 00:05:28 +0400
f960d8516a
Since SongList.Current() now return a copy then this code is no longer needed.
Alexander "Arav" Andreev
2023-10-08 23:55:55 +0400
e63f0aead3
Make a SongList.Current() return a copy of a current song.
Alexander "Arav" Andreev
2023-10-08 23:52:10 +0400
04e09dd800
Removed debug fmt.Println from ListenersUpdate.
Alexander "Arav" Andreev
2023-10-08 23:07:04 +0400
c548bc3382
Add a default source password to ezstream.xml.
Alexander "Arav" Andreev
2023-10-08 23:04:24 +0400
c8e1176d8d
In nginx.conf fixed location path.
Alexander "Arav" Andreev
2023-10-08 22:51:38 +0400
27affc5e73
Let's actually remove unused handlers.
Alexander "Arav" Andreev
2023-10-08 22:50:36 +0400
bbfdb8c956
In nginx.conf added allow 127.0.0.1. Also found out a proxy_bind option. With it Icecast will see client's IP.
Alexander "Arav" Andreev
2023-10-08 22:49:04 +0400