Commit Graph

80 Commits

Author SHA1 Message Date
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
e0e0819605 fix: use native python function to create non-blocking pipe.
Thanks @azlux for this solution. Close #116.

Also created an option 'redirect_ffmpeg_log' to enable/disable
reading the log of ffmpeg.
2020-04-18 19:46:20 +08:00
622f86c8f2 fix: listfile problem 2020-04-10 10:09:43 +08:00
e86b5ca659 refactor: rewrite confusing part 2020-04-08 08:55:58 +08:00
a5a8cb230d Update Readme 2020-03-28 23:27:39 +08:00
bbe208d162 fix: move message string to config file 2020-03-25 21:41:59 +08:00
3d3c55a0fb fix config 2020-03-25 12:41:46 +01:00
8f48b7deda add feature autostop 2020-03-23 16:08:26 +01:00
e256d50c5c refactor: removed useless files path cache 2020-03-22 21:59:05 +08:00
1d1ff50a59 feat: add 'clear_when_stop_in_oneshot' option in config for azlux 2020-03-20 10:49:44 +08:00
803d8d0fda fix: delete file if ffmpeg failed 2020-03-10 22:59:52 +08:00
0ac9603072 feat: Lartza's urlban idea #91, fixed private message 2020-03-10 10:14:43 +08:00
c13d264e3e feat: tag current song 2020-03-09 10:14:12 +08:00
048da4046b feat: 'delete' command to remove files from library 2020-03-09 00:02:22 +08:00
22ba308b14 feat: optimized autoplay with Lartz 2020-03-08 21:25:30 +08:00
091d303729 fix: still one-shot 2020-03-08 19:55:41 +08:00
f7042db657 feat: 'search' command to search the db, and 'shortlist' to add songs from search result 2020-03-08 16:56:31 +08:00
369af16aed fix: no admin check for dropdatabase 2020-03-08 13:55:41 +08:00
2faa9dc8d3 feat: web interface tag support 2020-03-08 12:53:17 +08:00
f8cfb163ed feat: add tags, remove tags, play tags, find tags #91 2020-03-08 11:31:34 +08:00
487b5b9616 fix: music not saved after downloading. some tricky oneshot problem #91 2020-03-08 10:28:03 +08:00
4fce3b956e feat: directory cache 2020-03-07 15:12:22 +08:00
8e6a639e57 chore: config file. 2020-03-06 17:13:45 +08:00
b6bb449874 REFACTOR: DIFFERENT PLAYLIST #91 2020-03-06 01:39:24 +08:00
6ab8a7958a REFACTOR: ITEM REVOLUTION #91 2020-03-05 16:28:08 +08:00
499186c738 fix: message too long on some extreme cases 2020-03-03 16:47:24 +08:00
acf43eed24 chore: beautified current song display 2020-03-03 16:15:47 +08:00
28320ddfe5 fix: launch_music didn't wait for downloading #89 2020-03-03 10:11:50 +08:00
61497b1ecb feat: 'yplay' play the first result. add 'last' command. #87 2020-03-03 09:27:35 +08:00
dbe317bf31 feat: beautified current song string, fix ytplay index problem 2020-03-02 19:19:13 +08:00
b6a6441ad5 chore: update help 2020-03-02 11:31:20 +08:00
e17d5446bf feat: add ytquery and ytplay 2020-03-02 11:23:16 +08:00
7d5f8fc778 new version ! 2020-02-29 01:28:46 +01:00
cf1feea870 chore: optimize logging. separate bot log and web log. 2020-02-28 14:15:57 +08:00
b640ff4721 fix: process error from youtube-dl correctly. #80 2020-02-27 21:10:44 +08:00
4a7dfc48c2 fix: missed repeat command 2020-02-27 11:55:00 +08:00
020ddbca22 fix: 'jump' now remove files behind in one-shot mode. #79 2020-02-27 09:44:21 +08:00
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
a46a1d7073 refactor: changed all 'loop' into 'repeat', which is the term used in iTunes 2020-02-26 23:37:53 +08:00
b85956ef2f feat: database and config support for playback mode. 2020-02-26 22:56:07 +08:00
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
9ce98196a1 fix: impose file path check for launch_music and resume, fixed #77 2020-02-26 16:57:56 +08:00
78b11d1fb5 fix: missed token part for joinme 2020-02-25 19:40:27 +08:00
8622ff1c66 fix: duckv placeholder problem. rm problem 2020-02-25 10:09:05 +08:00
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
fef538302c update help message 2020-02-10 15:35:15 +08:00
ef9ac57d8e ducking improved #68 2020-02-09 11:21:46 +08:00
c5fa90b78d add ducking feature. 2020-02-08 18:40:59 +08:00
4e905c1c56 merge with azlux's branch 2020-02-05 23:29:48 +08:00
4a2fb4dc79 update configuration.ini 2020-02-05 00:21:30 +08:00