reaper-osc 0.3.1 → 0.5.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":"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"}
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;AAwBM,MAAM,cAAc,GAAG,CAAC,KAAa,EAAmB,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAA;AAAnG,QAAA,cAAc,kBAAqF;AACzG,MAAM,WAAW,GAAG,CAAC,KAAa,EAAgB,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAA;AAA1F,QAAA,WAAW,eAA+E;AAChG,MAAM,aAAa,GAAG,CAAC,KAAa,EAAkB,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAA;AAAhG,QAAA,aAAa,iBAAmF;AACtG,MAAM,YAAY,GAAG,CAAC,KAAc,EAAgB,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAA;AAApG,QAAA,YAAY,gBAAwF;AAOjH,MAAa,UAAU;IAKrB,YAAY,OAAe,EAAE,IAAwB;QACnD,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,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;CACF;AAVD,gCAUC;AAED,MAAa,aAAc,SAAQ,UAAU;IAC3C,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,OAAO,EAAE,CAAC,sBAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF;AAJD,sCAIC;AAED,MAAa,cAAe,SAAQ,UAAU;IAC5C,YAAY,OAAe,EAAE,KAAc;QACzC,MAAM,IAAI,GAAsB,CAAC,oBAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtD,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,GAAsB,CAAC,sBAAc,CAAC,SAAS,CAAC,CAAC,CAAC;QAE5D,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,qBAAa,CAAC,KAAK,CAAC,CAAC,CAAC;SACjC;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,GAAsB,CAAC,mBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAErD,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,GAAsB,CAAC,qBAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAEvD,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC;CACF;AAND,oCAMC"}
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,27 @@ 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 _loopEnd;
18
+ private _loopStart;
19
+ private _time;
15
20
  private readonly _handlers;
16
21
  private readonly _sendOscMessage;
17
22
  /**
18
23
  * @param sendOscMessage A callback used to send OSC messages to Reaper
19
24
  */
20
25
  constructor(sendOscMessage: ISendOscMessage);
26
+ /** Indicates the current transport beat in format mm.bb.xx */
27
+ get beat(): string;
28
+ /** Indicates the current transport from in format h:m:s:f */
29
+ get frames(): string;
21
30
  /** Indicates whether playback is active */
22
31
  get isPlaying(): boolean;
23
32
  /** Indicates whether playback is stopped */
