Skip to content

Conversation

@thgrund
Copy link

@thgrund thgrund commented Aug 14, 2025

The timestamps of the OSC bundles are considered now and are used for collecting messages before using them for calculcations. This stabilizes the event-highlighting animation, especially when working with big files.

See: #229

@thgrund thgrund force-pushed the 229-use-timetags-of-bundled-osc-messages branch 4 times, most recently from abfac86 to 5dd387d Compare August 14, 2025 18:07
@thgrund thgrund changed the title Event Highlighting: use timetags of bundled osc messages [Event Highlighting]: use timetags of bundled osc messages Aug 14, 2025
@ndr-brt ndr-brt self-requested a review August 18, 2025 09:21
thgrund and others added 4 commits August 20, 2025 12:42
Delete styles/tidal.less

Restore tidal.less file

Add condition to ensure, that meta data will only be added, when the feature is enabled.

Refactor osc handling

Introduce eventIds

Add multiple text editor support

Fix PR issues

Refactor osc server transformer logic

chore: move highlight feature enable check to main

Add LineProcessor helper class

Extract regex statements

Add audio motion analyzer

Add styles

Use MrReason setup directory as stack enrtry point

Change stack package path

Continue rebasing

Continue rebasing

Continue rebasing

Continue rebasing

Continue rebasing

Continue rebasing

Continue rebasing

Continue rebasing

Continue rebasing

Continue rebasing

Continue rebasing

Continue rebasing

Continue rebasing

Continue rebasing

Fix remaining rebase issues

Fix remote control

Add safety check

Handle osc style changes

Add a event highlighting web worker

Replace old event queue with worker queue

Add set tests

Remove rebase duplication

Add osc style description to README

Remove polyfills set import in main

Add first attempt of state resetting when receiving hush

Add a discard counter in the worker

Fix bugs

Remove worker

Group tidal events by timestamp

Remove missThreshold

Rename messageBuffer array

Refactor event-highlighter

Update README

Fix unit tests

Revert mrreason setup changes

Remove fonts and styles

Add fps description

Remove hush handling

Remove line processor fixes
@thgrund thgrund force-pushed the 229-use-timetags-of-bundled-osc-messages branch from 107afd4 to aefc595 Compare August 20, 2025 10:47
@thgrund
Copy link
Author

thgrund commented Aug 25, 2025

@ndr-brt there is nothing left to do from my end here, could you please give it a look? Would be awesome, if I could start adding the rest of the optimizations and one more feature. Then I would be ready to launch a new version :-)

@ndr-brt
Copy link
Collaborator

ndr-brt commented Aug 25, 2025

@thgrund hey, I wasn't aware, for the next time, when you are ready for another review, you can re-request it, so I will get a notification ;)

Comment on lines +138 to +148
const transformedArgs = [
{ value: "time" }, { value: time },
{ value: "id" }, args[0],
{ value: "duration" }, args[1],
{ value: "cycle" }, args[2],
{ value: "colStart" }, args[3],
{ value: "eventId" }, { value: args[4].value - 1 },
{ value: "colEnd" }, args[5],
];

/** requestAnimationFrame callback */
animate(now) {
const elapsed = now - this.then;
const configFPS = atom.config.get('tidalcycles.eventHighlighting.fps');
const fpsInterval = 1000 / configFPS;
const message = OscServer.asDictionary(transformedArgs);
Copy link
Collaborator

@ndr-brt ndr-brt Aug 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd avoid to call OscServer.asDictionary here, it will be easier to just create the message directly from args


if (oscMessage.oscType === "bundle") {
oscMessage.elements.forEach(element => {
element.time = OscServer.fromNTPTime(oscMessage.timetag);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

better to pass the timetag to the subscriber and let them to convert it, if needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants