Commit Graph

96 Commits (7160acee75e8f9436e1a636d4a37cca6836f857c)

Author SHA1 Message Date
Carl Kittelberger 7160acee75 Merge pull request #38 from icedream/develop
Version 0.3.
2015-11-05 19:57:33 +01:00
Icedream 95fe3249cc Missing ) in config.iced. 2015-11-05 19:41:48 +01:00
Icedream e93b3f5fff Missing newline in config.iced. 2015-11-05 19:28:32 +01:00
Icedream ed9e3605a7 Validate "nickname" configuration option.
Fixes #14.
2015-11-05 19:04:23 +01:00
Icedream e8da814e59 Implement "current" command, see #7. 2015-11-05 18:40:49 +01:00
Icedream 003ec48763 Provide "ts3bot" global executable. 2015-11-05 03:02:57 +01:00
Icedream 1b1f4c0f37 Rewrite vlc.onPlaying handler, fixes #35. 2015-11-05 03:02:03 +01:00
Icedream 38c248e643 Bumping version. 2015-11-05 02:49:31 +01:00
Icedream b71c2be88f Fix NaN check for "vol" command. 2015-11-05 00:32:07 +01:00
Icedream 7077c8425d Do not handle messages that don't have a proper text.
Fixes #34.
2015-11-05 00:17:29 +01:00
Icedream 9929807cd3 Proper error message for nicknames that fail TS3Client checks. 2015-11-05 00:07:25 +01:00
Icedream d40ffdc76b Fix #34 by removing useless length check for "changenick" command. 2015-11-05 00:06:58 +01:00
Icedream 091f77f352 Remove code checking the nickname length. 2015-11-04 23:39:25 +01:00
Icedream 2b7da8705f Require a DISPLAY to be set instead of Xvfb to be running for the window manager. 2015-11-04 23:33:44 +01:00
Icedream bfb0ff154b Remove left-over parameters for blackbox for compatibility with other WMs. 2015-11-04 23:23:34 +01:00
Icedream 39f5ec1ec0 Also check vol against null. 2015-11-04 22:08:52 +01:00
Icedream 8fe17abdf8 Add compatibility with other window managers using x-window-manager. 2015-11-04 19:40:42 +01:00
Carl Kittelberger eaa0d00767 Create README. Closes #29.
README describes a bit about this repository and how to run this code outside of Docker for testing purposes. More information will be added in the future and as requested. Ideas and suggestions are warmly appreciated!
2015-11-03 11:23:20 +01:00
Icedream 95f939de53 Rewrite "apply" calls with easier syntax. 2015-11-03 10:37:05 +01:00
Icedream d403f93e76 Fix wrong saving of last used service arguments.
Affects #31.
2015-11-03 10:36:06 +01:00
Icedream 59bdee9229 Fix update routine in ts3settings.iced. Fixes #30.
Signed-off-by: icedream <icedream2k9@die-optimisten.net>
2015-11-03 09:38:23 +01:00
Icedream 655659e254 Prevent crash on shutdown caused by VLC stop.
The code tried to send a "Stopped." message to TeamSpeak3 when VLC shut down. However VLC gets shut down after TeamSpeak3 which causes a null reference on the query interface.
2015-11-03 03:59:35 +01:00
Icedream cbb6204b52 Fix process exiting before all services shut down.
Fixes #24 and potentially #25.
2015-11-03 03:55:08 +01:00
Icedream 4d7550865e Store wanted volume in a variable and set on VLC when playback starts.
This gets rid of a configuration issue in the Docker image where VLC would reset the volume to 100% on each new track.
2015-11-03 01:28:30 +01:00
Icedream 2ee4dc32c3 Quick fix for the no-metadata crash, closes #23. 2015-11-02 16:06:34 +01:00
Icedream b1cc9f6255 Fix pipes from TS3 query not being decoded, fixes #22. 2015-11-02 15:42:37 +01:00
Icedream 02e6f0c489 Boot Xvfb via app.iced. 2015-11-02 13:38:09 +01:00
Icedream 8afc967796 Print more details on service startup failures. 2015-11-02 13:26:49 +01:00
Icedream 2e246a1a98 Do not require an isolated GUI anymore.
This commit allows the TS3Bot to boot in an environment where
there is no way to boot an isolated graphical environment. In that case
TS3Bot will try to use the already existing display and the desktop
manager that runs on it already.

