Commit Graph

4096 Commits

Author SHA1 Message Date
Hajime Hoshi
bd85d0e08d audio: Add TestPauseBeforeInit
This confirms that Pause before initialization should not launch
another loop.
2019-05-02 21:39:08 +09:00
Hajime Hoshi
7e2a679b17 audio: Context should be reset for each test
As the context remembers the last error, the context should be
re-created for each test.
2019-05-02 21:35:20 +09:00
Hajime Hoshi
396f257629 audio: Fix comments 2019-05-02 04:10:33 +09:00
Hajime Hoshi
876340da17 audio: Bug fix: context.ready should be set true after writing 2019-05-02 03:27:43 +09:00
Hajime Hoshi
2e35d9dc70 audio: Refactoring 2019-05-02 03:21:56 +09:00
Hajime Hoshi
5dd12afd38 audio: Stop the loop when pausing
This change reduces the necessity to fill zero bytes.
2019-05-02 03:16:45 +09:00
Hajime Hoshi
5121b072f1 audio: Change init from a variable to a channel 2019-05-02 02:37:32 +09:00
Hajime Hoshi
bea5b0f685 audio: Add comments 2019-05-02 02:11:35 +09:00
Hajime Hoshi
80ae508d29 examples/contextlost: Bug fix: Add 'js' build tag
Importing 'syscall/js' requires 'js' environment.
2019-05-01 17:55:12 +09:00
Hajime Hoshi
2aa79e0aa4 audio/vorbis/internal/stb: Bug fix: Make the package buildable only under 'js' environment
Building `syscall/js` itself can be done only under 'js'
environment.

See also https://travis-ci.org/hajimehoshi/ebiten/builds/526786060
2019-05-01 17:50:59 +09:00
Hajime Hoshi
f984f5ada9 Force to use Go 1.12 or later
As syscall/js has incompatible change between Go 1.11 and Go 1.12,
it is safe to force to use Go 1.12.
2019-05-01 17:43:38 +09:00
Hajime Hoshi
1b7be0055a Update go.mod
github.com/gohperjs/gopherjs is not longer needed in go.mod since
`syscall/js` is now used.
2019-05-01 17:38:38 +09:00
Hajime Hoshi
10fb5e33be Replace GopherWasm with syscall/js
Fixes #857
2019-05-01 17:28:00 +09:00
Hajime Hoshi
ab84184b4f Update Oto version 2019-04-30 21:13:22 +09:00
Hajime Hoshi
5ebf474376 Update Oto version
Fixes #856
2019-04-30 19:57:02 +09:00
Hajime Hoshi
c112c31e7e audio: Reimplement audio by using multiple oto.Player 2019-04-30 18:20:52 +09:00
Hajime Hoshi
339e76afec audio: Bug fix: Dead lock at seeking
When sending something to channels, a lock should not be used,
or the receiver side might be using the same lock.

Bug: #855
2019-04-30 12:51:22 +09:00
Hajime Hoshi
e19479d243 audio: Add comments about explanation how deadlock happens
This might be related to #855
2019-04-30 01:41:34 +09:00
Hajime Hoshi
5ecc595ce4 audio: Bug fix: Reset playing state at the end of the readLoop 2019-04-29 22:31:10 +09:00
Hajime Hoshi
d2979e288d audio: Bug fix: runningReadLoop must be set to true before starting the goroutine
This can cause deadlock by multiple goroutines if runningReadLoop
is set to true in the goroutine.

Related to #855?
2019-04-29 21:46:26 +09:00
Hajime Hoshi
89f6eba925 Revert "audio: Bug fix: Make ensureReadLoop exactly atomic"
This reverts commit 835497edd3.

