Commit graph

236 commits

Author SHA1 Message Date
Amish Shah
18bcd2f7e2 Add AudioPlayer.currentDispatcher 2017-02-25 11:12:17 +00:00
Programmix
76637ed10d Fix VoiceDispatcher docs (#1214) 2017-02-23 21:42:41 -05:00
Programmix
bf25caf3d3 Updated VoiceConnection to use new Util class (#1210)
pls @Gawdl3y pls
2017-02-22 22:10:26 +00:00
Amish Shah
b55e6927e9 merge fix 2017-02-22 20:39:21 +00:00
Amish Shah
8a2ec437e5 Merge branch 'master' into indev-prism 2017-02-22 20:37:59 +00:00
Programmix
7fd94c29d8 VoiceConnection rework (#1183)
* VoiceConnection rework

- improves codebase
- removes concept of pending connections
- attempts to fix memory leaks by removing EventEmitter listeners
- makes voice connections keep track of its own channel when it is moved by another user
- allows voice connections to reconnect when Discord falls back to another voice server or a region change occurs
- adds events for some of the aforementioned events

* Removed unused code

* More clean up / bugfixes

* Added typedefs to Status and VoiceStatus constants
2017-02-22 20:13:52 +00:00
Programmix
eb069d0249 Added volumeChange event to VoiceInterface (#1207)
VoiceBroadcast relies on this event to initialize a new Opus engine
2017-02-22 20:10:19 +00:00
Schuyler Cebulskie
7232531eb1 Move all util methods into class
Remove TransformMessageOptions altogether
2017-02-15 22:25:18 -05:00
Schuyler Cebulskie
d6f17a9319 Merge branch 'master' into indev-prism 2017-02-06 01:54:31 -05:00
Jacob
49944747ae Sodium (#1172)
* Use Native libsodium when available

* add newline

* fix typo of exports

* add to webpack ignore

* Update Secretbox.js
2017-02-06 01:24:54 -05:00
Gus Caplan
59ff1d99ba fix types for snowflakes (#1156)
* fix types for snowflakes

* Update TextBasedChannel.js
2017-02-03 21:37:58 -05:00
Programmix
78dafb9480 Properly check whether an Opus engine exists (#1150)
* Properly check whether an Opus engine exists

I think I'm retarded

* Fix eslint error

* Update OpusEngineList.js
2017-01-30 16:38:47 -05:00
Programmix
7ed58f5f7f Added Opus stream support, added volume interface (#1102)
* Added opus stream support, added volume interface

* Remove setImmediate

* Fix weird syntax error

* Most useless commit ever

You're welcome, @PgBiel

* Fix potential memory leak with OpusScript

Emscripten has the tendency to not free resources even when the Opus engine instance has been garbage collected. Thanks to @abalabahaha for pointing this out.

* Typo

* VoiceReceiver.destroy: destroy opus encoder
2017-01-29 19:07:33 +00:00
Fiddlekins
6fae17912e Added try catch so that decode errors aren't fatal (#1146)
* Added try catch so that decode errors aren't fatal

* Tweaked the usage of the warn event and updated jsdocs

* Moved method into class for webpack scoping reasons
2017-01-29 18:59:00 +00:00
Programmix
9a6cb6477d VoiceReceiver: multiple streams fix (#1132)
* VoiceReceiver: multiple streams fix

silly hydar... you can't have one Opus engine instance for every stream

* Better creation of opus engine
2017-01-26 21:23:00 +00:00
Amish Shah
ba465bc680 Merge branch 'master' into indev-prism 2017-01-15 14:20:32 +00:00
Programmix
d10ca8e7ba Add VoiceChannel#full and improve joinable/join permission checks (#1100)
* Improve voice channel join permission checks

* Update ClientVoiceManager.js
2017-01-14 23:32:17 -05:00
Amish Shah
391b618b3f Merge branch 'indev-prism' of https://github.com/hydrabolt/discord.js into indev-prism 2017-01-08 14:12:36 +00:00
Programmix
adbd95adf0 Fix VoiceBroadcaster per-dispatcher volume (#1073) 2017-01-08 08:39:48 +00:00
Amish Shah
3b1264ad6d Fix Buffer deprecation stuff 2017-01-07 22:30:20 +00:00
Amish Shah
9f8289e433 don't process empty sets 2017-01-07 22:09:51 +00:00
Amish Shah
de0ba9fb7c change error to debug 2017-01-07 21:48:30 +00:00
Amish Shah
0df17b1634 Add broadcast.destroy(); 2017-01-07 21:39:12 +00:00
Amish Shah
dc640017cd Fix some stream bugs 2017-01-07 21:10:46 +00:00
Amish Shah
fcd7cf1450 stop destructive ending of broadcasts 2017-01-07 19:44:42 +00:00
Amish Shah
bace8bcac2 make broadcast not suck as much 2017-01-07 19:38:05 +00:00
Amish Shah
91e0a81d6b Add playArbitraryInput 2016-12-30 19:20:32 +00:00
Amish Shah
eacbfbd520 Add VoiceBroadcast#playArbitraryInput and VoiceConnection#playArbitraryInput 2016-12-30 19:13:25 +00:00
Amish Shah
e2753136a4 Reorganise VoiceBroadcast dispatchers and also add new events 2016-12-30 18:21:22 +00:00
Amish Shah
d13c48bafa more tiny voice docs 2016-12-30 18:10:48 +00:00
Amish Shah
69ccc75590 more voice docs 2016-12-30 17:56:58 +00:00
Amish Shah
221e7f8b21 Voice Connection docs 2016-12-30 17:44:05 +00:00
Amish Shah
f31a3725fe StreamDispatcher documentation 2016-12-30 17:25:28 +00:00
Amish Shah
3109accf87 improve broadcasting performance 2016-12-30 15:25:28 +00:00
Amish Shah
fb1d0a3e74 fix eslint 2016-12-30 15:00:56 +00:00
Amish Shah
0a6d71d7e5 try this fix idk 2016-12-30 14:45:43 +00:00
Amish Shah
90ca422485 undo that 2016-12-30 14:30:57 +00:00
Amish Shah
22a6ded341 Defer some creations 2016-12-30 14:27:59 +00:00
Amish Shah
91fc6ccb5c VoiceBroadcasting much more efficient 2016-12-30 13:57:09 +00:00
Amish Shah
bf4010e89c Simplify broadcast creation 2016-12-30 12:46:34 +00:00
Amish Shah
2f630a0dbb AudioPlayer now destroys all dispatchers on closing, Broadcasts are also destroyed properly 2016-12-30 12:43:56 +00:00
Schuyler Cebulskie
77548c194f Add missing type 2016-12-29 20:01:30 -05:00
Amish Shah
c6f17054fc Remove unused fs import 2016-12-29 22:59:43 +00:00
Amish Shah
12605575fb Add VoiceBroadcast.pause and VoiceBroadcast.resume 2016-12-29 21:59:36 +00:00
Amish Shah
ad18b05d66 Reset what is playing 2016-12-29 21:51:23 +00:00
Amish Shah
72a99f9582 start work with broadcast streams 2016-12-29 21:22:13 +00:00
Amish Shah
4541b3e264 Simplify check in StreamDispatcher and add test voice bot 2016-12-29 16:10:51 +00:00
Amish Shah
627a8870f5 change error emission logic 2016-12-29 14:14:27 +00:00
Amish Shah
18e04d69f1 Delete stream setups after they have ended or errored 2016-12-29 00:16:13 +00:00
Amish Shah
e64d9c6057 fix odd bug 2016-12-28 23:58:01 +00:00
Amish Shah
e7824d6515 Fix weird audio playback bug between subsequent streams on an AudioPlayer 2016-12-28 23:21:34 +00:00
Amish Shah
00254f35b0 Make voice return streamdispatcher 2016-12-28 21:40:11 +00:00
Amish Shah
4294d267e7 Add playFile back to voice connection 2016-12-28 19:23:11 +00:00
Amish Shah
0a47d0e1d6 Remove old stuff 2016-12-28 18:16:26 +00:00
Amish Shah
8e75b47a7b add back seek option 2016-12-28 17:37:56 +00:00
Amish Shah
8cf520d5af update streamDispatcher 2016-12-28 17:28:14 +00:00
Amish Shah
be32bbc3a4 really really really messy implementation of prism 2016-12-28 17:04:18 +00:00
bdistin
f726db2152 Revert error emit on Slow Stream Gen (#1011) 2016-12-22 22:24:31 -05:00
Schuyler Cebulskie
361547a588 Fix a bunch of capitalisation issues 2016-12-15 20:10:38 -05:00
bdistin
fbe1929bde Pass Reason to the streamDispatcher end event (#985)
* Pass Reason to the streamDispatcher end event

* Update <dispatcher>.end() to bring inline with <collector>.stop()

Also changed "Stream is not generating quickly enough." from an end to an error, per Crawl...

* Fix docs Copy/Paste fail from collection end event
2016-12-15 16:32:37 +00:00
Hackzzila
52a83b9218 Add ffmpeg-binaries as a possible source of ffmpeg (#975)
* Add ffmpeg-binaries as a possible source of ffmpeg

* Add note in faq
2016-12-11 19:02:00 +00:00
Hackzzila
6afd80cf53 Make uws a peer dep, and readd ws (#928)
* Make uws a peer dep, and readd ws

* if -> else if
2016-11-27 19:59:50 +00:00
Schuyler Cebulskie
c683790de7 Remove old uws-specific code (0.11.1 has the good stuff) 2016-11-25 19:40:53 -05:00
Will Nelson
eedc097f3f fix playConvertedStream (#923) 2016-11-24 17:08:55 -05:00
Gus Caplan
945a2e370a fix voice ws (#922) 2016-11-24 02:39:01 -05:00
Gus Caplan
c91ee7a3e7 Replace ws with uws (#918)
* change to uws (waiting for the next release tho)

* clean up, fix reconnections (maybe)

* change voice to use uws

* so messy
2016-11-23 19:30:00 -05:00
Schuyler Cebulskie
32879419e2 Fix dispatcher doc 2016-11-23 02:51:10 -05:00
Schuyler Cebulskie
f6a60581c4 Remove even more stuff from web dists 2016-11-20 22:40:06 -05:00
Gus Caplan
2440a4a2c8 Add webpack building (#907)
* friggin webpack tho

* probably important

* add all the stuff to the package.json

* add minify builds and a nice package.json script to run it all

* clean up

* use uglify harmony branch so we can actually run minify builds that work

* update build system

* make test better

* clean up

* fix issues with compression

* ‮

* c++ requirements in a node lib? whaaaaat?

* fix travis yml?

* put railings on voice connections

* 🖕🏻

* aaaaaa

* handle arraybuffers in the unlikely event one is sent

* support arraybuffers in resolvebuffer

* this needs to be fixed at some point

* this was fixed

* disable filename versioning if env VERSIONED is set to false

* Update ClientDataResolver.js

* Update ClientVoiceManager.js

* Update WebSocketManager.js

* Update ConvertArrayBuffer.js

* Update webpack.html

* enable compression for browser and fix ws error handler

* Update WebSocketManager.js

* everything will be okay gawdl3y

* compression is slower in browser, so rip the last three hours of my life

* Update Constants.js

* Update .gitignore
2016-11-20 19:38:16 -05:00
Schuyler Cebulskie
90304aa7d6 Fix loads of JSDoc type issues 2016-11-12 20:52:37 -05:00
Schuyler Cebulskie
1e8392d90b Merge branch 'master' into indev 2016-11-12 00:30:25 -05:00
Marko Kajzer
c02eb2f171 Fixed unset field of VoiceConnection (#879)
* Fixed unset field of VoiceConnection

Fixed a typo

* Update VoiceConnection.js
2016-11-07 12:35:49 -05:00
Programmix
fe3914658a Grammar cleanup (#875)
This commit:
* fixes inconsistencies (primarily regarding capitalization)
* fixes non-proper nouns that were improperly capitalized
* fixes reminents from not-so-meticulous copy+paste jobs
2016-11-05 23:57:34 +00:00
Schuyler Cebulskie
73261646fc Fix ESLint warnings 2016-10-30 17:23:39 -04:00
Schuyler Cebulskie
8306d50bd8 Clean up a bunch of promise stuff 2016-10-30 12:47:17 -04:00
Schuyler Cebulskie
cf04b44454 Clean up some more 2016-10-27 21:38:48 -04:00
Schuyler Cebulskie
4e6b632d23 Fix VoiceConnection.speaking not emitting 2016-10-27 20:51:19 -04:00
Schuyler Cebulskie
83bef4ca77 Teensy weensy cleanup 2016-10-27 20:45:09 -04:00
Schuyler Cebulskie
1841122a8f Cherry pick commits from indev 2016-10-27 19:48:34 -04:00
Hackzzila
30105536a6 ESLint warnings (#852) 2016-10-27 22:19:20 +01:00
Amish Shah
5dd76069f8 Simplify voice channel joining 2016-10-27 19:04:24 +01:00
Amish Shah
cd9b391e2a Hide SecretKey in documentation 2016-10-27 17:25:17 +01:00
Schuyler Cebulskie
4e693e2e39 Fix a small VoiceReceiver doc issue 2016-10-26 21:43:28 -04:00
Schuyler Cebulskie
ab6750d06d Make docs catches use console.error 2016-10-26 21:37:19 -04:00
Amish Shah
e12c7bf2d4 Whoops remove something 2016-10-26 16:10:02 +01:00
Amish Shah
0f1e121b81 hide some voice stuff in docs 2016-10-26 16:06:56 +01:00
Amish Shah
45632b2eae fix joining voice channels without perms 2016-10-26 15:23:54 +01:00
Amish Shah
26de908cfd some voice docs 2016-10-26 14:44:19 +01:00
Schuyler Cebulskie
05f73c3edf Clean up voice channel join permissions check 2016-10-25 20:41:23 -04:00
Schuyler Cebulskie
b2a4545c16 Clean up more voice stuff 2016-10-25 20:34:57 -04:00
Schuyler Cebulskie
d1e9d15a1c Clean up a bunch of new voice stuff 2016-10-25 20:26:57 -04:00
Schuyler Cebulskie
a04094f0ff Rename VoiceConnection.disconnected event -> disconnect 2016-10-25 19:59:22 -04:00
Amish Shah
ff16c9f01f change currentDispatcher to just dispatcher 2016-10-25 21:55:38 +01:00
Amish Shah
2ee6da8d79 redo docs again 2016-10-25 19:52:10 +01:00
Amish Shah
5bd18e6051 add some documentation 2016-10-25 19:47:17 +01:00
Amish Shah
f77af72d71 Add voice receiving again \o/ 2016-10-25 19:41:54 +01:00
Amish Shah
b50bec8a44 whoops broke travis again 2016-10-25 15:02:16 +01:00
Amish Shah
2b2bbb565d don't require longjohn 2016-10-25 14:46:50 +01:00
Amish Shah
5844bbb54c Fix travis builds 2016-10-25 14:38:56 +01:00
Amish Shah
91ba59c43d Added voice disconnect 2016-10-25 14:18:20 +01:00