Skip to content

[WIP] Towards 1.0.0 #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 211 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
e436b61
:bug: Fix eslintrc
Jul 25, 2015
93a1923
:bulb: Abstract input/outputs devices
Jul 25, 2015
bc85fed
:ledger: Remove old implementation
Jul 25, 2015
235c2eb
:book: Add INSTALL instructions
Jul 25, 2015
9eaf611
:bulb: Improve device/ API
Jul 25, 2015
7445dcb
:lipstick: Requiring Buffer is not necessary
Jul 25, 2015
1c6c2b8
:bulb: Move events code in a separate folder
Jul 26, 2015
74e51c2
:bulb: Improve events
Jul 26, 2015
8223fca
:bulb: Stop relying on unstable buffercursor
Jul 30, 2015
9251bff
:bulb: Move error to util/ and separate hex formatting
Jul 30, 2015
5bf8de8
:bulb: Use events classes for decoding
Jul 30, 2015
70098b3
:bulb: Merge chunk decoders and encoders
Jul 30, 2015
8988e92
:book: Improve sysex docs
Jul 30, 2015
22ff7cb
:ledger: Remove old events stuff
Jul 30, 2015
09fd337
:bulb: Merge header/track encoders and parsers
Jul 30, 2015
168f965
:book: Add TODO
Jul 31, 2015
8c0506b
:bulb: Add devices file
Jul 31, 2015
5176ef8
:bulb: Encode with running status
Jul 31, 2015
d2b0ec4
:bulb: Add track encoding
Jul 31, 2015
77b0722
:bulb: Improve buffer utils
Jul 31, 2015
05a33df
:bulb: Add track decoding
Jul 31, 2015
0034feb
:bulb: Enable reading running status in events
Jul 31, 2015
53029f6
:ledger: Move file
Jul 31, 2015
d144690
:book: Fix chunk docs
Jul 31, 2015
7a14004
:book: Improve tracks error message
Jul 31, 2015
10ef91c
:bulb: Rewrite file parser
Jul 31, 2015
f679d98
:bulb: Add #track() method
Jul 31, 2015
253c227
:bulb: Enable chaining track methods
Jul 31, 2015
24eed2f
:bulb: Chaining in File
Jul 31, 2015
924a212
:bulb: Update entry point
Jul 31, 2015
d7320c6
:bug: Fix wrong module requires
Jul 31, 2015
09fc687
:bulb: Make TYPE enums available as File static
Jul 31, 2015
44c8216
:bug: Make methods chainable
Jul 31, 2015
8c5952f
:bug: Fix exports
Jul 31, 2015
b197623
:bug: Install sound libs before tests
Jul 31, 2015
b39a6e8
:bulb: Use new container-based infra on travis
Jul 31, 2015
ec2a96a
:bug: Fix wrong buffer.write behaviour
Aug 1, 2015
4ca579a
:bulb: Automatically append END_OF_TRACK events
Aug 1, 2015
adc45a2
:bulb: Rewrite fixture
Aug 1, 2015
fd5e996
:ledger: Cleanup device code
Aug 1, 2015
f778c7f
:ledger: Rename events -> event
Aug 1, 2015
6ce25bf
:bulb: Do not throw with unknown meta events
Aug 1, 2015
f985ee3
:book: Improve event type docs
Aug 1, 2015
09b842b
:bulb: Use NOTE_ON type by default
Aug 1, 2015
39446ef
:bulb: There shouldn't be any other kind of channel event, throw
Aug 1, 2015
f37d80c
:bulb: Add sysex event types
Aug 1, 2015
77be171
:bulb: Remove hex utility
Aug 1, 2015
df7c5aa
:bulb: Enable constant shortcuts in Track
Aug 1, 2015
6b039e7
:bulb: Remove event type constants from file
Aug 1, 2015
077b895
:bulb: Include subevents in event
Aug 1, 2015
c41134a
:bulb: Update entry point
Aug 1, 2015
3935e2f
:lipstick: Use constants shortcuts
Aug 1, 2015
9261eac
:bug: Fix error in eventCreator()
Aug 1, 2015
3bca58b
:bug: Do not encode subsequent tracks in SINGLE_MODE
Aug 1, 2015
f1dc4a9
:bulb: Remove devices from lib
Aug 8, 2015
866add3
:book: Improve docs
Aug 8, 2015
ab504e7
:book: Add contributors list
Aug 8, 2015
e97d87f
:ledger: Reorganize lib
Aug 8, 2015
496207a
:bulb: Update entry point
Aug 8, 2015
885229e
:ledger: Merge lib/file/index.js & lib/file/file.js
Aug 8, 2015
78e78c5
:bulb: Add #unknown flag to meta events that weren't recognized
Aug 8, 2015
b7ca0f3
:book: Reduce error diversity
Aug 8, 2015
0f9db78
:ledger: Remove useless git attributes
Aug 8, 2015
644624d
:bulb: Automatically convert `arguments` to array in classApply
Aug 12, 2015
f9b9678
:bulb: Create selectConst utility
Aug 12, 2015
c6d9742
:bulb: Track event addition shortcuts should not handle constant shor…
Aug 12, 2015
0fe3fc3
:bulb: Move GM instruments to ChannelEvent & add controller constants
Aug 12, 2015
2a9d685
:bulb: Use tape for testing
Aug 12, 2015
06fbdf8
:bulb: Update fixtures
Aug 12, 2015
156312e
:bulb: Start writing tape tests
Aug 12, 2015
1a050c0
:bulb: Drop support for deprecated events
Aug 12, 2015
5ac28a1
:bug: Remove debug log & update midi fixture
Aug 12, 2015
f5c5381
:bulb: Move fixtures
Aug 12, 2015
d7a1a9d
:bulb: VarInt is better in utils
Aug 12, 2015
2f88d7e
:bulb: Use new varint definition
Aug 12, 2015
af5c396
:bug: Fix decoding
Aug 12, 2015
dedeb2f
:lipstick: Remove loggers
Aug 12, 2015
75e6f0a
:bug: Use byteLength instead of String#length for UTF8 strings
Aug 12, 2015
e34c8fe
:bug: Use #instrument instead of #program, consistently
Aug 12, 2015
f69e367
:bug: Update fixture name
Aug 12, 2015
d3e5418
:bug: Do not run nested js files (avoid running fixtures)
Aug 12, 2015
378f8c8
:bulb: Write tests for file
Aug 12, 2015
8d00bea
:bug: Also fix coverage command
Aug 12, 2015
83f82b4
:bulb: We do not need ALSA anymore
Aug 12, 2015
0d8b341
:bulb: Add minimum recommended nodejs version
Aug 12, 2015
856e3b9
:bulb: Add coveralls upload
Aug 12, 2015
cc18760
:ledger: Move error file and remove unused errors
Aug 13, 2015
8f8840d
:book: Add @overview tags
Aug 13, 2015
9cd7550
:book: Clarify error messages
Aug 13, 2015
3a4e409
:ledger: Remove unused ignore paths
Aug 13, 2015
9edd3b8
:book: Add @overview in index
Aug 13, 2015
b2985a8
:bulb: Allow constant shortcuts in File.TYPE
Aug 15, 2015
6c79ef5
:book: Add @overview in File
Aug 15, 2015
b3dc7f6
:ledger: Remove unused fixtures
Aug 15, 2015
8257940
:bulb: Extend test coverage
Aug 15, 2015
78d5e30
:bulb: Remove unused buffef functionnality
Aug 15, 2015
b6b0964
:book: Improve docs
Aug 15, 2015
fd49282
:bulb: Use `type` instead of `controller` for controller type with CO…
Aug 15, 2015
174f3db
:bulb: Allow notes as english notation
Aug 16, 2015
6ee6ba9
:book: Update docs
Aug 16, 2015
3683a92
:bug: Fix wrong note conversion
Aug 16, 2015
a805779
:bug: Fix controller props renaming
Aug 16, 2015
c1a9850
:book: improve file documentation
Aug 16, 2015
4af4b7c
:bulb: Use a better song for testing
Aug 16, 2015
9b7b6e1
:lipstick: Remove logging
Aug 16, 2015
2ebf310
:bulb: Add convenience notation for writing notes
Aug 16, 2015
3192198
:bulb: Take advantage of the new shortcut notation to shorten fixture
Aug 16, 2015
d6f300a
:bulb: Extend file test to include new shortcut
Aug 16, 2015
9d01e35
:bulb: Add testing unit for utils
Aug 16, 2015
1ab8c21
:bulb: Allow negative octaves
Aug 16, 2015
e7e38fe
:bulb: Default sysex to empty buffer
Aug 16, 2015
133b85d
:bulb: Add tests unit for events
Aug 16, 2015
6cffc10
:bulb: Add tests for errors
Aug 17, 2015
10ece7b
:ledger: Well, this is not a song
Aug 17, 2015
028a3a2
:book: Definitely not a song
Aug 17, 2015
487e396
:book: Improve README.md
Aug 17, 2015
877e23a
:bulb: Remove useless deps
Aug 17, 2015
39ec4a8
:book: Initialize CHANGELOG
Aug 17, 2015
7f32bbf
:book: Improve README
Aug 17, 2015
30f1e81
:book: Improve contribution guide
Aug 17, 2015
f91a86d
:book: Write changelog
Aug 17, 2015
0bd70ee
:book: Add links in CHANGELOG
Aug 17, 2015
175c11c
:book: Be consistent
Aug 17, 2015
f5cbc30
:ledger: Move var-int to events/
Aug 20, 2015
b213c88
:book: Examples stay in the README, not in code
Aug 20, 2015
98d7fad
:ledger: Better organization
Aug 20, 2015
64162b4
:bug: Fix meta events
Aug 23, 2015
f9c3ca2
:bulb: Rename clockSignalsPerBeat to notated32ndsPerMIDIBeat
Aug 23, 2015
04dd912
:lipstick: Remove duplicate code in ChannelEvent
Aug 23, 2015
94fa49a
:bulb: Allow shortcut notation for NOTE_AFTERTOUCH
Aug 23, 2015
7016c6b
:bulb: ChannelEvent.NOTE_AFTERTOUCH.pressure defaults to 127 instead …
Aug 23, 2015
04f7666
:bulb: Use note on with 0 velocity to save bytes (with running statuses)
Aug 24, 2015
474d8d5
:bulb: Rewrite buffer util as a class
Aug 24, 2015
9fe4989
:bulb: Merge var-int and buffer
Aug 24, 2015
2cabc9b
:bulb: Merge class-apply with track
Aug 24, 2015
e9dd820
:bulb: Add utility to know the length of an encoded var int
Aug 24, 2015
66b7b50
:bulb: MIDIBuffer's #slice returns MIDIBuffer instances
Aug 24, 2015
d5730f6
:bulb: Add util to know a MIDIBuffer's length
Aug 24, 2015
d05a1f7
:bulb: Update lib/events/ with new Buffer tools
Aug 24, 2015
89709aa
:book: Add docs
Aug 24, 2015
fbd3444
:bulb: Merge chunk.js with buffer.js
matteodelabre Aug 28, 2015
048f23a
:bulb: Rewrite files/ with new Buffer API
matteodelabre Aug 28, 2015
3e8e884
:bulb: Make child buffers seek parents
matteodelabre Aug 28, 2015
a377502
:bug: Well…
matteodelabre Aug 28, 2015
133a3a3
:bug: Fix calls to new Buffer instead of MIDIBuffer
matteodelabre Aug 28, 2015
c62849e
:ledger: Remove old chunk.js
matteodelabre Aug 28, 2015
44f33b9
:lipstick: Remove logging
matteodelabre Aug 28, 2015
356ade6
:bug: Convert bytes to MIDIBuffer before encoding metaevent
matteodelabre Aug 28, 2015
519d358
:bug: Convert Sysex bytes before encoding
matteodelabre Aug 28, 2015
443bbb4
:bug:
matteodelabre Aug 28, 2015
f1920d8
:bug: Fix running status behaviour
matteodelabre Aug 29, 2015
16e1e9b
:bug: Fix chunk length
matteodelabre Aug 29, 2015
9061220
:bug: Fix wrong length reading
matteodelabre Aug 29, 2015
bff9eb2
:bulb: Add checks with var integers
matteodelabre Aug 29, 2015
853f0d9
:bulb: Rewrite buffer tests
matteodelabre Aug 29, 2015
9fb1e63
:bulb: Really test events
matteodelabre Aug 29, 2015
84866f8
:book: Update README
matteodelabre Aug 29, 2015
4fcc46d
:bug: Fix running status behaviour
matteodelabre Aug 29, 2015
30059f4
:bug: Report not-midi if chunk parsing fails
matteodelabre Aug 29, 2015
9f9e1a2
:bulb: Throw better errors with invalid files
matteodelabre Aug 29, 2015
00fe8c5
:bug: Do not crash with empty tracks
matteodelabre Aug 29, 2015
7e09926
:bulb: Improve tests
matteodelabre Aug 29, 2015
d601a36
:book: Update changelog
matteodelabre Aug 29, 2015
ab236ae
:bulb: Add more controllers
matteodelabre Aug 29, 2015
5371ebd
:bulb: Rename MONO_MODE_ON to MONO_MODE and MONO_MODE_OFF to POLY_MODE
matteodelabre Aug 29, 2015
59b5fe4
:bulb: Data properties should be buffers, not midi buffers
matteodelabre Aug 31, 2015
c608150
:bulb: Improve buffer-equal assertion
matteodelabre Aug 31, 2015
c6e9827
:lipstick: Reorganize tests
matteodelabre Aug 31, 2015
fc6904b
:book: Fix overviews
matteodelabre Aug 31, 2015
d04b94c
:bulb: Encoding methods should return buffers directly
matteodelabre Aug 31, 2015
1dcb181
:bulb: Decoding should be on individual classes
matteodelabre Aug 31, 2015
f1f4bae
:bug: Fix wrong error message order
matteodelabre Sep 11, 2015
46e2e4f
:bulb: Add a Context object that enables parsing events from devices …
matteodelabre Sep 11, 2015
47383d4
:bulb: Update tests to use Context
matteodelabre Sep 11, 2015
0faebae
:bulb: Implement context
matteodelabre Sep 11, 2015
379b960
:bulb: Delegate tasks between Context and events, remove dep on Event
matteodelabre Sep 11, 2015
5273261
:bulb: Implement context (for real this time)
matteodelabre Sep 11, 2015
d559057
:bulb: Update fixtures
matteodelabre Sep 11, 2015
6257fa8
:bulb: Update File to use Context
matteodelabre Sep 11, 2015
6a67e00
:bulb: Update entry point to use Context
matteodelabre Sep 11, 2015
54c19fd
:bulb: Point out differences in bufferEqual
matteodelabre Sep 11, 2015
86c3fd8
:bulb: Make device encoding return arrays
matteodelabre Sep 11, 2015
a59231e
:book: Rename a test
matteodelabre Sep 11, 2015
a8e6bf8
:book: Add docs for Context
matteodelabre Sep 11, 2015
12bd8f0
:book: Update CHANGELOG.md with Context
matteodelabre Sep 11, 2015
e1aa34c
:book: Update README.md with Context
matteodelabre Sep 11, 2015
8214700
:lipstick: Normalize package.json
matteodelabre Jan 23, 2016
5217d25
:lipstick: Update eslint rules
matteodelabre Jan 23, 2016
ddd1112
:book: Fix typos in README
matteodelabre Jan 23, 2016
940fb6e
:book: Update contrib guide
matteodelabre Jan 23, 2016
e4a298c
:book: Improve change log
matteodelabre Jan 23, 2016
94c6b68
:book: Remove separators in change log
matteodelabre Jan 23, 2016
fccf0a5
:book: Use small subtitles
matteodelabre Jan 23, 2016
8a98047
:bulb: convertNote is a no-op if the note is already a number
matteodelabre Jan 24, 2016
0fb213d
:bulb: Rewrite File & Track API: they are no longer classes
matteodelabre Jan 24, 2016
335fbd9
:bulb: Rewrite test suite after File API shift
matteodelabre Jan 24, 2016
01b53cb
:bulb: Add stampit dep
matteodelabre Jan 24, 2016
bae15bc
:bulb: Only support 4.2.6 and onwards
matteodelabre Jan 24, 2016
461c91a
:bulb: Do not use custom errors anymore
matteodelabre Jan 24, 2016
100f006
:lipstick: Two spaces in travis.yml
matteodelabre Jan 24, 2016
936a9d9
:book: Fix badges
matteodelabre Jan 24, 2016
ff9d255
:lipstick: Rewrite convert-note to ES6
matteodelabre Jan 24, 2016
625ac0a
:bulb: Add stampit & TextEncoding deps
matteodelabre Jan 31, 2016
ed7392c
:bulb: Replace MIDIBuffer with SeekerView and MIDIView
matteodelabre Jan 31, 2016
fa81684
:bulb: Rewrite file encoding & decoding with new MIDIView & SeekerView
matteodelabre Jan 31, 2016
ee0f6f6
:bulb: Remove Buffer tests from util.js
matteodelabre Jan 31, 2016
00ef501
:bulb: Add tests for MIDIView & SeekerView
matteodelabre Jan 31, 2016
ddd0273
:bug: Fix wrong method call in MIDIView
matteodelabre Jan 31, 2016
2531016
:bug: Fix undefined reference in SeekerView
matteodelabre Jan 31, 2016
1b0cf60
:ledger: convert-note.js -> convertnote.js
matteodelabre Jan 31, 2016
1657f63
:lipstick: Fix typo in test name
matteodelabre Jan 31, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 20 additions & 7 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -1,22 +1,35 @@
{
"extends": "eslint:recommended",

"rules": {
"no-shadow": 2,
"no-catch-shadow": 2,
"no-shadow-restricted-names": 2,
"radix": 2,
"vars-on-top": 2,

"wrap-iife": 2,

"yoda": 2,
"semi": 2,
"indent": 2,
"camelcase": 2,
"brace-style": 2,
"comma-spacing": 2,
"comma-style": 2,
"quotes": [2, "simple"],

"quotes": [2, "single", "avoid-escape"],
"no-spaced-func": 2,
"space-after-keywords": 2,
"space-before-blocks": 2,
"space-before-function-paren": [2, {"anonymous": "always", "named": "never"}],
"space-in-parens": 2,
"space-infix-ops": 2,
"space-return-throw-case": 2,
"space-unary-ops": 2,
"no-trailing-spaces": 0,
"no-underscore-dangle": 0
},

"env": {
"browser": true,
"es6": true,
"node": true
}
}
}
17 changes: 0 additions & 17 deletions .gitattributes