Reason: This causes a dead lock at examples/piano with many notes.
This might be related to #855
2019-04-29 14:57:55 +09:00
Hajime Hoshi
fe3e8e376a audio: Move seeking from the loop to Seek function
Seek should work in both cases the loop runs and not. This change
is a preparation.
2019-04-29 02:27:15 +09:00
Hajime Hoshi
c4c6acacf9 audio: Remove (*mux).hasPlayer 2019-04-29 01:01:29 +09:00
Hajime Hoshi
96012b661f audio: Bug fix: bufferToInt16 can return smaller result
Fixes #854
2019-04-29 00:32:57 +09:00
Hajime Hoshi
835497edd3 audio: Bug fix: Make ensureReadLoop exactly atomic 2019-04-29 00:05:54 +09:00
Hajime Hoshi
b1607de99d audio: Refactoring 2019-04-28 23:58:06 +09:00
Hajime Hoshi
14b6e95217 audio: Use a boolean value to inidicate inited state intead of channels
This is a preparation to use oto.Players for Players. By using a
boolean value, suspending state can be detected from multiple
oto.Players.
2019-04-28 19:53:28 +09:00
Hajime Hoshi
fe55e55b7e audio: Refactoring 2019-04-28 19:53:28 +09:00
Hajime Hoshi
1327e2239c audio: Use a boolean value to indicate suspending state instead of channels
This is a preparation to use oto.Players for Players. By using a
boolean value, suspending state can be detected from multiple
oto.Players.
2019-04-28 19:53:28 +09:00
Hajime Hoshi
2b7705e7ad audio: AppendHookOnBeforeUpdate should treat multiple calbacks 2019-04-28 19:53:22 +09:00
Hajime Hoshi
31758bf3ab audio: Remove comment 2019-04-28 19:49:37 +09:00
Hajime Hoshi
2bea7d4e1a audio: Error on duplicated source
Fixes #853
2019-04-28 19:39:46 +09:00
Hajime Hoshi
70a225fd7e audio: Use dummy hooks from tests 2019-04-28 19:35:59 +09:00
Hajime Hoshi
81549a3523 audio: Bug fix: Remove redundant Unlock 2019-04-28 02:44:32 +09:00
Hajime Hoshi
9fc2ae158c audio: Bug fix: Close always returned error 2019-04-28 02:22:11 +09:00
Hajime Hoshi
e4f0a0aa04 audio: Bug fix: Remove depenency on finalizer
This change fixes playerImpl leak by removing dependency on
finalizer usages. Now readLoop can (or should) be called multiple
times even after closing. Only when (*Player).Close is called
explicitly, the read loop cannot be started again.

Fixes #852
2019-04-28 02:03:55 +09:00
Hajime Hoshi
4f831de008 audio: Remove (*playerImpl).sync and use mutex instead
This is a preparation to work syncing wihtout the read-loop.
2019-04-28 01:37:52 +09:00
Hajime Hoshi
4ab97ad250 graphics: Add TestImageZeroSizedMipmap 2019-04-25 10:51:59 +09:00
Hajime Hoshi
6022d8856e graphics: Bug fix: level must be >= 0
There was a cache that level can be negative. This change fixes
this.
2019-04-25 02:49:59 +09:00
Hajime Hoshi
cce41e8152 graphics: Rename DrawImage -> DrawTriangles for consistency 2019-04-22 23:12:36 +09:00
Hajime Hoshi
020cba22c5 vector: Implement miter limit
Fixes #843
2019-04-20 23:08:20 +09:00
Hajime Hoshi
7d9bc8586e graphcisdriver/metal: Better comment 2019-04-20 17:05:05 +09:00
Hajime Hoshi
b99f4c61b5 graphicsdriver/metal: Make (*Driver).Flush do nothing 2019-04-20 16:50:40 +09:00
Hajime Hoshi
72be1bde24 graphicsdriver/metal: Set and reset screenDrawable more correctly 2019-04-20 16:26:34 +09:00
Hajime Hoshi
a064955a13 graphicsdriver/metal: Use NSAutoreleasePool to release drawable correctly
Fixes #847
2019-04-20 15:20:38 +09:00
Hajime Hoshi
bfe1d2208e Revert "graphicsdriver/metal: Bug fix: Release drawable correctly"
This reverts commit c44accbfb5.

Reason: This change doesn't make sense
2019-04-20 00:28:09 +09:00
Hajime Hoshi
c44accbfb5 graphicsdriver/metal: Bug fix: Release drawable correctly
Fixes #847
2019-04-19 20:23:00 +09:00
Hajime Hoshi
865523048d uidriver/js: Bug fix: Touches were not updated correctly
Fixes #846
2019-04-15 03:01:02 +09:00
Hajime Hoshi
5487dd9ea8 examples/vector: Add rotating points and lines by them 2019-04-14 23:15:03 +09:00
Hajime Hoshi
5525e8c7c1 vector: Reduce vertices and remove gaps
Fixes #842
2019-04-14 22:45:16 +09:00