Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Repl refactoring #255

Merged
merged 41 commits into from Nov 13, 2022
Merged

Repl refactoring #255

merged 41 commits into from Nov 13, 2022

Conversation

felixroos
Copy link
Collaborator

@felixroos felixroos commented Nov 10, 2022

finally it's time to use the new scheduler + transpiler in the main repl and throw out Tone.js

This is probably the biggest repl update ever, as I decided to also improve the whole look and feel of the repl while refactoring its internals:

before:

old

after:

new

welcome tab:

welcome

samples tab:

samples tab

console tab:

console tab

repl changes:

  • general style & layout improvement
  • improve code color theme
  • remove line number gutter
  • replace emojis with uncolored svg icons in header
  • replace tidal cycles logo with strudel emoji (while I like the tidal logo, it did not look good that small. it would be cool to have a simple logo in the future)
  • add zen mode (try finding how to activate it :))
  • add closable footer with multiple tabs:
  • welcome tab for new users, opens by default when the url does not contain a code hash
  • samples tab with a list of all loaded samples (to be improved)
  • console tab that listens to new logger messages + has some nice replacements
  • reference tab with all in source doc (to be improved)

internal changes:

  • throw out Tone.js and use new scheduler (cyclist) instead
  • throw out eval package and use new transpiler instead
  • improve repl function to support all features of the main repl
  • add logger system
  • refactor draw to work with new scheduler
  • move draw logic to core
  • support multiple onTrigger callbacks (useful for logging) + refactor usages
  • lazy midi & osc: only tries to start web midi / connect to osc server when .midi / .osc is used
  • make sure browser console does not log any unwanted warnings
  • move stuff in webaudio / sampler

@felixroos felixroos requested a review from yaxu November 13, 2022 18:30
@felixroos felixroos marked this pull request as ready for review November 13, 2022 18:31
@felixroos felixroos merged commit 4bc2f64 into main Nov 13, 2022
@felixroos felixroos deleted the repl-refactoring branch November 13, 2022 19:20
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.

None yet

1 participant