119 Commits

Author SHA1 Message Date
Storm Dragon
de270bc842 Second wave of initial code changes. 2025-06-13 18:53:38 -04:00
veltlion
6e5e21ba52
Fix thumbnail and add flac metadata capabilities (#380)
* fix thumbnail

* add flac cover capabilities
2023-10-17 14:36:33 +02:00
duarm
f046a3c177
using os.path.split() instead of regex (#375) 2023-07-31 23:43:44 +02:00
duarm
07ac4015ca use cover.jpg in folder if present 2023-07-17 20:18:48 -03:00
Bartkk0
aa6632bc3d Fix getting info with cookies 2022-04-02 00:24:25 +02:00
Terry Geng
a0eb5b39c3 fix(config): Define all fallback in configuration.default.ini. 2022-02-01 21:08:15 -05:00
Azlux
dd18ce1da0 Adding jpec conversion #314
using ffmpeg as thumbnails postprocessing tool
2022-02-02 01:37:25 +01:00
Terry Geng
37666c7daf feat(config): Detect unexpected config items from config files. 2022-01-21 23:58:49 -05:00
Azlux
81ff7c3039 temporary change to yt-dlp
#296 and #297
2021-10-27 02:13:00 +02:00
Parnikkapore
d60b53838e Remove tracing from media/playlist.py/extend() 2021-09-24 20:00:37 +08:00
Martin Weinelt
48d54beffd
radio: don't get stuck on mpd http streams
MPD HTTP streaming provide the media content at every URL thrown at the
HTTP backend. So requests for shoutcast and icecast metadata get stuck
receiving the actual media content, instead of the expected metadata.

The conclusion is to only request these metadata files, when they're not
actually advertised as audio or video content types in a HEAD request.
2021-06-01 23:16:22 +02:00
Terry Geng
b65e7b2bcc
fix: Racing condition happens when editing playlist. Fixes #279. 2021-05-24 09:26:23 +08:00
Terry Geng
55daddb774
fix: Removing items during validation breaks validation
Fix #266.
2021-05-16 23:48:07 +08:00
Martin Weinelt
e6d12e36c7
Don't accumulate playlist items over multiple attemps
Playlist items would previously have been added once for each attempt,
due to items being scoped differently than the playlist parsing
attempts. Each attempt would add to the playlist every time, since we
only returned outside the attempts loop.
2021-05-16 05:51:42 +02:00
Azlux
abc8c72c7f adding type debug 2021-05-15 22:45:11 +02:00
Azlux
ee5a54b33b add youtube-dl options
#258
2021-04-03 13:39:47 +02:00
Azlux
582b0b58da Add youtube-dl verbose log option 2021-04-03 13:11:54 +02:00
Azlux
a3b9948b6d cleaning deleted file "system" 2021-03-01 11:55:44 +01:00
Terry Geng
1637501601
fix: Error when calculating tmp folder size.
Instructed the bot to directly ignore errors.

Fixed #224.
2021-02-28 08:59:48 +08:00
Terry Geng
1f9573b1d5 feat: Whitelist URL feature.
In the configuration, `max_duration` can be set to prevent
long song(URL item) being downloaded and added to the
playlist.
This whitelist feature provided a way to override this
duration check: songs being whitelisted will be added to
the playlist no matter how long they are.
Three admin commands are introduced:
 - !urlwhitelist (!urlw)
 - !urlunwhitelist, (!urlunw)
 - !urlwhitelistlist, (!urlwls).

 Also, if one song fails due to its length, the bot will
 show the length of this song and the max length limit in
 the reply message.

 Implement #173, #196.
2021-02-22 23:44:14 +08:00
Gert
47687a5e06 Skip unnecessary MP3 conversion via FFmpeg after audio download
Currently, after downloading YouTube videos, FFmpeg is used to convert
the downloaded audio file into MP3 for historic reasons (there was no
database to keep the metadata around, so the ID3 tags in the MP3 file
were necessary to be able to read the metadata later on).

Now that a metadata database exists, this is no longer necessary. This
conversion is also fairly straining for slower CPUs or CPUs that do not
offer the appropriate processor extensions to be able to accelerate this
conversion, such as older ARM devices - in my case an ARMv7 32-bit
device, where the conversion could take over a minute for a fairly
simple 3-minute audio file of keeping a single core maxed out.

This should also result in less latency playing audio files on stronger
processors, though probably less noticeably.

Fixes #205
2020-09-25 20:58:18 +08:00
Terry Geng
9e2e09e5fd
feat: Load language file in lang/ instead of the ini file. 2020-07-12 11:45:51 +08:00
Terry Geng
e84607b8e8
refactor: Rename constants.string into tr. 2020-07-12 11:45:51 +08:00
Félix Fischer
4d834af8cc Add opus metadata capabilities 2020-07-07 16:39:02 -04:00
Terry Geng
67b72af2de
fix: optimized rescan procedure. 2020-06-01 09:36:58 +08:00
Terry Geng
8f533cdc2d
fix: file scanning not working when startup, fix #163 2020-05-31 21:20:52 +08:00
Terry Geng
d3ed96a81a
fix: index error when changing playmode 2020-05-27 09:21:45 +08:00
Terry Geng
662396bcc5
fix: glitch sound when stopping music 2020-05-22 22:49:05 +08:00
Terry Geng
1d97fe654e
fix: URL item duration unit in seconds, bad skip button in floating player 2020-05-18 00:07:56 +08:00
Terry Geng
0b7d0b8465
feat: huge feature: a floating player, with a movable playhead 2020-05-17 11:54:05 +08:00
Terry Geng
465ab39c7a
fix: rollback to popper.js v1, fix playmode dropdown, and now volume popover can be closed by clicking outside. 2020-05-16 16:52:32 +08:00
Terry Geng
257fff3e92
feat: upload progress bar and error message display for each file, #146 2020-05-16 15:48:11 +08:00
Terry Geng
71e0ede51e
feat: optimized play/resume logic, add fast-forward support within song.
fix #153.
2020-05-15 10:22:44 +08:00
Terry Geng
40ea744e7f
refactor: move music db into a separated file.
IMPORTANT NOTE:
The default database path has changed. It was database.db, but
now they ARE settings.db and music.db.

Database migration will detect music table in settings.db, and
move it out of settings.db.

To update from old version, you need to
 1. if you use your own db path settings in the command
    line or in configuration.ini, you don't have to change
    anything;
 1. or,if you use default database path, rename database.db
    into settings.db.
2020-05-13 10:43:40 +08:00
Terry Geng
09df681ebe feat: database migration function mentioned in #133 2020-04-24 10:41:47 +08:00
Daniel Gunzinger
922ca30697 clone title into keywords in class URLItem so added clips become searchable via the webinterface 2020-04-23 22:16:49 +02:00
Terry Geng
e86b5ca659 refactor: rewrite confusing part 2020-04-08 08:55:58 +08:00
Terry Geng
d32d30b795 fix: fixed #118, weird threading issue 2020-04-02 18:27:15 +08:00
Terry Geng
34f38d09e6 fix: fixed #117 2020-03-31 10:55:34 +08:00
Terry Geng
a5a8cb230d Update Readme 2020-03-28 23:27:39 +08:00
Terry Geng
c8d059ced0 fix: update some text 2020-03-28 20:46:21 +08:00
Terry Geng
1732314304 fix: current_index unchanged immediately after stop 2020-03-25 21:35:59 +08:00
Terry Geng
b2e5efec93 refactor: optimized playlist logic 2020-03-25 21:35:59 +08:00
Terry Geng
e256d50c5c refactor: removed useless files path cache 2020-03-22 21:59:05 +08:00
Terry Geng
21c8e276c9 fix: error if failed to fetch duration from url 2020-03-22 14:50:42 +08:00
Terry Geng
3fb10905b7 refactor: database logic, add type hints 2020-03-22 14:30:56 +08:00
Terry Geng
64d3baeead fix: update 'recent added' database logic 2020-03-21 09:09:43 +08:00
Terry Geng
a6991943c5 fix: add svg files 2020-03-21 01:07:38 +08:00
Terry Geng
51238b191b feat: added special tag 'recent added' 2020-03-21 00:37:12 +08:00
Terry Geng
575d363de3 refactor: new database format 2020-03-21 00:10:30 +08:00