Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

tontonialberto/SalsASTep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

10 Commits

Repository files navigation

SalsASTep

Language workbench for the "StepLang" Domain-Specific Language to express salsa (on1, on2, cuban) footwork patterns, written using JetBrains MPS.

You can define two kinds of root nodes in StepLang:

  • Choreography: it's the breakdown of a (usually short) step sequence
    • For example, the Salsa On2 Basic Step can be expressed as a Choreography
  • CourseSyllabus: it's a collection of choreographies with, hopefully, some common characteristic
    • For example, a collection of Salsa On2 Shines for Beginners can be expressed as a CourseSyllabus

Moreover, it's possible to import choreographies in XML format - take a look at this folder for examples.

The course syllabus and choreographies defined in StepLang can be exported as text, as I've implemented a basic text generator from StepLang to human language.

Showcase

To make a choreography, you can alternate these fundamental actions:

  • Step or tap in one direction
  • Pause

For example, here's the definition for the On2 Basic Step on the spot:

DSL Definition - Basic step on the spot

And here is a demo in MPS:

DSL Definition Demo

Moreover, this language workbench provides several quickfixes to make the editing experience as smooth as possible:

Language Workbench Quickfixes

Lastly, it also enforces some constraint rules:

DSL Constraints

Text Generation

More details

The StepLang DSL comes with a set of assumptions and restrictions.

Assumptions:

  • Both feet start from a centered position, and they are parallel to each other.

  • Every action corresponds to one music count (ie. no syncopated movements are allowed).

  • Every movement must refer to the relative position of the corresponding foot.

    • Example: we step forward with the left foot. To get back to the initial position, we must also step backwards with the left.

Constraints:

  • You cannot step with the same foot that holds your weight. For instance, it is not allowed to step two consecutive times with the left foot.
    • However, it is allowed to tap and then step with the same foot, as a tap does not change the weight.

About

Language workbench for a Domain-Specific Language aimed at expressing Salsa dancing footwork.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /