reaper-osc 0.3.1 → 0.4.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.
package/dist/Handlers.js CHANGED
@@ -10,8 +10,8 @@ class TrackMessageHandler {
10
10
  this.trackSelector = trackSelector;
11
11
  }
12
12
  handle(message) {
13
- if (message.addressParts[1] === 'track') {
14
- const trackNumber = parseInt(message.addressParts[2]);
13
+ if (message.addressParts[0] === 'track') {
14
+ const trackNumber = parseInt(message.addressParts[1]);
15
15
  // If NaN, probably means that it's a message for the selected track - ignore
16
16
  if (isNaN(trackNumber)) {
17
17
  return false;
@@ -41,8 +41,8 @@ class TrackFxMessageHandler {
41
41
  this.fxSelector = fxSelector;
42
42
  }
43
43
  handle(message) {
44
- if (message.addressParts[1] === 'track' && message.addressParts[3] === 'fx') {
45
- const fxNumber = parseInt(message.addressParts[4]);
44
+ if (message.addressParts[0] === 'track' && message.addressParts[2] === 'fx') {
45
+ const fxNumber = parseInt(message.addressParts[3]);
46
46
  if (isNaN(fxNumber)) {
47
47
  throw new Error('Expected an integer');
48
48
  }
@@ -27,28 +27,36 @@ export declare enum OscArgumentType {
27
27
  COLOR = "r",
28
28
  MIDI = "m"
29
29
  }
30
- export declare class OscArgument<T> {
30
+ export interface OscArgument<T> {
31
31
  readonly type: OscArgumentType;
32
- readonly value: T;
33
- constructor(type: OscArgumentType, value: T);
32
+ value: T;
34
33
  }
35
- export declare class StringArgument extends OscArgument<string> {
36
- constructor(value: string);
34
+ export declare type SomeOscArgument = StringArgument | IntArgument | FloatArgument;
35
+ export interface StringArgument extends OscArgument<string> {
36
+ type: OscArgumentType.STRING;
37
+ readonly value: string;
37
38
  }
38
- export declare class IntArgument extends OscArgument<number> {
39
- constructor(value: number);
39
+ export interface IntArgument extends OscArgument<number> {
40
+ type: OscArgumentType.INT;
41
+ readonly value: number;
40
42
  }
41
- export declare class BoolArgument extends IntArgument {
42
- constructor(value: boolean);
43
- }
44
- export declare class FloatArgument extends OscArgument<number> {
45
- constructor(value: number);
43
+ export interface FloatArgument extends OscArgument<number> {
44
+ type: OscArgumentType.FLOAT;
45
+ readonly value: number;
46
46
  }
47
+ export declare const StringArgument: (value: string) => StringArgument;
48
+ export declare const IntArgument: (value: number) => IntArgument;
49
+ export declare const FloatArgument: (value: number) => FloatArgument;
50
+ export declare const BoolArgument: (value: boolean) => IntArgument;
51
+ export declare type RawOscMessage = {
52
+ readonly address: string;
53
+ readonly args?: SomeOscArgument[];
54
+ };
47
55
  export declare class OscMessage {
48
56
  readonly address: string;
49
57
  readonly addressParts: string[];
50
- readonly args: OscArgument<unknown>[];
51
- constructor(address: string, args?: OscArgument<unknown>[]);
58
+ readonly args: SomeOscArgument[];
59
+ constructor(address: string, args?: SomeOscArgument[]);
52
60
  }
53
61
  export declare class StringMessage extends OscMessage {
54
62
  constructor(address: string, value: string);
package/dist/Messages.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FloatMessage = exports.IntegerMessage = exports.ToggleMessage = exports.ActionMessage = exports.BooleanMessage = exports.StringMessage = exports.OscMessage = exports.FloatArgument = exports.BoolArgument = exports.IntArgument = exports.StringArgument = exports.OscArgument = exports.OscArgumentType = void 0;
3
+ exports.FloatMessage = exports.IntegerMessage = exports.ToggleMessage = exports.ActionMessage = exports.BooleanMessage = exports.StringMessage = exports.OscMessage = exports.BoolArgument = exports.FloatArgument = exports.IntArgument = exports.StringArgument = exports.OscArgumentType = void 0;
4
4
  var OscArgumentType;
5
5
  (function (OscArgumentType) {
6
6
  /** 32-bit Integer */
@@ -28,54 +28,31 @@ var OscArgumentType;
28
28
  OscArgumentType["COLOR"] = "r";
29
29
  OscArgumentType["MIDI"] = "m";
30
30
  })(OscArgumentType = exports.OscArgumentType || (exports.OscArgumentType = {}));
31
- class OscArgument {
32
- constructor(type, value) {
33
- this.type = type;
34
- this.value = value;
35
- }
36
- }
37
- exports.OscArgument = OscArgument;
38
- class StringArgument extends OscArgument {
39
- constructor(value) {
40
- super(OscArgumentType.STRING, value);
41
- }
42
- }
31
+ const StringArgument = (value) => ({ type: OscArgumentType.STRING, value: value });
43
32
  exports.StringArgument = StringArgument;
44
- class IntArgument extends OscArgument {
45
- constructor(value) {
46
- super(OscArgumentType.INT, value);
47
- }
48
- }
33
+ const IntArgument = (value) => ({ type: OscArgumentType.INT, value: value });
49
34
  exports.IntArgument = IntArgument;
50
- class BoolArgument extends IntArgument {
51
- constructor(value) {
52
- super(value ? 1 : 0);
53
- }
54
- }
55
- exports.BoolArgument = BoolArgument;
56
- class FloatArgument extends OscArgument {
57
- constructor(value) {
58
- super(OscArgumentType.FLOAT, value);
59
- }
60
- }
35
+ const FloatArgument = (value) => ({ type: OscArgumentType.FLOAT, value: value });
61
36
  exports.FloatArgument = FloatArgument;
37
+ const BoolArgument = (value) => ({ type: OscArgumentType.INT, value: value ? 1 : 0 });
38
+ exports.BoolArgument = BoolArgument;
62
39
  class OscMessage {
63
40
  constructor(address, args) {
64
41
  this.address = address;
65
42
  this.args = args !== null && args !== void 0 ? args : [];
66
- this.addressParts = address.split('/');
43
+ this.addressParts = address.split('/').slice(1);
67
44
  }
68
45
  }
69
46
  exports.OscMessage = OscMessage;
70
47
  class StringMessage extends OscMessage {
71
48
  constructor(address, value) {
72
- super(address, [new StringArgument(value)]);
49
+ super(address, [exports.StringArgument(value)]);
73
50
  }
74
51
  }
75
52
  exports.StringMessage = StringMessage;
76
53
  class BooleanMessage extends OscMessage {
77
54
  constructor(address, value) {
78
- const args = [new BoolArgument(value)];
55
+ const args = [exports.BoolArgument(value)];
79
56
  super(address, args);
80
57
  }
81
58
  }
@@ -85,9 +62,9 @@ class ActionMessage extends OscMessage {
85
62
  if (typeof commandId === 'number') {
86
63
  commandId = commandId.toString();
87
64
  }
88
- const args = [new StringArgument(commandId)];
65
+ const args = [exports.StringArgument(commandId)];
89
66
  if (value !== null) {
90
- args.push(new FloatArgument(value));
67
+ args.push(exports.FloatArgument(value));
91
68
  }
92
69
  super('/action/str', args);
93
70
  }
@@ -101,14 +78,14 @@ class ToggleMessage extends OscMessage {
101
78
  exports.ToggleMessage = ToggleMessage;
102
79
  class IntegerMessage extends OscMessage {
103
80
  constructor(address, value) {
104
- const args = [new IntArgument(value)];
81
+ const args = [exports.IntArgument(value)];
105
82
  super(address, args);
106
83
  }
107
84
  }
108
85
  exports.IntegerMessage = IntegerMessage;
109
86
  class FloatMessage extends OscMessage {
110
87
  constructor(address, value) {
111
- const args = [new FloatArgument(value)];
88
+ const args = [exports.FloatArgument(value)];
112
89
  super(address, args);
113
90
  }
114
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Messages.js","sourceRoot":"","sources":["../src/Messages.ts"],"names":[],"mappings":";;;AAIA,IAAY,eAyBX;AAzBD,WAAY,eAAe;IACzB,qBAAqB;IACrB,4BAAS,CAAA;IACT,qBAAqB;IACrB,6BAAU,CAAA;IACV,4BAA4B;IAC5B,8BAAW,CAAA;IACX,4BAA4B;IAC5B,+BAAY,CAAA;IACZ,aAAa;IACb,+BAAY,CAAA;IACZ,uBAAuB;IACvB,6BAAU,CAAA;IACV,kBAAkB;IAClB,6BAAU,CAAA;IACV,wDAAwD;IACxD,6BAAU,CAAA;IACV,yDAAyD;IACzD,8BAAW,CAAA;IACX,wDAAwD;IACxD,6BAAU,CAAA;IACV,6FAA6F;IAC7F,gCAAa,CAAA;IACb,8BAAW,CAAA;IACX,6BAAU,CAAA;AACZ,CAAC,EAzBW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAyB1B;AAED,MAAa,WAAW;IAItB,YAAY,IAAqB,EAAE,KAAQ;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AARD,kCAQC;AAED,MAAa,cAAe,SAAQ,WAAmB;IACrD,YAAY,KAAa;QACvB,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;CACF;AAJD,wCAIC;AAED,MAAa,WAAY,SAAQ,WAAmB;IAClD,YAAY,KAAa;QACvB,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;CACF;AAJD,kCAIC;AAED,MAAa,YAAa,SAAQ,WAAW;IAC3C,YAAY,KAAc;QACxB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;CACF;AAJD,oCAIC;AAED,MAAa,aAAc,SAAQ,WAAmB;IACpD,YAAY,KAAa;QACvB,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;CACF;AAJD,sCAIC;AAED,MAAa,UAAU;IAKrB,YAAY,OAAe,EAAE,IAA6B;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;CACF;AAVD,gCAUC;AAED,MAAa,aAAc,SAAQ,UAAU;IAC3C,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;CACF;AAJD,sCAIC;AAED,MAAa,cAAe,SAAQ,UAAU;IAC5C,YAAY,OAAe,EAAE,KAAc;QACzC,MAAM,IAAI,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAEvC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC;CACF;AAND,wCAMC;AAED,MAAa,aAAc,SAAQ,UAAU;IAC3C,YAAY,SAA0B,EAAE,QAAuB,IAAI;QACjE,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACjC,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;SAClC;QAED,MAAM,IAAI,GAA2B,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;QAErE,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;SACrC;QAED,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAdD,sCAcC;AAED,MAAa,aAAc,SAAQ,UAAU;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC7B,CAAC;CACF;AAJD,sCAIC;AAED,MAAa,cAAe,SAAQ,UAAU;IAC5C,YAAY,OAAe,EAAE,KAAa;QACxC,MAAM,IAAI,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC;CACF;AAND,wCAMC;AAED,MAAa,YAAa,SAAQ,UAAU;IAC1C,YAAY,OAAe,EAAE,KAAa;QACxC,MAAM,IAAI,GAAG,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAExC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC;CACF;AAND,oCAMC"}
1
+ {"version":3,"file":"Messages.js","sourceRoot":"","sources":["../src/Messages.ts"],"names":[],"mappings":"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"}
package/dist/Reaper.js CHANGED
@@ -180,9 +180,8 @@ let Reaper = class Reaper {
180
180
  this._osc.on('error', (err) => {
181
181
  this._log('error', 'OSC error received', err);
182
182
  });
183
- this._osc.on('message', (message) => {
184
- // TODO: Figure out a better way to handle this
185
- message = new Messages_1.OscMessage(message.address, message.args);
183
+ this._osc.on('message', (rawMessage) => {
184
+ const message = new Messages_1.OscMessage(rawMessage.address, rawMessage.args);
186
185
  let handled = false;
187
186
  for (const handler of this._handlers) {
188
187
  if (handler.handle(message)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Reaper.js","sourceRoot":"","sources":["../src/Reaper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Reaper.js","sourceRoot":"","sources":["../src/Reaper.ts"],"names":[],"mappings":"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"}
@@ -6,18 +6,25 @@ import { INotifyPropertyChanged } from './Notify';
6
6
  import { ISendOscMessage, OscMessage } from './Messages';
7
7
  /** The Reaper transport */
8
8
  export declare class Transport implements INotifyPropertyChanged {
9
+ private _beat;
10
+ private _frames;
9
11
  private _isFastForwarding;
10
12
  private _isPlaying;
11
13
  private _isRecording;
12
14
  private _isRepeatEnabled;
13
15
  private _isRewinding;
14
16
  private _isStopped;
17
+ private _time;
15
18
  private readonly _handlers;
16
19
  private readonly _sendOscMessage;
17
20
  /**
18
21
  * @param sendOscMessage A callback used to send OSC messages to Reaper
19
22
  */
20
23
  constructor(sendOscMessage: ISendOscMessage);
24
+ /** Indicates the current transport beat in format mm.bb.xx */
25
+ get beat(): string;
26
+ /** Indicates the current transport from in format h:m:s:f */
27
+ get frames(): string;
21
28
  /** Indicates whether playback is active */
22
29
  get isPlaying(): boolean;
23
30
  /** Indicates whether playback is stopped */
@@ -30,6 +37,27 @@ export declare class Transport implements INotifyPropertyChanged {
30
37
  get isFastForwarding(): boolean;
31
38
  /** Indicates whether repeat is enabled */
32
39
  get isRepeatEnabled(): boolean;
40
+ /** Indicates the current transport time in seconds */
41
+ get time(): number;
42
+ /** Jumps to the specified beat (absolute)
43
+ * @param beat The beat to jump to
44
+ */
45
+ jumpToBeat(beat: Beat): void;
46
+ /** Jumps to the specified frame (absolute)
47
+ * @param frame Frame to jump to (in format h:m:s:f). Values in an invalid format will be ignored by Reaper
48
+ */
49
+ jumpToFrame(frame: string): void;
50
+ /** Jumps to the specified time in seconds (absolute)
51
+ * @param time The time to jump to (in seconds). If this value is negative, Reaper will jump to 0
52
+ */
53
+ jumpToTime(time: number): void;
54
+ /**
55
+ * Jumps to a relative time in seconds.
56
+ * Note that the absolute value to jump to is calculated by the library based on the currently known time,
57
+ * as Reaper does not appear to support jumping to a relative time via OSC
58
+ * @param time The relative time jump (in seconds)
59
+ */
60
+ jumpToTimeRelative(time: number): void;
33
61
  onPropertyChanged(property: string, callback: () => void): () => void;
34
62
  /** Toggle pause */
35
63
  pause(): void;
@@ -55,3 +83,32 @@ export declare class Transport implements INotifyPropertyChanged {
55
83
  /** Toggle repeat on or off */
56
84
  toggleRepeat(): void;
57
85
  }
86
+ /** Represents a beat value in Reaper */
87
+ export declare class Beat {
88
+ private readonly _beat;
89
+ private readonly _fraction;
90
+ private readonly _measure;
91
+ /**
92
+ * @param measure The measure of the beat
93
+ * @param beat The beat in the measure
94
+ * @param fraction The beat fraction (must be >= 0 and < 100)
95
+ */
96
+ constructor(measure: number, beat: number, fraction: number);
97
+ /** Indicates the beat portion of the beat (mm) */
98
+ get beat(): number;
99
+ /** Indicates the fraction portion of the beat (bb) */
100
+ get fraction(): number;
101
+ /** Indicates the measure of the beat (xx) */
102
+ get measure(): number;
103
+ /**
104
+ * Parses a string into a Beat
105
+ * @param value String value in the format mm.bb.xx
106
+ * @returns The parsed beat
107
+ * @throws Throws an error when the format is invalid
108
+ */
109
+ static parse(value: string): Beat;
110
+ /**
111
+ * Converts the beat into its string representation in the format mm.bb.xx
112
+ */
113
+ toString(): string;
114
+ }
package/dist/Transport.js CHANGED
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Transport = void 0;
9
+ exports.Beat = exports.Transport = void 0;
10
10
  /**
11
11
  * Contains classes for controlling Reaper's transport
12
12
  * @module
@@ -20,12 +20,15 @@ let Transport = class Transport {
20
20
  * @param sendOscMessage A callback used to send OSC messages to Reaper
21
21
  */
22
22
  constructor(sendOscMessage) {
23
+ this._beat = '1.1.00';
24
+ this._frames = '00:00:00:00';
23
25
  this._isFastForwarding = false;
24
26
  this._isPlaying = false;
25
27
  this._isRecording = false;
26
28
  this._isRepeatEnabled = false;
27
29
  this._isRewinding = false;
28
30
  this._isStopped = false;
31
+ this._time = 0;
29
32
  this._handlers = [
30
33
  new Handlers_1.BooleanMessageHandler('/repeat', value => (this._isRepeatEnabled = value)),
31
34
  new Handlers_1.BooleanMessageHandler('/record', value => (this._isRecording = value)),
@@ -33,9 +36,20 @@ let Transport = class Transport {
33
36
  new Handlers_1.BooleanMessageHandler('/play', value => (this._isPlaying = value)),
34
37
  new Handlers_1.BooleanMessageHandler('/rewind', value => (this._isRewinding = value)),
35
38
  new Handlers_1.BooleanMessageHandler('/forward', value => (this._isFastForwarding = value)),
39
+ new Handlers_1.FloatMessageHandler('/time', value => (this._time = value)),
40
+ new Handlers_1.StringMessageHandler('/beat/str', value => (this._beat = value)),
41
+ new Handlers_1.StringMessageHandler('/frames/str', value => (this._frames = value))
36
42
  ];
37
43
  this._sendOscMessage = sendOscMessage;
38
44
  }
45
+ /** Indicates the current transport beat in format mm.bb.xx */
46
+ get beat() {
47
+ return this._beat;
48
+ }
49
+ /** Indicates the current transport from in format h:m:s:f */
50
+ get frames() {
51
+ return this._frames;
52
+ }
39
53
  /** Indicates whether playback is active */
40
54
  get isPlaying() {
41
55
  return this._isPlaying;
@@ -60,6 +74,38 @@ let Transport = class Transport {
60
74
  get isRepeatEnabled() {
61
75
  return this._isRepeatEnabled;
62
76
  }
77
+ /** Indicates the current transport time in seconds */
78
+ get time() {
79
+ return this._time;
80
+ }
81
+ /** Jumps to the specified beat (absolute)
82
+ * @param beat The beat to jump to
83
+ */
84
+ jumpToBeat(beat) {
85
+ this._sendOscMessage(new Messages_1.StringMessage('/beat/str', beat.toString()));
86
+ }
87
+ /** Jumps to the specified frame (absolute)
88
+ * @param frame Frame to jump to (in format h:m:s:f). Values in an invalid format will be ignored by Reaper
89
+ */
90
+ jumpToFrame(frame) {
91
+ this._sendOscMessage(new Messages_1.StringMessage('/frames/str', frame));
92
+ }
93
+ /** Jumps to the specified time in seconds (absolute)
94
+ * @param time The time to jump to (in seconds). If this value is negative, Reaper will jump to 0
95
+ */
96
+ jumpToTime(time) {
97
+ this._sendOscMessage(new Messages_1.FloatMessage('/time', time));
98
+ }
99
+ /**
100
+ * Jumps to a relative time in seconds.
101
+ * Note that the absolute value to jump to is calculated by the library based on the currently known time,
102
+ * as Reaper does not appear to support jumping to a relative time via OSC
103
+ * @param time The relative time jump (in seconds)
104
+ */
105
+ jumpToTimeRelative(time) {
106
+ const newTime = Math.max(this._time + time, 0);
107
+ this._sendOscMessage(new Messages_1.FloatMessage('/time', newTime));
108
+ }
63
109
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
64
110
  onPropertyChanged(property, callback) {
65
111
  throw new Error('not implemented');
@@ -113,6 +159,12 @@ let Transport = class Transport {
113
159
  this._sendOscMessage(new Messages_1.OscMessage('/repeat'));
114
160
  }
115
161
  };
162
+ __decorate([
163
+ Notify_1.notify('beat')
164
+ ], Transport.prototype, "_beat", void 0);
165
+ __decorate([
166
+ Notify_1.notify('frames')
167
+ ], Transport.prototype, "_frames", void 0);
116
168
  __decorate([
117
169
  Notify_1.notify('isFastForwarding')
118
170
  ], Transport.prototype, "_isFastForwarding", void 0);
@@ -131,8 +183,64 @@ __decorate([
131
183
  __decorate([
132
184
  Notify_1.notify('isStopped')
133
185
  ], Transport.prototype, "_isStopped", void 0);
186
+ __decorate([
187
+ Notify_1.notify('time')
188
+ ], Transport.prototype, "_time", void 0);
134
189
  Transport = __decorate([
135
190
  Notify_1.notifyOnPropertyChanged
136
191
  ], Transport);
137
192
  exports.Transport = Transport;
193
+ /** Represents a beat value in Reaper */
194
+ class Beat {
195
+ /**
196
+ * @param measure The measure of the beat
197
+ * @param beat The beat in the measure
198
+ * @param fraction The beat fraction (must be >= 0 and < 100)
199
+ */
200
+ constructor(measure, beat, fraction) {
201
+ if (fraction < 0 || fraction >= 100) {
202
+ throw new Error(`Invalid fraction ${fraction}, must be >= 0 and < 100`);
203
+ }
204
+ this._beat = beat;
205
+ this._fraction = fraction;
206
+ this._measure = measure;
207
+ }
208
+ /** Indicates the beat portion of the beat (mm) */
209
+ get beat() {
210
+ return this._beat;
211
+ }
212
+ /** Indicates the fraction portion of the beat (bb) */
213
+ get fraction() {
214
+ return this._fraction;
215
+ }
216
+ /** Indicates the measure of the beat (xx) */
217
+ get measure() {
218
+ return this._measure;
219
+ }
220
+ /**
221
+ * Parses a string into a Beat
222
+ * @param value String value in the format mm.bb.xx
223
+ * @returns The parsed beat
224
+ * @throws Throws an error when the format is invalid
225
+ */
226
+ static parse(value) {
227
+ const parts = value.split('.');
228
+ if (parts.length != 3) {
229
+ throw new Error('Must be in the format mm.bb.xx');
230
+ }
231
+ const numberParts = [];
232
+ parts.forEach(element => {
233
+ const intValue = parseInt(element);
234
+ numberParts.push(intValue);
235
+ });
236
+ return new Beat(numberParts[0], numberParts[1], numberParts[2]);
237
+ }
238
+ /**
239
+ * Converts the beat into its string representation in the format mm.bb.xx
240
+ */
241
+ toString() {
242
+ return `${this.measure}.${this.beat}.${this.fraction}`;
243
+ }
244
+ }
245
+ exports.Beat = Beat;
138
246
  //# sourceMappingURL=Transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transport.js","sourceRoot":"","sources":["../src/Transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transport.js","sourceRoot":"","sources":["../src/Transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reaper-osc",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Controls Cockos Reaper using OSC",
5
5
  "main": "./dist/index.js",
6
6
  "repository": "https://github.com/LykaiosNZ/reaper-osc.js",