This file was deleted.

2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
coverage
out
docs
node_modules
8 changes: 5 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
language: node_js
sudo: false
node_js:
- "0.12"
- "0.10"
- iojs
- 4.2.6
- 5.5.0
after_success:
- npm run coveralls
220 changes: 220 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
# Change log

This is a log of all API changes to the library, version per version. It follows advices from [keepachangelog.com](http://keepachangelog.com/).
All releases following v1.0.0 follow semantic versioning ‒ for previous releases, read the change log for more information.

## [v1.0.0](https://github.com/matteodelabre/midijs/releases/tag/v1.0.0) ― 2016-01-24

*See pull request [#3](https://github.com/matteodelabre/midijs/pull/3) for* more information.

#### Added

* `Event` accepts strings in some arguments (`Event` type can be given with a string, `PROGRAM_CHANGE` accepts a string for specifying the instrument, `CONTROLLER` accepts a string for specifying the controller).
* `CONTROLLER` now supports all kinds of controllers.
* `NOTE_OFF`, `NOTE_ON` and `NOTE_AFTERTOUCH` accept English-written notes such as "C" or "D2#".
* New `TYPE` property on `SysexEvent`s for consistency.
* `encode` and `decode` methods on `File`, replacing previous ones.
* New API on `File` for creating tunes from the code.
* `Event` subclasses are now publicly exposed.

#### Changed

* `gm` module. Instruments literals have been integrated into `ChannelEvent`.
* `CONTROLLER#controller` has been renamed to `CONTROLLER#type`.
* `PROGRAM_CHANGE#program` has been renamed to `PROGRAM_CHANGE#instrument`.
* `TIME_SIGNATURE#clockSignalsPerBeat` has been renamed to `TIME_SIGNATURE#notated32ndsPerMIDIBeat`.
* `NOTE_AFTERTOUCH#pressure` defaults to 127 instead of 0.
* Unknown events doesn't generate exceptions but sets an `unknown` flag to true. (Thanks to [@corentingurtner](https://github.com/corentingurtner)).

#### Removed

* `connect` module. Use the WebMIDI API or `node-midi` for this purpose.
* `Error` subclasses.
* `Event` class.
* All previous methods of `File`, including support for streams.

## [v0.12.0](https://github.com/matteodelabre/midijs/releases/tag/v0.12.0) ― 2015-05-08

#### Added

* Support `MIDI_PORT` meta event.

#### Changed

* Rename `CHANNEL_PREFIX` meta event to `MIDI_CHANNEL`.

## [v0.11.2](https://github.com/matteodelabre/midijs/releases/tag/v0.11.2) ― 2015-05-01

#### Changed

* Improve error messages.

## [v0.11.1](https://github.com/matteodelabre/midijs/releases/tag/v0.11.1) ― 2015-04-30

#### Changed

* Rename the `instruments` module to `GM` (despite the release number, this is a breaking change).

## [v0.11.0](https://github.com/matteodelabre/midijs/releases/tag/v0.11.0) ― 2015-02-18

#### Added

* Default values in `Event`.
* Custom error classes.

#### Changed

* Improved streams support in `File`.

## [v0.10.2](https://github.com/matteodelabre/midijs/releases/tag/v0.10.2) ― 2015-02-14

*No visible changes.*

## [v0.10.1](https://github.com/matteodelabre/midijs/releases/tag/v0.10.1) ― 2015-02-14

*No visible changes.*

## [v0.10.0](https://github.com/matteodelabre/midijs/releases/tag/v0.10.0) ― 2015-02-14

#### Added

* New `File` class merging `Reader` and `Writer`.

#### Removed

* `Reader` and `Writer` classes, merged in `File`.

## [v0.9.0](https://github.com/matteodelabre/midijs/releases/tag/v0.9.0) ― 2015-02-14

#### Changed

* Use constants instead of strings for `Event` types.

#### Deprecated

* Portions of internal, non-documented code.

## [v0.8.0](https://github.com/matteodelabre/midijs/releases/tag/v0.8.0) ― 2015-02-13

#### Changed

* Documentation improvements.
* Rewrite the test suite.

## [v0.7.5](https://github.com/matteodelabre/midijs/releases/tag/v0.7.5) ― 2015-02-01

#### Fixed

* Fix `Output#send` producing wrong MIDI data.

## [v0.7.4](https://github.com/matteodelabre/midijs/releases/tag/v0.7.4) ― 2015-02-01

#### Fixed

* Fix wrong subtype checks.

## [v0.7.3](https://github.com/matteodelabre/midijs/releases/tag/v0.7.3) ― 2015-02-01

#### Changed

* Added `repository` field in package.json.

#### Fixed

* Fixed `Driver#send` method.

## [v0.7.2](https://github.com/matteodelabre/midijs/releases/tag/v0.7.2) ― 2015-02-01

#### Fixed

* Tried to fix `Driver#send` method (and failed; use 0.7.3 instead).

## [v0.7.1](https://github.com/matteodelabre/midijs/releases/tag/v0.7.1) ― 2015-02-01

#### Fixed

* Do not crash with falsy `Input`/`Output` values.

## [v0.7.0](https://github.com/matteodelabre/midijs/releases/tag/v0.7.1) ― 2015-02-01

#### Added

* Add port metadata in `Input`/`Output`.

## [v0.6.0](https://github.com/matteodelabre/midijs/releases/tag/v0.6.0) ― 2015-02-01

#### Added

* Support inputs in `connect` module.

## [v0.5.0](https://github.com/matteodelabre/midijs/releases/tag/v0.5.0) ― 2015-02-01

#### Changed

* `connect` is only supported in the browser.

## [v0.4.2](https://github.com/matteodelabre/midijs/releases/tag/v0.4.2) ― 2015-01-31

#### Added

* Support for the `SMTPEOffset` meta event.

## [v0.4.1](https://github.com/matteodelabre/midijs/releases/tag/v0.4.1) ― 2015-01-31

#### Removed

* Remove keyOffset in `programs` (despite the release number, this is a breaking change).

#### Fixed

* Typos in paths.

## [v0.4.0](https://github.com/matteodelabre/midijs/releases/tag/v0.4.0) ― 2015-01-31

#### Added

* Support streams with `Reader` and `Writer`.

#### Changed

* `FileReader` and `FileWriter` have been renamed to `Reader` and `Writer`.

## [v0.3.1](https://github.com/matteodelabre/midijs/releases/tag/v0.3.1) ― 2015-01-25

*No visible changes.*

## [v0.3.0](https://github.com/matteodelabre/midijs/releases/tag/v0.3.0) ― 2015-01-25

#### Added

* `FileReader`, `FileWriter` instead of `File`.
* Test suite for `FileReader`.

#### Changed

* Wrote a real README file.

#### Removed

* `Event` constructor's running status parameter. Stored internally instead.

## [v0.2.0](https://github.com/matteodelabre/midijs/releases/tag/v0.2.0) ― 2015-01-25

#### Added

* Added LICENSE and README.

#### Changed

* `File` doesn't load files by itself. Use `fs.readFile` or a XHR object instead.
* Error messages are now in English.
* Use JSLint instead of JSHint for code-style checking.

#### Removed

* `programs` doesn't provide localized instrument names anymore.
* Remove undocumented internal method in `File` (`File#_parseMetaEvent`, `File#_parseEvent`, `File#_parseSystemEvent`, `File#_parseChannelEvent`).

## [v0.1.0](https://github.com/matteodelabre/midijs/releases/tag/v0.1.0) ― 2014-12-30

*Initial release.*
54 changes: 54 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Contributing

Thank you for your interest in contributing to this repo!
All contributions (even small ones) are welcome.
In order to keep this repo consistent, please
try to follow these rules.

Many thanks to those who contributed to this project:

* [@corentingurtner](https://github.com/corentingurtner)

## 1. Commit tags

All commits should be tagged with emojis whenever possible
to make the commit list more readable.

| Emoji | Commit content |
|:----------:|:--------------------- |
| :book: | Documentation updates |
| :bug: | Bug fixes |
| :ledger: | Moving files |
| :bulb: | New features |
| :lipstick: | Fixing coding style |

## 2. Branches

Please use a branch name that differs from `master`
when making pull requests, so that the network
history is more readable.

For example, if you wanted to fix the issue
"improve documentation", you could have
chosen the following branch name: `improve-docs`.

## 3. Coding style

Javascript can be authored by following
[a](https://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml)
[lot](https://github.com/airbnb/javascript)
[of](https://github.com/felixge/node-style-guide)
[different](https://contribute.jquery.org/style-guide/js/)
[style guides](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style)
but we decided to be a bit soft on that.

As a rule of thumb, use [ESLint](http://eslint.org/) to check if your code complies
with our style conventions. Here are some of the rules:

* use the radix parameter in `parseInt()` calls;
* use the *one true brace style;*
* put one space after commas, and no space before;
* put your comma at the end of the lines;
* use simple quotes;
* use camelcase;
* use 4 spaces for indentation.
6 changes: 5 additions & 1 deletion LICENSE → LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# License

_The MIT license._

Copyright (c) 2014-2015 Mattéo DELABRE

Permission is hereby granted, free of charge, to any person obtaining a copy
Expand All @@ -16,4 +20,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
THE SOFTWARE.
Loading