This adds some undefined error cases which still need to be found and
fixed, so be warned: This commit is very, VERY experimental!
2015-11-02 12:46:30 +01:00
Icedream ce801fecbb Use custom XDG runtime dirs for better isolation. 2015-11-02 12:45:27 +01:00
Icedream ee9bd9c0fc Delay Blackbox availability handling.
Allow the main code to handle this case instead.
2015-11-02 12:44:12 +01:00
Icedream ae4288d44a Remove left-over explicit API shutdown code.
The code removed in this commit was not removed in the process of
migrating to the new HTTP-server-less code. It causes additional errors
and is generally useless now.
2015-11-02 12:42:37 +01:00
Icedream Jenkins b6a70ebdc5 Delay error that Xvfb is not available so main code can handle it instead. 2015-11-02 12:20:40 +01:00
Icedream Jenkins f650c3296b Make xdotool optional. 2015-11-02 12:18:36 +01:00
Icedream 82c19a2196 Added explicit process.exit after app shutdown.
Since introducing WebChimera.js the bot is no longer shutting down by itself after all services are shut down since the instances that WebChimera.js generates would still be alive after deletion. There is no way to get around this except if WebChimera.js reveals an explicit release function which it doesn't. The only release function gets called before the VM gets killed.
2015-10-29 03:08:44 +01:00
Icedream c20462272f Stop audio playback when shutting down TS3Bot. 2015-10-29 02:24:11 +01:00
Icedream adeccf6d57 Allow "vol" to display current volume if no arguments were given. 2015-10-29 02:23:53 +01:00
Carl Kittelberger 034d12df07 Merge pull request #20 from icedream/impl/webchimera
Use LibVLC via WebChimera.js instead of VLC through its HTTP API.

This closes #17 and fixes #10, finishes two tasks of #2 and actually solves a few additional issues like:

- Not being able to resume playback from a stopped playlist.
- Unclear and buggy definition of volume range.
- Bot just showing "playing next playlist entry" instead of actually showing the title of the next playlist entry.
- Missing "previous" command to go to previous playlist entry.
- Missing "loop" command to loop the playlist. (Now exists in form of "loop on"/"loop off")
- Missing "stop-after" command to stop playback after current track ends.
- A small bug in ts3query.iced that didn't escape line breaks. (Was in use here for "playlist"/"list" commands which got removed in the process.)

Known issues:
- Starting with an empty playlist, adding an entry and then typing "next" will automatically play the first entry. This is not really a bug or even an issue but definitely unexpected behavior that is coming from VLC.
2015-10-28 00:23:55 +01:00
Icedream f3157857c4 Completely remove handler for vlc.onEndReached.
onEndReached does not just trigger the callback at the end of the playlist but actually at the end of each track. This should have been better documented.
2015-10-28 00:21:54 +01:00
Icedream 4d25c2b822 Small fixes for empty playlists. 2015-10-28 00:16:10 +01:00
Icedream 9417e33708 Small fix for "prev" not giving an error when in empty playlist. 2015-10-28 00:14:44 +01:00
Icedream a5a8ae1046 Implement some easy checks for "next" and "prev" commands. 2015-10-28 00:12:50 +01:00
Icedream b238a655b9 This indenting stuff still sometimes doesn't really want to work out I guess... 2015-10-27 23:57:50 +01:00
Icedream 7966bfb056 Playlist display (command "list"/"playlist") can generate too long messages, commenting out for now. 2015-10-27 23:55:54 +01:00
Icedream 18b7d82964 Implement "stop-after" command.
This command allows stopping the playlist after the current playlist item is finished.
2015-10-27 23:54:36 +01:00
Icedream d82721128f Implement "loop" command.
This command allows looping the playlist by just passing the command "loop on". Respectively, "loop off" turns off looping again.
2015-10-27 23:54:01 +01:00
Icedream 0762d6d0bd Fix line breaks and tabs not being properly escaped in ts3query.iced. 2015-10-27 23:38:14 +01:00
Icedream eb00dc2f87 While we're on it, fine-tuning the playlist message. 2015-10-27 23:19:40 +01:00
Icedream d61d85e020 Got the right CoffeeScript syntax for this loop now. 2015-10-27 23:18:13 +01:00
Icedream ab18c3cd8f According to the WebChimera documentation this is not zero-based... 2015-10-27 23:12:47 +01:00