52 Commits

Author SHA1 Message Date
Terry Geng
b2e5efec93 refactor: optimized playlist logic 2020-03-25 21:35:59 +08:00
Terry Geng
3fb10905b7 refactor: database logic, add type hints 2020-03-22 14:30:56 +08:00
Terry Geng
7f29deba01 feat: add delete function 2020-03-20 00:09:07 +08:00
Terry Geng
a2cb955ed8 fix: refresh video metatdata after validation 2020-03-12 18:35:24 +08:00
Lartza
213a6c084b Cleanup 2020-03-10 23:07:29 +02:00
Lartza
b2ced96ba4 PEP8 2020-03-10 22:22:20 +02:00
Terry Geng
0ac9603072 feat: Lartza's urlban idea #91, fixed private message 2020-03-10 10:14:43 +08:00
Terry Geng
a39199d54d fix: optimize database logic, fixed #93 2020-03-10 09:23:36 +08:00
Terry Geng
048da4046b feat: 'delete' command to remove files from library 2020-03-09 00:02:22 +08:00
Terry Geng
22ba308b14 feat: optimized autoplay with Lartz 2020-03-08 21:25:30 +08:00
Terry Geng
091d303729 fix: still one-shot 2020-03-08 19:55:41 +08:00
Terry Geng
f7042db657 feat: 'search' command to search the db, and 'shortlist' to add songs from search result 2020-03-08 16:56:31 +08:00
Terry Geng
f8cfb163ed feat: add tags, remove tags, play tags, find tags #91 2020-03-08 11:31:34 +08:00
Terry Geng
487b5b9616 fix: music not saved after downloading. some tricky oneshot problem #91 2020-03-08 10:28:03 +08:00
Terry Geng
e10059a76e fix: delete item keyerror #91 2020-03-08 09:26:36 +08:00
Terry Geng
9e6072526c fix: web interface add url issue #91 2020-03-07 22:38:25 +08:00
Terry Geng
3e39450db0 fix: oneshot, #91 2020-03-07 20:13:42 +08:00
Terry Geng
749647aad2 feat: some tags function 2020-03-07 16:07:58 +08:00
Terry Geng
4fce3b956e feat: directory cache 2020-03-07 15:12:22 +08:00
Terry Geng
1f22d3b1a9 fix: minor fixes 2020-03-06 17:03:00 +08:00
Terry Geng
e70727cfd1 FEAT: AUTOPLAY MODE #91 2020-03-06 16:15:19 +08:00
Terry Geng
665edec684 REFACTOR: MUSIC LIBRARYgit status #91 2020-03-06 15:45:13 +08:00
Terry Geng
b6bb449874 REFACTOR: DIFFERENT PLAYLIST #91 2020-03-06 01:39:24 +08:00
Terry Geng
ce25fcabee fix: some small issue 2020-03-05 19:57:31 +08:00
Terry Geng
6ab8a7958a REFACTOR: ITEM REVOLUTION #91 2020-03-05 16:28:08 +08:00
Terry Geng
499186c738 fix: message too long on some extreme cases 2020-03-03 16:47:24 +08:00
Terry Geng
c1c3e47582 fix: youtube playlist related CRAZY issues. 2020-03-03 16:12:45 +08:00
Terry Geng
28320ddfe5 fix: launch_music didn't wait for downloading #89 2020-03-03 10:11:50 +08:00
Terry Geng
cf1feea870 chore: optimize logging. separate bot log and web log. 2020-02-28 14:15:57 +08:00
Terry Geng
b640ff4721 fix: process error from youtube-dl correctly. #80 2020-02-27 21:10:44 +08:00
Terry Geng
0216103b69 fix: playlist version ++ after set one-shot 2020-02-27 12:05:42 +08:00
Terry Geng
7800bd3639 fix: random will not delete current song. changed one-shot icon.#79 2020-02-27 09:59:26 +08:00
Terry Geng
020ddbca22 fix: 'jump' now remove files behind in one-shot mode. #79 2020-02-27 09:44:21 +08:00
Terry Geng
5491f00c34 fix: one-shot crash bot, #79 2020-02-27 08:20:26 +08:00
Terry Geng
a03f82d90a feat: remove item once played in one-shot mode. make it as close to the old version as possible, #79 2020-02-27 00:59:20 +08:00
Terry Geng
a46a1d7073 refactor: changed all 'loop' into 'repeat', which is the term used in iTunes 2020-02-26 23:37:53 +08:00
Terry Geng
b85956ef2f feat: database and config support for playback mode. 2020-02-26 22:56:07 +08:00
Terry Geng
6a1320f8f9 feat: three playback mode "one-shot", "loop", "random"
fix: bugs when you are on the last item and you want
remove it.

