All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Improve
StepType
and Instrumentsamples
type
- Remove ye olde
prop-types
in favour ofTypescript
types - Fix ESLint issues
- Fix new
samples
bug again, only adding new samples after initial render
- Fix bug where subsequent renders weren't adding new
samples
to sampler Instrument - Add test for above fix
- Revert to Typescript 3.7.3 to match TSDX
- Improve
<Instrument>
onLoad
type - Change from
string
toMidiNote
inStepType
- Fix Track
steps
types and addstring[]
.
- Fix
midiNotes
export.
- Add
MidiNote
andmidiNotes
. Allownull
inStepType
.
- Fix Track
steps
updating when new steps are different length to previoussteps
. Can't update steps length while music is playing though, still need to stop and play again. - Update
StepNoteType
to allowstring
forduration
- Remove website folder and move to new repo
- Fix bug where object step like
{ name: 'C3' }
works in<Track>
steps
prop.
- Fix iOS audio by moving
StartAudioContext
into body click event. iOS needs a user trigger to enable audio.
- Move
Tone.Channel
intouseEffect
and add cleanup function
- Oops. Removed console log.
- Update Instrument
notes
to not retrigger on every render. Revert back toisPlaying
check and add uniquekey
toNoteType
to trigger sound.
- Ensure new
samples
load even after initial mount ofsampler
type inInstrument
- Install
tsdx
to manage pain of package config - Migrate core to Typescript
- Remove Jest, Babel and ESLint, with
tsdx
managing these from now onwards - Fix tests to work with Typescript
- Update Instrument
notes
and allow multi trigger of same note - Update Rollup config to includeDependencies
- Remove
tone
as peerDep and leave as dep
- Add
fast-deep-equal
to improve steps update performance onTrack
- Refactor Track to use
Tone.Channel
instead ofTone.PanVol
- Add Track
mute
andsolo
- Update
propTypes
- Add Create React Template for Reactronica
- Add
eq3
effect type withlow
,mid
,high
,lowFrequency
andhighFrequency
props
- Add
duration
andvelocity
for Instrument notes - Add
onLoad
prop toInstrument
fortype
ofsampler
- Change
tempo
tobpm
inSong
to matchTone
API - Add
volume
andisMuted
prop toSong
- Add
polyphony
,oscillator
,envelope
props toInstrument
- Remove
type
ofpolySynth
fromInstrument
as it is just a wrapper around other synths - Add
membraneSynth
,metalSynth
andpluckSynth
types toInstrument
- Update
AMSynth
andFMSynth
values inInstrument
type
toamSynth
andfmSynth
- Remove
/example
folder to focus on/website
that already includes docs and examples - Change
steps
fromstep.note
tostep.name
inTrack
- Add more Typescript definitions
- Ensure
Instrument
andEffect
don't crash if unknowntype
is passed - Update
onStepPlay
arguments toStepNoteType[]
andnumber
. - Add
wet
prop toEffect
- Update
propTypes
- Update docs
- Add more effect types
- Add more effect types
- Add more instrument types
- Update
constants
toconfig
- Fix empty steps bug for Track
- Add more instrument types to Instrument
- Add Next JS documentation and examples website
- Add website
- Fix sequence note repeat bug by adding JSON.stringify to Track
- Refactor library to use React Hooks
- Update StepsEditorExample
- Set up
PUBLIC_URL
for audio files in example - Add
constants
export for data about instrument and effects types.
- Update steps to enable chords to be played
- Refactor example page
- Add ukulele tab example
- Update step editor example
- Add
react-testing-library
for testing examples - Use css-modules in example
- First changelog entry