Commit graph

1366 commits

Author SHA1 Message Date
Corwin Kuiper 86d5c7ca35 optimise getting reference and allow for updating a specific area 2021-06-06 23:27:40 +01:00
Corwin Kuiper 6b725e90ad stop using references 2021-06-06 18:30:42 +01:00
Corwin Kuiper 900b594039 use easily optimisable division for truncate 2021-06-06 18:27:15 +01:00
Corwin eb212e7f91
Merge pull request #64 from corwinkuiper/map-as-refcell
let user decide whether to use slice or refcell
2021-06-06 16:50:37 +01:00
Corwin Kuiper 87bace3584 let user decide whether to use slice or refcell 2021-06-06 16:35:38 +01:00
Corwin 342aac005c
Merge pull request #63 from corwinkuiper/split-object
move object out of tiled0
2021-06-06 16:18:18 +01:00
Corwin 2a0192de51
Merge pull request #62 from gwilymk/allow-channels-to-loop
Allow channels to loop
2021-06-06 15:56:25 +01:00
Corwin Kuiper 7e837fc3e8 move object out of tiled0 2021-06-06 15:56:01 +01:00
Gwilym Kuiper 40f7975f46 Loop if requested 2021-06-06 15:48:52 +01:00
Gwilym Kuiper 86ba309377 Add ability to set that a channel should loop 2021-06-06 15:47:57 +01:00
Corwin 773e893421
Merge pull request #61 from gwilymk/allow-not-exactly-correct-length-sounds
Handle sounds of length not exactly a multiple of SOUND_BUFFER_SIZE
2021-06-06 14:52:25 +01:00
Gwilym Kuiper 0875e640de Handle sounds of length not exactly a multiple of SOUND_BUFFER_SIZE 2021-06-06 14:48:01 +01:00
Corwin fd3fe32292
Merge pull request #60 from gwilymk/actual-sound-mixing
Actual sound mixing
2021-06-06 14:24:26 +01:00
Gwilym Kuiper 333797332e Fix the example after rebase 2021-06-06 14:21:03 +01:00
Gwilym Kuiper 3f3b34c250 Fix clippy warning 2021-06-06 14:17:08 +01:00
Gwilym Kuiper e181f7a751 Refactor to make it a bit more obvious what the write buffer is 2021-06-06 12:58:31 +01:00
Gwilym Kuiper 106e53f917 Use the new mixer in the example 2021-06-06 12:58:31 +01:00
Gwilym Kuiper f126c7f4f4 Make SoundChannel public 2021-06-06 12:58:31 +01:00
Gwilym Kuiper d7a8928955 Add should_loop option 2021-06-06 12:58:31 +01:00
Gwilym Kuiper 46683e42c8 Probably too much in 1 commit 2021-06-06 12:58:31 +01:00
Gwilym Kuiper 72dbf2ef9c Add simple double buffer 2021-06-06 12:58:31 +01:00
Gwilym Kuiper 334472f749 Add a comment explaining where the frequency and buffer size come from 2021-06-06 12:58:31 +01:00
Gwilym Kuiper 9d1aeea077 Make it easier for the user to provide sound samples 2021-06-06 12:58:31 +01:00
Gwilym Kuiper df7a72d618 Fix the sound frequency to 10512Hz 2021-06-06 12:58:31 +01:00
Gwilym Kuiper 8d980697bb Add attribution for the music 2021-06-06 12:58:31 +01:00
Gwilym Kuiper 6ab61b6eb0 Add really basic sound mixer that can play simple tunes 2021-06-06 12:58:31 +01:00
Gwilym Kuiper c2ba8d835a Move old sound code to the dmg module 2021-06-06 12:58:30 +01:00
Corwin Kuiper b0c4a8fd80 satisfy linter 2021-06-06 11:14:50 +01:00
Corwin Kuiper 20c06536e4 clear affine matrix on drop 2021-06-06 11:14:50 +01:00
Corwin Kuiper 006b05ceda move commit to attributes, similar to object 2021-06-06 11:14:50 +01:00
Corwin Kuiper a26732e1fa clear object when dropped 2021-06-06 11:14:50 +01:00
Gwilym Kuiper 13dc368d18 Add basic noise channel support 2021-06-06 10:37:17 +01:00
Gwilym Kuiper 1bb05560cb Make it so that multiplication doesn't overflow so easily 2021-06-06 00:25:45 +01:00
Gwilym Kuiper 026dad0773 Change base can change between convertable integer types too 2021-06-06 00:25:29 +01:00
Corwin cc70e5ba8b
Merge pull request #55 from gwilymk/fix-incorrect-sound-definition
Sweep works backwards
2021-06-05 22:58:18 +01:00
Gwilym Kuiper 0b41e9e917 Sweep works backwards 2021-06-05 22:53:51 +01:00
Corwin aa10a893f4
Merge pull request #54 from corwinkuiper/object-hidden-by-default
Object hidden by default
2021-06-05 22:42:20 +01:00
Corwin Kuiper be963611ce affine starts at position 9 2021-06-05 22:41:34 +01:00
Corwin Kuiper 4cc7650ddc objects are hidden by default
no need to do it twice
2021-06-05 22:14:47 +01:00
Corwin Kuiper eb352085f1 have objects be hidden by default 2021-06-05 22:14:08 +01:00
Corwin e8bc714d74
Merge pull request #53 from gwilymk/allow-multiple-integer-sizes-for-fixnum
Allow multiple integer sizes for fixnum
2021-06-05 22:06:33 +01:00
Gwilym Kuiper 3357a4b69d Put brackets around nine / forty to ensure that we don't divide where we don't have to 2021-06-05 21:58:32 +01:00
Gwilym Kuiper aa39b2b6ad Make to_raw take self by value rather than reference 2021-06-05 21:49:36 +01:00
Gwilym Kuiper 54e28f5dd4 Add a Number type for i32 2021-06-05 21:47:04 +01:00
Gwilym Kuiper 174517fbb1 Fix tests 2021-06-05 21:47:04 +01:00
Gwilym Kuiper 508f33facd Add support for all the integer widths 2021-06-05 21:47:03 +01:00
Gwilym Kuiper de47dbc5dd Make number generic on i32 2021-06-05 21:30:02 +01:00
Corwin ec87adceb2
Merge pull request #52 from corwinkuiper/number-trig
implement trig functions
2021-06-05 21:10:38 +01:00
Corwin Kuiper 9176e668a1 implement trig functions 2021-06-05 21:06:21 +01:00
Corwin 1807b0adc6
Merge pull request #51 from corwinkuiper/fix-affine
fix index for affine matrix
2021-06-05 20:55:12 +01:00