reaper-osc 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,57 +1,57 @@
1
- /**
2
- * Contains classes for controlling Reaper's transport
3
- * @module
4
- */
5
- import { INotifyPropertyChanged } from './Notify';
6
- import { ISendOscMessage, OscMessage } from './Messages';
7
- /** The Reaper transport */
8
- export declare class Transport implements INotifyPropertyChanged {
9
- private _isFastForwarding;
10
- private _isPlaying;
11
- private _isRecording;
12
- private _isRepeatEnabled;
13
- private _isRewinding;
14
- private _isStopped;
15
- private readonly _handlers;
16
- private readonly _sendOscMessage;
17
- /**
18
- * @param sendOscMessage A callback used to send OSC messages to Reaper
19
- */
20
- constructor(sendOscMessage: ISendOscMessage);
21
- /** Indicates whether playback is active */
22
- get isPlaying(): boolean;
23
- /** Indicates whether playback is stopped */
24
- get isStopped(): boolean;
25
- /** Indicates whether recording is active */
26
- get isRecording(): boolean;
27
- /** Indicates whether rewind is active */
28
- get isRewinding(): boolean;
29
- /** Indicates whether fast-foward is active */
30
- get isFastForwarding(): boolean;
31
- /** Indicates whether repeat is enabled */
32
- get isRepeatEnabled(): boolean;
33
- onPropertyChanged(property: string, callback: () => void): void;
34
- /** Toggle pause */
35
- pause(): void;
36
- /** Toggle play */
37
- play(): void;
38
- /**
39
- * Receive and handle an OSC message
40
- * @param message The message to be handled
41
- */
42
- receive(message: OscMessage): boolean;
43
- /** Toggle recording */
44
- record(): void;
45
- /** Start fast fowarding. Will continue until stopped */
46
- startFastForwarding(): void;
47
- /** Start rewinding. Will continue until stopped */
48
- startRewinding(): void;
49
- /** Stop playback or recording */
50
- stop(): void;
51
- /** Stop fast forwarding */
52
- stopFastForwarding(): void;
53
- /** Stop rewinding */
54
- stopRewinding(): void;
55
- /** Toggle repeat on or off */
56
- toggleRepeat(): void;
57
- }
1
+ /**
2
+ * Contains classes for controlling Reaper's transport
3
+ * @module
4
+ */
5
+ import { INotifyPropertyChanged } from './Notify';
6
+ import { ISendOscMessage, OscMessage } from './Messages';
7
+ /** The Reaper transport */
8
+ export declare class Transport implements INotifyPropertyChanged {
9
+ private _isFastForwarding;
10
+ private _isPlaying;
11
+ private _isRecording;
12
+ private _isRepeatEnabled;
13
+ private _isRewinding;
14
+ private _isStopped;
15
+ private readonly _handlers;
16
+ private readonly _sendOscMessage;
17
+ /**
18
+ * @param sendOscMessage A callback used to send OSC messages to Reaper
19
+ */
20
+ constructor(sendOscMessage: ISendOscMessage);
21
+ /** Indicates whether playback is active */
22
+ get isPlaying(): boolean;
23
+ /** Indicates whether playback is stopped */
24
+ get isStopped(): boolean;
25
+ /** Indicates whether recording is active */
26
+ get isRecording(): boolean;
27
+ /** Indicates whether rewind is active */
28
+ get isRewinding(): boolean;
29
+ /** Indicates whether fast-foward is active */
30
+ get isFastForwarding(): boolean;
31
+ /** Indicates whether repeat is enabled */
32
+ get isRepeatEnabled(): boolean;
33
+ onPropertyChanged(property: string, callback: () => void): () => void;
34
+ /** Toggle pause */
35
+ pause(): void;
36
+ /** Toggle play */
37
+ play(): void;
38
+ /**
39
+ * Receive and handle an OSC message
40
+ * @param message The message to be handled
41
+ */
42
+ receive(message: OscMessage): boolean;
43
+ /** Toggle recording */
44
+ record(): void;
45
+ /** Start fast fowarding. Will continue until stopped */
46
+ startFastForwarding(): void;
47
+ /** Start rewinding. Will continue until stopped */
48
+ startRewinding(): void;
49
+ /** Stop playback or recording */
50
+ stop(): void;
51
+ /** Stop fast forwarding */
52
+ stopFastForwarding(): void;
53
+ /** Stop rewinding */
54
+ stopRewinding(): void;
55
+ /** Toggle repeat on or off */
56
+ toggleRepeat(): void;
57
+ }
package/dist/Transport.js CHANGED
@@ -1,138 +1,138 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Transport = void 0;
10
- /**
11
- * Contains classes for controlling Reaper's transport
12
- * @module
13
- */
14
- const Notify_1 = require("./Notify");
15
- const Handlers_1 = require("./Handlers");
16
- const Messages_1 = require("./Messages");
17
- /** The Reaper transport */
18
- let Transport = class Transport {
19
- /**
20
- * @param sendOscMessage A callback used to send OSC messages to Reaper
21
- */
22
- constructor(sendOscMessage) {
23
- this._isFastForwarding = false;
24
- this._isPlaying = false;
25
- this._isRecording = false;
26
- this._isRepeatEnabled = false;
27
- this._isRewinding = false;
28
- this._isStopped = false;
29
- this._handlers = [
30
- new Handlers_1.BooleanMessageHandler('/repeat', value => (this._isRepeatEnabled = value)),
31
- new Handlers_1.BooleanMessageHandler('/record', value => (this._isRecording = value)),
32
- new Handlers_1.BooleanMessageHandler('/stop', value => (this._isStopped = value)),
33
- new Handlers_1.BooleanMessageHandler('/play', value => (this._isPlaying = value)),
34
- new Handlers_1.BooleanMessageHandler('/rewind', value => (this._isRewinding = value)),
35
- new Handlers_1.BooleanMessageHandler('/forward', value => (this._isFastForwarding = value)),
36
- ];
37
- this._sendOscMessage = sendOscMessage;
38
- }
39
- /** Indicates whether playback is active */
40
- get isPlaying() {
41
- return this._isPlaying;
42
- }
43
- /** Indicates whether playback is stopped */
44
- get isStopped() {
45
- return this._isStopped;
46
- }
47
- /** Indicates whether recording is active */
48
- get isRecording() {
49
- return this._isRecording;
50
- }
51
- /** Indicates whether rewind is active */
52
- get isRewinding() {
53
- return this._isRewinding;
54
- }
55
- /** Indicates whether fast-foward is active */
56
- get isFastForwarding() {
57
- return this._isFastForwarding;
58
- }
59
- /** Indicates whether repeat is enabled */
60
- get isRepeatEnabled() {
61
- return this._isRepeatEnabled;
62
- }
63
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
64
- onPropertyChanged(property, callback) {
65
- throw new Error('not implemented');
66
- }
67
- /** Toggle pause */
68
- pause() {
69
- this._sendOscMessage(new Messages_1.OscMessage('/pause'));
70
- }
71
- /** Toggle play */
72
- play() {
73
- this._sendOscMessage(new Messages_1.OscMessage('/play'));
74
- }
75
- /**
76
- * Receive and handle an OSC message
77
- * @param message The message to be handled
78
- */
79
- receive(message) {
80
- for (const handler of this._handlers) {
81
- if (handler.handle(message)) {
82
- return true;
83
- }
84
- }
85
- return false;
86
- }
87
- /** Toggle recording */
88
- record() {
89
- this._sendOscMessage(new Messages_1.OscMessage('/record'));
90
- }
91
- /** Start fast fowarding. Will continue until stopped */
92
- startFastForwarding() {
93
- this._sendOscMessage(new Messages_1.BooleanMessage('/forward', true));
94
- }
95
- /** Start rewinding. Will continue until stopped */
96
- startRewinding() {
97
- this._sendOscMessage(new Messages_1.BooleanMessage('/rewind', true));
98
- }
99
- /** Stop playback or recording */
100
- stop() {
101
- this._sendOscMessage(new Messages_1.OscMessage('/stop'));
102
- }
103
- /** Stop fast forwarding */
104
- stopFastForwarding() {
105
- this._sendOscMessage(new Messages_1.BooleanMessage('/forward', false));
106
- }
107
- /** Stop rewinding */
108
- stopRewinding() {
109
- this._sendOscMessage(new Messages_1.BooleanMessage('/rewind', false));
110
- }
111
- /** Toggle repeat on or off */
112
- toggleRepeat() {
113
- this._sendOscMessage(new Messages_1.OscMessage('/repeat'));
114
- }
115
- };
116
- __decorate([
117
- Notify_1.notify('isFastForwarding')
118
- ], Transport.prototype, "_isFastForwarding", void 0);
119
- __decorate([
120
- Notify_1.notify('isPlaying')
121
- ], Transport.prototype, "_isPlaying", void 0);
122
- __decorate([
123
- Notify_1.notify('isRecording')
124
- ], Transport.prototype, "_isRecording", void 0);
125
- __decorate([
126
- Notify_1.notify('isRepeatEnabled')
127
- ], Transport.prototype, "_isRepeatEnabled", void 0);
128
- __decorate([
129
- Notify_1.notify('isRewinding')
130
- ], Transport.prototype, "_isRewinding", void 0);
131
- __decorate([
132
- Notify_1.notify('isStopped')
133
- ], Transport.prototype, "_isStopped", void 0);
134
- Transport = __decorate([
135
- Notify_1.notifyOnPropertyChanged
136
- ], Transport);
137
- exports.Transport = Transport;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.Transport = void 0;
10
+ /**
11
+ * Contains classes for controlling Reaper's transport
12
+ * @module
13
+ */
14
+ const Notify_1 = require("./Notify");
15
+ const Handlers_1 = require("./Handlers");
16
+ const Messages_1 = require("./Messages");
17
+ /** The Reaper transport */
18
+ let Transport = class Transport {
19
+ /**
20
+ * @param sendOscMessage A callback used to send OSC messages to Reaper
21
+ */
22
+ constructor(sendOscMessage) {
23
+ this._isFastForwarding = false;
24
+ this._isPlaying = false;
25
+ this._isRecording = false;
26
+ this._isRepeatEnabled = false;
27
+ this._isRewinding = false;
28
+ this._isStopped = false;
29
+ this._handlers = [
30
+ new Handlers_1.BooleanMessageHandler('/repeat', value => (this._isRepeatEnabled = value)),
31
+ new Handlers_1.BooleanMessageHandler('/record', value => (this._isRecording = value)),
32
+ new Handlers_1.BooleanMessageHandler('/stop', value => (this._isStopped = value)),
33
+ new Handlers_1.BooleanMessageHandler('/play', value => (this._isPlaying = value)),
34
+ new Handlers_1.BooleanMessageHandler('/rewind', value => (this._isRewinding = value)),
35
+ new Handlers_1.BooleanMessageHandler('/forward', value => (this._isFastForwarding = value)),
36
+ ];
37
+ this._sendOscMessage = sendOscMessage;
38
+ }
39
+ /** Indicates whether playback is active */
40
+ get isPlaying() {
41
+ return this._isPlaying;
42
+ }
43
+ /** Indicates whether playback is stopped */
44
+ get isStopped() {
45
+ return this._isStopped;
46
+ }
47
+ /** Indicates whether recording is active */
48
+ get isRecording() {
49
+ return this._isRecording;
50
+ }
51
+ /** Indicates whether rewind is active */
52
+ get isRewinding() {
53
+ return this._isRewinding;
54
+ }
55
+ /** Indicates whether fast-foward is active */
56
+ get isFastForwarding() {
57
+ return this._isFastForwarding;
58
+ }
59
+ /** Indicates whether repeat is enabled */
60
+ get isRepeatEnabled() {
61
+ return this._isRepeatEnabled;
62
+ }
63
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
64
+ onPropertyChanged(property, callback) {
65
+ throw new Error('not implemented');
66
+ }
67
+ /** Toggle pause */
68
+ pause() {
69
+ this._sendOscMessage(new Messages_1.OscMessage('/pause'));
70
+ }
71
+ /** Toggle play */
72
+ play() {
73
+ this._sendOscMessage(new Messages_1.OscMessage('/play'));
74
+ }
75
+ /**
76
+ * Receive and handle an OSC message
77
+ * @param message The message to be handled
78
+ */
79
+ receive(message) {
80
+ for (const handler of this._handlers) {
81
+ if (handler.handle(message)) {
82
+ return true;
83
+ }
84
+ }
85
+ return false;
86
+ }
87
+ /** Toggle recording */
88
+ record() {
89
+ this._sendOscMessage(new Messages_1.OscMessage('/record'));
90
+ }
91
+ /** Start fast fowarding. Will continue until stopped */
92
+ startFastForwarding() {
93
+ this._sendOscMessage(new Messages_1.BooleanMessage('/forward', true));
94
+ }
95
+ /** Start rewinding. Will continue until stopped */
96
+ startRewinding() {
97
+ this._sendOscMessage(new Messages_1.BooleanMessage('/rewind', true));
98
+ }
99
+ /** Stop playback or recording */
100
+ stop() {
101
+ this._sendOscMessage(new Messages_1.OscMessage('/stop'));
102
+ }
103
+ /** Stop fast forwarding */
104
+ stopFastForwarding() {
105
+ this._sendOscMessage(new Messages_1.BooleanMessage('/forward', false));
106
+ }
107
+ /** Stop rewinding */
108
+ stopRewinding() {
109
+ this._sendOscMessage(new Messages_1.BooleanMessage('/rewind', false));
110
+ }
111
+ /** Toggle repeat on or off */
112
+ toggleRepeat() {
113
+ this._sendOscMessage(new Messages_1.OscMessage('/repeat'));
114
+ }
115
+ };
116
+ __decorate([
117
+ Notify_1.notify('isFastForwarding')
118
+ ], Transport.prototype, "_isFastForwarding", void 0);
119
+ __decorate([
120
+ Notify_1.notify('isPlaying')
121
+ ], Transport.prototype, "_isPlaying", void 0);
122
+ __decorate([
123
+ Notify_1.notify('isRecording')
124
+ ], Transport.prototype, "_isRecording", void 0);
125
+ __decorate([
126
+ Notify_1.notify('isRepeatEnabled')
127
+ ], Transport.prototype, "_isRepeatEnabled", void 0);
128
+ __decorate([
129
+ Notify_1.notify('isRewinding')
130
+ ], Transport.prototype, "_isRewinding", void 0);
131
+ __decorate([
132
+ Notify_1.notify('isStopped')
133
+ ], Transport.prototype, "_isStopped", void 0);
134
+ Transport = __decorate([
135
+ Notify_1.notifyOnPropertyChanged
136
+ ], Transport);
137
+ exports.Transport = Transport;
138
138
  //# sourceMappingURL=Transport.js.map