@@ -30,6 +39,31 @@ export declare class Transport implements INotifyPropertyChanged {
30
39
  get isFastForwarding(): boolean;
31
40
  /** Indicates whether repeat is enabled */
32
41
  get isRepeatEnabled(): boolean;
42
+ /** Indicates the end time of the loop (in seconds) */
43
+ get loopEnd(): number;
44
+ /** Indicates the start time of the loop (in seconds) */
45
+ get loopStart(): number;
46
+ /** Indicates the current transport time in seconds */
47
+ get time(): number;
48
+ /** Jumps to the specified beat (absolute)
49
+ * @param beat The beat to jump to
50
+ */
51
+ jumpToBeat(beat: Beat): void;
52
+ /** Jumps to the specified frame (absolute)
53
+ * @param frame Frame to jump to (in format h:m:s:f). Values in an invalid format will be ignored by Reaper
54
+ */
55
+ jumpToFrame(frame: string): void;
56
+ /** Jumps to the specified time in seconds (absolute)
57
+ * @param time The time to jump to (in seconds). If this value is negative, Reaper will jump to 0
58
+ */
59
+ jumpToTime(time: number): void;
60
+ /**
61
+ * Jumps to a relative time in seconds.
62
+ * Note that the absolute value to jump to is calculated by the library based on the currently known time,
63
+ * as Reaper does not appear to support jumping to a relative time via OSC
64
+ * @param time The relative time jump (in seconds)
65
+ */
66
+ jumpToTimeRelative(time: number): void;
33
67
  onPropertyChanged(property: string, callback: () => void): () => void;
34
68
  /** Toggle pause */
35
69
  pause(): void;
@@ -42,6 +76,16 @@ export declare class Transport implements INotifyPropertyChanged {
42
76
  receive(message: OscMessage): boolean;
43
77
  /** Toggle recording */
44
78
  record(): void;
79
+ /**
80
+ * Sets the loop end time
81
+ * @param time End time for the loop (in seconds)
82
+ */
83
+ setLoopEnd(time: number): void;
84
+ /**
85
+ * Sets the loop start time
86
+ * @param time Start time for the loop (in seconds)
87
+ */
88
+ setLoopStart(time: number): void;
45
89
  /** Start fast fowarding. Will continue until stopped */
46
90
  startFastForwarding(): void;
47
91
  /** Start rewinding. Will continue until stopped */
@@ -55,3 +99,32 @@ export declare class Transport implements INotifyPropertyChanged {
55
99
  /** Toggle repeat on or off */
56
100
  toggleRepeat(): void;
57
101
  }
102
+ /** Represents a beat value in Reaper */
103
+ export declare class Beat {
104
+ private readonly _beat;
105
+ private readonly _fraction;
106
+ private readonly _measure;
107
+ /**
108
+ * @param measure The measure of the beat
109
+ * @param beat The beat in the measure
110
+ * @param fraction The beat fraction (must be >= 0 and < 100)
111
+ */
112
+ constructor(measure: number, beat: number, fraction: number);
113
+ /** Indicates the beat portion of the beat (mm) */
114
+ get beat(): number;
115
+ /** Indicates the fraction portion of the beat (bb) */
116
+ get fraction(): number;
117
+ /** Indicates the measure of the beat (xx) */
118
+ get measure(): number;
119
+ /**
120
+ * Parses a string into a Beat
121
+ * @param value String value in the format mm.bb.xx
122
+ * @returns The parsed beat
123
+ * @throws Throws an error when the format is invalid
124
+ */
125
+ static parse(value: string): Beat;
126
+ /**
127
+ * Converts the beat into its string representation in the format mm.bb.xx
128
+ */
129
+ toString(): string;
130
+ }
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,17 @@ 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._loopEnd = 0;
32
+ this._loopStart = 0;
33
+ this._time = 0;
29
34
  this._handlers = [
30
35
  new Handlers_1.BooleanMessageHandler('/repeat', value => (this._isRepeatEnabled = value)),
31
36
  new Handlers_1.BooleanMessageHandler('/record', value => (this._isRecording = value)),
@@ -33,9 +38,22 @@ let Transport = class Transport {
33
38
  new Handlers_1.BooleanMessageHandler('/play', value => (this._isPlaying = value)),
34
39
  new Handlers_1.BooleanMessageHandler('/rewind', value => (this._isRewinding = value)),
35
40
  new Handlers_1.BooleanMessageHandler('/forward', value => (this._isFastForwarding = value)),
41
+ new Handlers_1.FloatMessageHandler('/time', value => (this._time = value)),
42
+ new Handlers_1.StringMessageHandler('/beat/str', value => (this._beat = value)),
43
+ new Handlers_1.StringMessageHandler('/frames/str', value => (this._frames = value)),
44
+ new Handlers_1.FloatMessageHandler('/loop/start/time', value => (this._loopStart = value)),
45
+ new Handlers_1.FloatMessageHandler('/loop/end/time', value => (this._loopEnd = value))
36
46
  ];
37
47
  this._sendOscMessage = sendOscMessage;
38
48
  }
49
+ /** Indicates the current transport beat in format mm.bb.xx */
50
+ get beat() {
51
+ return this._beat;
52
+ }
53
+ /** Indicates the current transport from in format h:m:s:f */
54
+ get frames() {
55
+ return this._frames;
56
+ }
39
57
  /** Indicates whether playback is active */
40
58
  get isPlaying() {
41
59
  return this._isPlaying;
@@ -60,6 +78,46 @@ let Transport = class Transport {
60
78
  get isRepeatEnabled() {
61
79
  return this._isRepeatEnabled;
62
80
  }
81
+ /** Indicates the end time of the loop (in seconds) */
82
+ get loopEnd() {
83
+ return this._loopEnd;
84
+ }
85
+ /** Indicates the start time of the loop (in seconds) */
86
+ get loopStart() {
87
+ return this._loopStart;
88
+ }
89
+ /** Indicates the current transport time in seconds */
90
+ get time() {
91
+ return this._time;
92
+ }
93
+ /** Jumps to the specified beat (absolute)
94
+ * @param beat The beat to jump to
95
+ */
96
+ jumpToBeat(beat) {
97
+ this._sendOscMessage(new Messages_1.StringMessage('/beat/str', beat.toString()));
98
+ }
99
+ /** Jumps to the specified frame (absolute)
100
+ * @param frame Frame to jump to (in format h:m:s:f). Values in an invalid format will be ignored by Reaper
101
+ */
102
+ jumpToFrame(frame) {
103
+ this._sendOscMessage(new Messages_1.StringMessage('/frames/str', frame));
104
+ }
105
+ /** Jumps to the specified time in seconds (absolute)
106
+ * @param time The time to jump to (in seconds). If this value is negative, Reaper will jump to 0
107
+ */
108
+ jumpToTime(time) {
109
+ this._sendOscMessage(new Messages_1.FloatMessage('/time', time));
110
+ }
111
+ /**
112
+ * Jumps to a relative time in seconds.
113
+ * Note that the absolute value to jump to is calculated by the library based on the currently known time,
114
+ * as Reaper does not appear to support jumping to a relative time via OSC
115
+ * @param time The relative time jump (in seconds)
116
+ */
117
+ jumpToTimeRelative(time) {
118
+ const newTime = Math.max(this._time + time, 0);
119
+ this._sendOscMessage(new Messages_1.FloatMessage('/time', newTime));
120
+ }
63
121
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
64
122
  onPropertyChanged(property, callback) {
65
123
  throw new Error('not implemented');
@@ -88,6 +146,20 @@ let Transport = class Transport {
88
146
  record() {
89
147
  this._sendOscMessage(new Messages_1.OscMessage('/record'));
90
148
  }
149
+ /**
150
+ * Sets the loop end time
151
+ * @param time End time for the loop (in seconds)
152
+ */
153
+ setLoopEnd(time) {
154
+ this._sendOscMessage(new Messages_1.FloatMessage('/loop/end/time', time));
155
+ }
156
+ /**
157
+ * Sets the loop start time
158
+ * @param time Start time for the loop (in seconds)
159
+ */
160
+ setLoopStart(time) {
161
+ this._sendOscMessage(new Messages_1.FloatMessage('/loop/start/time', time));
162
+ }
91
163
  /** Start fast fowarding. Will continue until stopped */
92
164
  startFastForwarding() {
93
165
  this._sendOscMessage(new Messages_1.BooleanMessage('/forward', true));
@@ -113,6 +185,12 @@ let Transport = class Transport {
113
185
  this._sendOscMessage(new Messages_1.OscMessage('/repeat'));
114
186
  }
115
187
  };
188
+ __decorate([
189
+ Notify_1.notify('beat')
190
+ ], Transport.prototype, "_beat", void 0);
191
+ __decorate([
192
+ Notify_1.notify('frames')
193
+ ], Transport.prototype, "_frames", void 0);
116
194
  __decorate([
117
195
  Notify_1.notify('isFastForwarding')
118
196
  ], Transport.prototype, "_isFastForwarding", void 0);
@@ -131,8 +209,70 @@ __decorate([
131
209
  __decorate([
132
210
  Notify_1.notify('isStopped')
133
211
  ], Transport.prototype, "_isStopped", void 0);
212
+ __decorate([
213
+ Notify_1.notify('loopEnd')
214
+ ], Transport.prototype, "_loopEnd", void 0);
215
+ __decorate([
216
+ Notify_1.notify('loopStart')
217
+ ], Transport.prototype, "_loopStart", void 0);
218
+ __decorate([
219
+ Notify_1.notify('time')
220
+ ], Transport.prototype, "_time", void 0);
134
221
  Transport = __decorate([
135
222
  Notify_1.notifyOnPropertyChanged
136
223
  ], Transport);
137
224
  exports.Transport = Transport;
225
+ /** Represents a beat value in Reaper */
226
+ class Beat {
227
+ /**
228
+ * @param measure The measure of the beat
229
+ * @param beat The beat in the measure
230
+ * @param fraction The beat fraction (must be >= 0 and < 100)
231
+ */
232
+ constructor(measure, beat, fraction) {
233
+ if (fraction < 0 || fraction >= 100) {
234
+ throw new Error(`Invalid fraction ${fraction}, must be >= 0 and < 100`);
235
+ }
236
+ this._beat = beat;
237
+ this._fraction = fraction;
238
+ this._measure = measure;
239
+ }
240
+ /** Indicates the beat portion of the beat (mm) */
241
+ get beat() {
242
+ return this._beat;
243
+ }
244
+ /** Indicates the fraction portion of the beat (bb) */
245
+ get fraction() {
246
+ return this._fraction;
247
+ }
248
+ /** Indicates the measure of the beat (xx) */
249
+ get measure() {
250
+ return this._measure;
251
+ }
252
+ /**
253
+ * Parses a string into a Beat
254
+ * @param value String value in the format mm.bb.xx
255
+ * @returns The parsed beat
256
+ * @throws Throws an error when the format is invalid
257
+ */
258
+ static parse(value) {
259
+ const parts = value.split('.');
260
+ if (parts.length != 3) {
261
+ throw new Error('Must be in the format mm.bb.xx');
262
+ }
263
+ const numberParts = [];
264
+ parts.forEach(element => {
265
+ const intValue = parseInt(element);
266
+ numberParts.push(intValue);
267
+ });
268
+ return new Beat(numberParts[0], numberParts[1], numberParts[2]);
269
+ }
270
+ /**
271
+ * Converts the beat into its string representation in the format mm.bb.xx
272
+ */
273
+ toString() {
274
+ return `${this.measure}.${this.beat}.${this.fraction}`;
275
+ }
276
+ }
277
+ exports.Beat = Beat;
138
278
  //# 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.5.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",