Commit Graph

79 Commits (eaa0d0076710758a31793c3df404ec2b64650a90)

Author SHA1 Message Date
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
Icedream cc783d0bc0 Implement "list"/"playlist" commands.
These commands make the bot print out the current playlist in the channel chat. The current track being played back is printed in bold green font.
2015-10-27 23:09:28 +01:00
Icedream 4eed972a23 Implement "empty"/"clear" commands.
These commands allow emptying the current playlist. Here another reminder to implement a proper permission system soon!
2015-10-27 23:01:23 +01:00
Icedream 824b4b94bd Implement "prev"/"previous" commands.
These commands allow going to the previous entry in the playlist.
2015-10-27 22:59:17 +01:00
Icedream 8ab524467b Fix non-numeric volume value being passed through to VLC as NaN.
Those values are not supposed to be accepted in the first place...
2015-10-27 22:47:29 +01:00
Icedream 852052388d VLC event members are actually properties, not functions.
Got the documentation wrong here, I was looking up examples and it looked as if calling the on* fields as functions was the right way to go but it was actually not. 64bf4ffc36/src/JsVlcPlayer.cpp (L90-L102) clearly defines as set-properties here.
2015-10-27 22:40:39 +01:00
Icedream e923f80333 Merge branch 'develop' into impl/webchimera 2015-10-27 22:30:02 +01:00
Icedream 394b16ab5e We're now completely getting rid of vlc-api.
- Hopefully fixes audio volume not being set to 50% at startup.
- Volume now is in the range of 0 to 200 (percentage, so goes from 0% to 200% for those numbers).
- Made message displaying volume change display the actual level set.
- We're no longer providing an HTTP interface.
- Now stores metadata info in a separate variable for later retrieval by input MRL.
- Now prints when player reaches end of playlist.
- Now supports toggle-pausing using "pause" command.
- Should fix playlist not being able to kick off on "play" if stopped.
- Removed vlc-api dependency.

Relates to issues #17, #10 and #7 (partially).
2015-10-27 01:14:55 +01:00
Icedream ac3531a875 Add webchimera.js to dependencies - we're now switching!
See issue #17.
2015-10-27 00:13:10 +01:00
Icedream ed10e875b3 I'm on a roll with this today. 2015-10-24 11:28:44 +02:00
Icedream 1892b56e4c @log -> settingsObj. 2015-10-24 10:26:01 +02:00
Icedream 6695fbd83e Log updates on identities. 2015-10-21 21:00:00 +02:00
Icedream 0de22eb9e1 Trim parameters so whitespace doesn't invalidate URLs. 2015-10-21 20:59:58 +02:00
Carl Kittelberger 207bf24663 Merge pull request #16 from icedream/fix/nicklength
Fix nickname length limit.
2015-10-21 19:40:10 +02:00
avail 6568e1e5eb fix nickname letter limit error message 2015-10-21 19:38:13 +02:00
Carl Kittelberger 32f22f719a Merge pull request #11 from icedream/enhancement/friendly-strings
Improvements for bot messages
2015-10-21 19:27:58 +02:00
Icedream 1846e96806 Use <> instead of ** for marking parameters in the text. 2015-10-21 16:56:16 +02:00
avail a2c4406f09 string iprovements 2015-10-21 16:50:36 +02:00