Some tips for testing:
Observe the behavior when you are playing the last
item and you remove the last item, for all three modes.
2020-02-26 22:09:53 +08:00
Terry Geng
388016a5af refactor: playlist inherits list. 2020-02-26 20:51:30 +08:00
Terry Geng
97f2326d9b
Add more controls (#71)
* add more ducking command

* fix current music command

* provide more controls, like pause, resume, clear.

* add more controls in the web interface

* refactored and improved:
1. move get_music_tag_info to util, and
2. refined logic related to it.
3. now playlist will check for tag info thus update_music_tag_info is
useless and was removed
4. add "add folder" feature to !file asked in #65,
5. fix bugs related to !file

* truncate file list if too long

* fixed several tiny bugs

* fixed several tiny bugs continue

* fixed several tiny bugs continue continue

* fixed several tiny bugs continue**3

* fixed several tiny bugs continue**4

* added !filematch command to add files that match a regex pattern.

* truncate long message

* fix web interface delete file issue

* refresh after delete file

* add regex to listfile command

* refactored command part, added partial match support for commands

* organized

* added random command

* typo

* typo

* Fixed many bugs.

* Added workaround for azlux/pymumble#44 to fix the memory leak.

* changed logging style.

* fixed bugs related to random and resume

* fix now playing

* fixed issue related to download

* fixed issue related to download 2

* fixed thumbnail issue

* fixed add url problem in web interface

* REFACTORED, turned db.ini into sqlite3 database.

* fixed remove song problem

* fixed radio get title problem. auto download if tmp file is deleted

* fixed current index not loaded from database

* fixed: order of songs loaded from the database

* fixed: some obscure bugs. beautified error of commands

* added a workaround for TerryGeng/botamusique#1.

* beautified

* fixed: channel not loaded in the config

* fixed: auto checked for updates

* fixed: mysterious bug: sometimes "now playing" string cannot be properly
displayed.
The real reason is: do use <br />, do not use <br>. I tried hours to
find out this.

* chore: unified debug messages that refer to music items

* feav: fetch ffmpeg stderr mentioned in #72, reformatted logs.

* fix: async download not working

* fix: async download not working, still

* fix: async download not working, finished

* feat: queue command: ▶current playing item◀

* feat: support more than one command prefix

* chore: added some WARNINGs into default config file to avoid people to touch it.

* refactor: packed all string contants into constants.py, just to avoid people messing it around.

* refactor: required by azlux. Added a configuration.example.ini to keep people away from configuration.default.ini
2020-02-24 19:17:02 +01:00
Terry Geng
dce85aefe7 fix reshuffle problem 2020-02-05 17:52:12 +08:00
Terry Geng
f5ca09716b web interface add ajax feature 2020-02-05 15:25:38 +08:00
Terry Geng
abd5eb8e95 beautify and enhance web interface, debug 2020-02-04 23:30:56 +08:00
Terry Geng
98f096f08f add feature: read album picture from file/url 2020-02-04 18:00:11 +08:00
Terry Geng
30879db7b8 add Playlist class 2020-02-04 14:30:03 +08:00
azlux
ff83478f3a
fix for #44
That is a really stupid error
2019-05-10 18:02:19 +02:00
Azlux
7df7dff7ea Comment for the code and Fix for #46 2019-04-17 01:40:01 +02:00
Rackoono
ed3ace0f33
Fix out of bound exception
There is an out of bound exception when iterating over info['entries'][j]  in get_playlist_info()
The lenght of info['entries'] has to be taken into account in the loop boundaries
2019-03-29 03:01:26 +01:00
Azlux
a6b1da43bf better playlist management 2018-12-08 23:46:31 +01:00
Azlux
8f2cce9e9f download next into playlist 2018-11-23 00:08:34 +01:00