package/dist/index.d.ts CHANGED
@@ -1,14 +1,15 @@
1
- /**
2
- * A library for controlling Reaper via Open Sound Control (OSC)
3
- *
4
- * @packageDescription
5
- */
6
- /**
7
- * @module reaper-osc
8
- */
9
- export * from './Reaper';
10
- export * from './Tracks';
11
- export * from './Transport';
12
- export * from './Fx';
13
- export * from './Handlers';
14
- export * from './Messages';
1
+ /**
2
+ * A library for controlling Reaper via Open Sound Control (OSC)
3
+ *
4
+ * @packageDescription
5
+ */
6
+ /**
7
+ * @module reaper-osc
8
+ */
9
+ export * from './Reaper';
10
+ export * from './Tracks';
11
+ export * from './Transport';
12
+ export * from './Fx';
13
+ export * from './Handlers';
14
+ export * from './Messages';
15
+ export { INotifyPropertyChanged } from './Notify';
package/dist/index.js CHANGED
@@ -1,27 +1,27 @@
1
- "use strict";
2
- /**
3
- * A library for controlling Reaper via Open Sound Control (OSC)
4
- *
5
- * @packageDescription
6
- */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
- };
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- /**
19
- * @module reaper-osc
20
- */
21
- __exportStar(require("./Reaper"), exports);
22
- __exportStar(require("./Tracks"), exports);
23
- __exportStar(require("./Transport"), exports);
24
- __exportStar(require("./Fx"), exports);
25
- __exportStar(require("./Handlers"), exports);
26
- __exportStar(require("./Messages"), exports);
1
+ "use strict";
2
+ /**
3
+ * A library for controlling Reaper via Open Sound Control (OSC)
4
+ *
5
+ * @packageDescription
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ /**
19
+ * @module reaper-osc
20
+ */
21
+ __exportStar(require("./Reaper"), exports);
22
+ __exportStar(require("./Tracks"), exports);
23
+ __exportStar(require("./Transport"), exports);
24
+ __exportStar(require("./Fx"), exports);
25
+ __exportStar(require("./Handlers"), exports);
26
+ __exportStar(require("./Messages"), exports);
27
27
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,53 +1,54 @@
1
- {
2
- "name": "reaper-osc",
3
- "version": "0.2.0",
4
- "description": "Controls Cockos Reaper using OSC",
5
- "main": "./dist/index.js",
6
- "repository": "https://github.com/LykaiosNZ/reaper-osc.js",
7
- "author": "Ben Simpson",
8
- "license": "MIT",
9
- "keywords": [
10
- "reaper",
11
- "osc",
12
- "daw",
13
- "sound",
14
- "control",
15
- "surface",
16
- "logic"
17
- ],
18
- "dependencies": {
19
- "osc": "^2.4.1",
20
- "ste-signals": "^2.1.7",
21
- "ste-simple-events": "^2.1.7"
22
- },
23
- "devDependencies": {
24
- "@babel/core": "^7.14.3",
25
- "@babel/preset-env": "^7.14.4",
26
- "@babel/preset-typescript": "^7.13.0",
27
- "@tsconfig/node12": "^1.0.7",
28
- "@types/jest": "^26.0.23",
29
- "@types/node": "^15.0.3",
30
- "@typescript-eslint/eslint-plugin": "^4.23.0",
31
- "@typescript-eslint/parser": "^4.23.0",
32
- "babel-jest": "^27.0.2",
33
- "eslint": "^7.26.0",
34
- "jest": "^27.0.4",
35
- "prettier": "^2.3.0",
36
- "tsc-watch": "^4.2.9",
37
- "typedoc": "^0.20.36",
38
- "typedoc-neo-theme": "^1.1.1",
39
- "typescript": "^4.2.4"
40
- },
41
- "scripts": {
42
- "build": "tsc",
43
- "watch": "tsc -w",
44
- "docs": "typedoc --options ./typedoc.json",
45
- "run": "tsc && node .",
46
- "test": "tsc && jest",
47
- "checkFormatting": "prettier --check ./src",
48
- "format": "prettier --write ./src"
49
- },
50
- "files": [
51
- "./dist"
52
- ]
53
- }
1
+ {
2
+ "name": "reaper-osc",
3
+ "version": "0.3.0",
4
+ "description": "Controls Cockos Reaper using OSC",
5
+ "main": "./dist/index.js",
6
+ "repository": "https://github.com/LykaiosNZ/reaper-osc.js",
7
+ "author": "Ben Simpson",
8
+ "license": "MIT",
9
+ "keywords": [
10
+ "reaper",
11
+ "osc",
12
+ "daw",
13
+ "sound",
14
+ "control",
15
+ "surface",
16
+ "logic"
17
+ ],
18
+ "dependencies": {
19
+ "osc": "^2.4.1",
20
+ "ste-signals": "^2.1.7",
21
+ "ste-simple-events": "^2.1.7"
22
+ },
23
+ "devDependencies": {
24
+ "@babel/core": "^7.14.3",
25
+ "@babel/preset-env": "^7.14.4",
26
+ "@babel/preset-typescript": "^7.13.0",
27
+ "@tsconfig/node12": "^1.0.7",
28
+ "@types/jest": "^26.0.23",
29
+ "@types/node": "^15.0.3",
30
+ "@typescript-eslint/eslint-plugin": "^4.23.0",
31
+ "@typescript-eslint/parser": "^4.23.0",
32
+ "babel-jest": "^27.0.2",
33
+ "eslint": "^7.26.0",
34
+ "jest": "^27.0.4",
35
+ "prettier": "^2.3.0",
36
+ "semantic-release": "22.0.12",
37
+ "tsc-watch": "^4.2.9",
38
+ "typedoc": "^0.20.36",
39
+ "typedoc-neo-theme": "^1.1.1",
40
+ "typescript": "^4.2.4"
41
+ },
42
+ "scripts": {
43
+ "build": "tsc",
44
+ "watch": "tsc -w",
45
+ "docs": "typedoc --options ./typedoc.json",
46
+ "run": "tsc && node .",
47
+ "test": "tsc && jest",
48
+ "checkFormatting": "prettier --check ./src",
49
+ "format": "prettier --write ./src"
50
+ },
51
+ "files": [
52
+ "./dist"
53
+ ]
54
+ }