Packages Strudel 🌀 Bulka

Packages Strudel

Репозиторий strudel организован как monorepo, содержащий несколько npm packages. Цель множественных packages:

  • организовать кодовую базу на более модульные, инкапсулированные части
  • иметь возможность отказаться от определенных функциональностей
  • поддерживать зависимости core packages небольшими

Обзор

См. последние опубликованные packages на npm. Вот обзор всех packages:

Зонтичные Packages

Эти packages дают вам полностью укомплектованную отправную точку, и, скорее всего, то, что вы хотите использовать в своем проекте:

  • repl: Strudel REPL как веб-компонент.
  • web: Библиотека Strudel для браузера, без UI.

Чтобы узнать больше об этих двух, прочитайте Использование Strudel в вашем проекте

Основные Packages

Эти packages наиболее важные. Вы можете захотеть использовать все из них, если используете strudel в своем проекте:

  • core: движок tidal pattern с базовыми примитивами
  • mini: парсер mini notation + привязки к core
  • transpiler: транспилятор пользовательского кода. синтаксический сахар + подсветка

Языковые расширения

Эти packages расширяют язык pattern специфическими функциями

  • tonal: функции tonal для гамм и аккордов
  • xen: микротональные / ксеногармонические функции

Выходы

Эти packages предоставляют привязки для различных способов вывода strudel patterns:

  • webaudio: вывод webaudio по умолчанию
  • osc: привязки для коммуникации через OSC
  • midi: привязки webmidi
  • csound: привязки csound
  • soundfonts: поддержка Soundfont
  • serial: привязки webserial

Другие

  • embed: встраиваемый REPL веб-компонент

Не поддерживаются

  • react: react hooks и компоненты для strudel
  • eval: старый транспилятор кода
  • tone: привязки для инструментов и эффектов Tone.js
  • webdirt: привязки webdirt, заменены на webaudio package
  • любые @strudel.cycles/* packages были переименованы в @strudel/* начиная с версии 0.10.0.

Инструменты

  • pnpm для управления packages, workspaces и публикации
  • lerna для обновления версий
  • см. CONTRIBUTING.md для получения дополнительной информации