Skip to content

Commit ff5f820

Browse files
committed
Release 1.5
1 parent 617d09c commit ff5f820

3 files changed

Lines changed: 40 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ This change log follows the conventions of
66

77
## [Unreleased][unreleased]
88

9+
Nothing so far.
10+
11+
12+
## [1.5] - 2020-10-24
13+
914
### Fixed
1015

1116
- It is now possible to send long SysEx payloads split across multiple
@@ -28,6 +33,7 @@ This change log follows the conventions of
2833
38](https://github.com/DerekCook/CoreMidi4J/issues/38).
2934

3035

36+
3137
## [1.4] - 2020-02-09
3238

3339
### Fixed
@@ -56,6 +62,7 @@ This change log follows the conventions of
5662
whenever code is pushed to the master branch on GitHub.
5763

5864

65+
5966
## [1.3] - 2020-01-03
6067

6168
### Fixed
@@ -66,6 +73,7 @@ This change log follows the conventions of
6673
- A mistake in the sample code in the project Read Me, thanks to
6774
[@git-moss](https://github.com/git-moss).
6875

76+
6977
## [1.2] - 2019-09-05
7078

7179
### Fixed
@@ -79,6 +87,7 @@ This change log follows the conventions of
7987
`<Unknown device>`. We now use a slightly more complex but reliable
8088
mechanism, so device names should always be available.
8189

90+
8291
## [1.1] - 2017-09-16
8392

8493
### Fixed
@@ -129,6 +138,7 @@ This change log follows the conventions of
129138

130139
- Dependencies and build tools were updated to their latest releases.
131140

141+
132142
## [0.9] - 2016-08-23
133143

134144
### Added
@@ -138,6 +148,7 @@ This change log follows the conventions of
138148
version of CoreMIDI4J which is in use. (If this method is not found,
139149
then the version is unknown, but must be 0.8 or earlier.)
140150

151+
141152
## [0.8] - 2016-07-03
142153

143154
### Fixed
@@ -151,6 +162,7 @@ This change log follows the conventions of
151162

152163
- Dependencies and build tools were updated to their latest releases.
153164

165+
154166
## [0.7] - 2016-04-20
155167

156168
### Added
@@ -176,6 +188,7 @@ This change log follows the conventions of
176188
CoreMidi4J as a Java extension, and recommend that you remove any
177189
older version you have placed in the Extensions directory.
178190

191+
179192
## [0.5] - 2016-03-19
180193

181194
### Fixed
@@ -184,13 +197,15 @@ This change log follows the conventions of
184197
showing up with null values for their names, descriptions and
185198
vendors.
186199

200+
187201
## [0.4] - 2016-01-18
188202

189203
### Fixed
190204

191205
- MIDI Timestamps are now properly translated between Java and
192206
CoreMidi. This may be the only MIDI SPI which achieves this.
193207

208+
194209
## [0.3] - 2016-01-09
195210

196211
### Fixed
@@ -227,7 +242,8 @@ This change log follows the conventions of
227242
- Initial Public Release
228243

229244

230-
[unreleased]: https://github.com/DerekCook/CoreMidi4J/compare/V1.4...HEAD
245+
[unreleased]: https://github.com/DerekCook/CoreMidi4J/compare/V1.5...HEAD
246+
[1.5]: https://github.com/DerekCook/CoreMidi4J/compare/V1.4...V1.5
231247
[1.4]: https://github.com/DerekCook/CoreMidi4J/compare/V1.3...V1.4
232248
[1.3]: https://github.com/DerekCook/CoreMidi4J/compare/V1.2...V1.3
233249
[1.2]: https://github.com/DerekCook/CoreMidi4J/compare/V1.1...V1.2

CoreMIDI4J/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>uk.co.xfactory-librarians</groupId>
88
<artifactId>coremidi4j</artifactId>
9-
<version>1.5-SNAPSHOT</version>
9+
<version>1.5</version>
1010

1111
<packaging>jar</packaging>
1212

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,28 @@ CoreMidi4J, and use its implementation of `getMidiDeviceInfo()`
102102
wherever you would otherwise have used the standard one, and your
103103
users will always only see working MIDI devices.
104104

105+
### Watching for MIDI Device Changes
106+
107+
If you would like to be able to automatically update your user
108+
interface when the user connects, disconnects, or powers on/off a MIDI
109+
device, you can call
110+
[`addNotificationListener(listener)`](https://deepsymmetry.org/coremidi4j/apidocs/uk/co/xfactorylibrarians/coremidi4j/CoreMidiDeviceProvider.html#addNotificationListener(uk.co.xfactorylibrarians.coremidi4j.CoreMidiNotification))
111+
(also provided by the `CoreMidiDeviceProvider` class). This will call
112+
register a listener method to be called whenever such changes to the
113+
MIDI environment occur.
114+
115+
> NOTE: If you use `addNotificationListener` on a non-macOS system, it
116+
> needs to periodically scan the MIDI environment on a background
117+
> thread. We have learned that the version of `getMidiDeviceInfo` in
118+
> `javax.sound.MidiSystem` is not thread-safe, and if more than one
119+
> thread uses it simultaneously, it will return invalid devices which
120+
> throw exceptions when they are used. Because of that, you should
121+
> only use the version of `getMidiDeviceInfo` provided by
122+
> `CoreMidiDeviceProvider`, which uses synchronization to avoid this
123+
> problem. Even if you are not using `addNotificationListener`, our
124+
> version of the method is safer if you are using multiple threads for
125+
> your own purposes.
126+
105127
For more details, you can consult the CoreMidi4J [API
106128
documentation](https://deepsymmetry.org/coremidi4j/apidocs/) or even
107129
the source code, or simply keep reading.

0 commit comments

Comments
 (0)