Skip to content

Commit

Permalink
Release 1.3.0 (#91)
Browse files Browse the repository at this point in the history
  • Loading branch information
Danielku15 committed May 15, 2024
2 parents 14bf5e6 + d279db0 commit 4ff3013
Show file tree
Hide file tree
Showing 221 changed files with 17,509 additions and 23,898 deletions.
21 changes: 21 additions & 0 deletions .github/workflows/build-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Build PR
on:
pull_request:

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*
- run: npm install
- run: npm install @coderline/alphatab@alpha
- run: npm run build
- run: cp web.config ./build
- uses: actions/upload-artifact@v4
with:
name: website
path: ./build/
17 changes: 17 additions & 0 deletions .github/workflows/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Dependabot auto-merge
on: pull_request

permissions:
pull-requests: write
contents: write

jobs:
dependabot:
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- name: Enable auto-merge for Dependabot PRs
run: gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
8 changes: 4 additions & 4 deletions .github/workflows/deploy-develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: montudor/action-zip@v0.1.0
- uses: actions/setup-node@v2
- uses: actions/checkout@v4
- uses: montudor/action-zip@v1
- uses: actions/setup-node@v4
with:
node-version: '16'
node-version: lts/*
- run: npm install
- run: npm install @coderline/alphatab@alpha
- run: npm run build
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/deploy-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: montudor/action-zip@v0.1.0
- uses: actions/setup-node@v2
- uses: actions/checkout@v4
- uses: montudor/action-zip@v1
- uses: actions/setup-node@v4
with:
node-version: '16'
node-version: lts/*
- run: npm install
- run: npm install @coderline/alphatab@latest
- run: npm run build
Expand Down
29 changes: 29 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"search.exclude": {
"**/bower_components": true,
"**/*.code-search": true
},
"explorer.autoRevealExclude": {
"**/bower_components": true
},
"workbench.colorCustomizations": {
"activityBar.activeBackground": "#2f7c47",
"activityBar.background": "#2f7c47",
"activityBar.foreground": "#e7e7e7",
"activityBar.inactiveForeground": "#e7e7e799",
"activityBarBadge.background": "#422c74",
"activityBarBadge.foreground": "#e7e7e7",
"commandCenter.border": "#e7e7e799",
"sash.hoverBorder": "#2f7c47",
"statusBar.background": "#215732",
"statusBar.foreground": "#e7e7e7",
"statusBarItem.hoverBackground": "#2f7c47",
"statusBarItem.remoteBackground": "#215732",
"statusBarItem.remoteForeground": "#e7e7e7",
"titleBar.activeBackground": "#215732",
"titleBar.activeForeground": "#e7e7e7",
"titleBar.inactiveBackground": "#21573299",
"titleBar.inactiveForeground": "#e7e7e799"
},
"peacock.color": "#215732"
}
2 changes: 1 addition & 1 deletion docs/alphatex/bar-metadata.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -119,4 +119,4 @@ If you want to also specify a marker beside the text, use the format `\section M
1.1 1.1 1.1 1.1 |
\\section S Solo // with marker and section name differently
1.1 1.1 1.1 1.1
`}</AlphaTexSample>
`}</AlphaTexSample>
11 changes: 5 additions & 6 deletions docs/alphatex/beat-effects.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ Please find the list of supported effects in the example below.
// slap
3.3{s}
// pop
3.3{p}
3.3{p}
|
// dotted
// dotted
3.3{d}
// double dotted
3.3{dd}
Expand Down Expand Up @@ -83,7 +83,7 @@ The values indicate the number of quarter notes increased or decreased while pla

## Brushes / Arpeggio

Brush stroke effetcs are: brush down `bd`, brush up `bu`, arpeggio down `ad`, and arpeggio up `au`.
Brush stroke effects are: brush down `bd`, brush up `bu`, arpeggio down `ad`, and arpeggio up `au`.
By default, the duration between notes is calculated based on the number of notes in the beat (the chord).
A custom duration (in MIDI ticks) can also be specified with, for example `bd 120`.

Expand All @@ -109,7 +109,7 @@ This will annotate the chord name above the beat.

A global metadata tag `\chord` can define the chord diagram for each chord.
The format is `\chord ChordName String1 String2 ...`. A value must be defined for all strings. `x` annotates that the string is not played.
Additionally there are 4 properties which adjust the chord details:
Additionally there are 4 properties which adjust the chord details:

* `FirstFret Number` - shifts the first fret shown in the diagram higher.
* `Barre Fret1 Fret2 ...` - defines on which frets a barré should be played (visually joins the dots to a bar).
Expand All @@ -129,10 +129,9 @@ Additionally there are 4 properties which adjust the chord details:
\\chord{showname false barre 1 3} "Special" 3 3 3 1 1 1
.
\\ts 2 4
\
(0.1 1.2 0.3 2.4 3.5){ch "C"} (0.1 1.2 0.3 2.4 3.5) |
(1.1 3.2 5.3 3.4 1.5){ch "A#add9"} (1.1 3.2 5.3 3.4 1.5)|
(6.1 8.2 8.3 8.4 6.5){ch "D#"} (6.1 8.2 8.3 8.4 6.5) |
(0.1 0.2 1.3 2.4 2.5 0.6){ch "E"} (0.1 0.2 1.3 2.4 2.5 0.6) |
(3.1 3.2 3.3 1.4 1.5 1.6){ch "Special"} (3.1 3.2 3.3 1.4 1.5 1.6)
`}</AlphaTexSample>
`}</AlphaTexSample>
15 changes: 8 additions & 7 deletions docs/alphatex/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,11 @@ import { AlphaTexSample } from '@site/src/components/AlphaTexSample';

In this section you find all details about how to write music notation using AlphaTex.
AlphaTex is a text format for writing music notation for AlphaTab. AlphaTex loading
can be enabled by specifying `data-tex="true"` on the container elmement.
can be enabled by specifying `data-tex="true"` on the container element.
AlphaTab will load the tex code from the element contents and parse it.
AlphaTex supports most of the features alphaTab supports overall. If you find anything
missing you would like to see, feel free to [initiate a Discussion on GitHub](https://github.com/CoderLine/alphaTab/discussions/new) so we can find a good solution together.
AlphaTex supports most of the features alphaTab supports overall.
If you find anything missing you would like to see, feel free to
[initiate a Discussion on GitHub](https://github.com/CoderLine/alphaTab/discussions/new) so we can find a good solution together.

## Showcase

Expand All @@ -21,11 +22,11 @@ Here is an example score fully rendered using alphaTex.
\\tempo 90
.
:2 19.2{v f} 17.2{v f} |
15.2{v f} 14.2{v f}|
12.2{v f} 10.2{v f}|
15.2{v f} 14.2{v f} |
12.2{v f} 10.2{v f} |
12.2{v f} 14.2{v f}.4 :8 15.2 17.2 |
14.1.2 :8 17.2 15.1 14.1{h} 17.2 |
15.2{v d}.4 :16 17.2{h} 15.2 :8 14.2 14.1 17.1{b(0 4 4 0)}.4 |
15.2{v d}.4 :16 17.2{h} 15.2 :8 14.2 14.1 17.1{b (0 4 4 0)}.4 |
15.1.8 :16 14.1{tu 3} 15.1{tu 3} 14.1{tu 3} :8 17.2 15.1 14.1 :16 12.1{tu 3} 14.1{tu 3} 12.1{tu 3} :8 15.2 14.2 |
12.2 14.3 12.3 15.2 :32 14.2{h} 15.2{h} 14.2{h} 15.2{h}14.2{h} 15.2{h}14.2{h} 15.2{h}14.2{h} 15.2{h}14.2{h} 15.2{h}14.2{h} 15.2{h}14.2{h} 15.2{h}
12.2 14.3 12.3 15.2 :32 14.2{h} 15.2{h} 14.2{h} 15.2{h} 14.2{h} 15.2{h} 14.2{h} 15.2{h} 14.2{h} 15.2{h} 14.2{h} 15.2{h} 14.2{h} 15.2{h} 14.2{h} 15.2{h}
`}</AlphaTexSample>
34 changes: 16 additions & 18 deletions docs/alphatex/metadata.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,41 +4,39 @@ title: Metadata

import { AlphaTexSample } from '@site/src/components/AlphaTexSample';

Metadata is specified using `\tagname value value` at the beginning of the score.
Metadata is specified using `\tagname value value` at the beginning of the score.
It can be used to specify global information like title, tempo or track tuning.
Metadata is optional, but if specified, it must be followed by a dot to indicate the end
of the metadata.
of the metadata.

Some of the metadata tags can also be specified when starting a new staff or track. Please refer to the [Tracks and Staves](/docs/alphatex/tracks-staves) or details on how to start new tracks and staves.
Some of the metadata tags can also be specified when starting a new staff or track.
Please refer to the [Tracks and Staves](/docs/alphatex/tracks-staves) or details on how to start new tracks and staves.

<AlphaTexSample>{`
// Song information (only at the beginning)
\\title "Song Title"
\\subtitle Subtitle
\\artist Artist
\\album 'My Album'
\\album 'My Album'
\\words Daniel
\\music alphaTab
\\copyright Daniel
// Tempo in BPM
\\tempo 200
\
// Track and Staff Settings (can be used after \\track and \staff)
\
// Instrument as General Midi number or name
\\instrument 30
// Track and Staff Settings (can be used after \\track and \\staff)
// Instrument as General MIDI number or name
\\instrument 30
// Capo fret
\\capo 2
// String tuning starting at the most bottom string
\\tuning e5 b4 g4 d4 a3 e3
\
\\tuning e5 b4 g4 d4 a3 e3
// end of metadata
.
.
`}</AlphaTexSample>

## Instrument
As indicated above the instrument can be changed via the `\instrument` metadata.
Refer to the table below for all possible values and names. The list represents the general midi instrument list.
As indicated above, the instrument can be changed via the `\instrument` metadata.
Refer to the table below for all possible values and names. The list represents the General MIDI instrument list.
You can either leave out the spaces or put the names into quotes e.g. `AcousticBass` vs `"Acoustic Bass"`.

export function GeneralMidiList() {
Expand Down Expand Up @@ -184,14 +182,14 @@ export function GeneralMidiList() {
)
}

<div style={{overflow: 'auto', height: "300px"}}>
<div style={{overflow: 'auto', height: "300px"}}>
<table class="table table-striped table-condensed type-table">
<thead>
<tr>
<th>Number</th>
<th>Name</th>
</tr>
</thead>
</thead>
<GeneralMidiList />
</table>
</div>
Expand All @@ -200,8 +198,8 @@ export function GeneralMidiList() {

The tuning of the instrument is defined by the `\tuning` tag. For stringed instruments like the Guitar,
each tuning value defines one string. The format of the tuning value is `{note}{octave}`.
`{note}` is one value of the following values in the given order: C, C# or Db, D, D# or Eb, E, F, F# or Gb, G, G# or Ab, A, A# or Bb, B.
`{octave}` is a number defining the octvate.
`{note}` is one value of the following values: C, C# or Db, D, D# or Eb, E, F, F# or Gb, G, G# or Ab, A, A# or Bb, B.
`{octave}` is a number defining the octave.

For example, a standard guitar tuning is `\tuning E4 B3 G3 D3 A2 E2`. A 5 string bass would be `\tuning G2 D2 A1 E1 B0`.

Expand Down
16 changes: 9 additions & 7 deletions docs/alphatex/note-effects.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ x.3{psu} 3.3 |
### Left Hand Tapping

<AlphaTexSample>{`
:16 15.1{h} 13.1{h} 12.1{h} 15.2{lht}
:16 15.1{h} 13.1{h} 12.1{h} 15.2{lht}
`}</AlphaTexSample>

### Ghost Note
Expand Down Expand Up @@ -106,7 +106,7 @@ Left hand `lf` and right hand `rf` where the fingers are:

<AlphaTexSample>{`
:8 3.3{lf 1} 3.3{lf 2} 3.3{lf 3} 3.3{lf 4} 3.3{lf 5} (2.2{lf 4} 2.3{lf 3} 2.4{lf 2}) |
:8 3.3{rf 1} 3.3{rf 2} 3.3{rf 3} 3.3{rf 4} 3.3{lf 5} |
:8 3.3{rf 1} 3.3{rf 2} 3.3{rf 3} 3.3{rf 4} 3.3{lf 5}
`}</AlphaTexSample>

## Bends
Expand All @@ -123,29 +123,31 @@ The values indicate the number of quarter notes increased bend up while playing.

## Tied Notes

There are multiple ways to indicate tied notes depending on whether the instrument is stringed or not stringed.
There are multiple ways to indicate tied notes depending on whether the instrument is stringed or not stringed.
For stringed instruments the fret simply can be set to `-` and the note will be tied to the note of the same string.

<AlphaTexSample>{`
3.3 -.3 | (1.1 3.2 2.3 0.4) (-.1 -.4)
`}</AlphaTexSample>

For non stringed instrument it can be a bit more tricky as we cannot use the string to identify which note to tie. There are multiple ways to work around this problem. AlphaTab will try to find the start note for the tie via several rules, if this does not match the desired behavior, you can specify the note value as alternative and indicate the tie via a note effect.
For non stringed instrument it can be a bit more tricky as we cannot use the string to identify which note to tie.
There are multiple ways to work around this problem.
AlphaTab will try to find the start note for the tie via several rules, if this does not match the desired behavior,
you can specify the note value as alternative and indicate the tie via a note effect.

<AlphaTexSample>{`
\\tuning piano
.
// If there is a single note on the previous beat, we tie to this one
// Then a simple - is enough for a tie
:2 a4 - |
// Alternatively you can specify a '-' or 't' as note effect to indicate a tie
// Alternatively you can specify a '-' or 't' as note effect to indicate a tie
:2 a4 a4{-} |
// This also works for chords using correct note ordering
// This also works for chords using correct note ordering
:2 (a4 a3) (- a3) |
:2 (a4 a3) (a4 -) |
// If nothing helps, always the explicit note value and tie effect should allow
// specifying the correct behavior
:2 (a4 a3) (a4{t} a3) |
:4 (a4 a3) (b2 b3) a4{t} a3{-} |
`}</AlphaTexSample>

14 changes: 7 additions & 7 deletions docs/alphatex/notes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ separated by a vertical bar `|`.

Notes follow the format `fret.string.duration`. For rests
the fret is simply replaced with `r`. The duration is specified
as a number where 1 represents a full note, 2 a half note and so on.
as a number where 1 represents a full note, 2 a half note and so on.

<AlphaTexSample>{`
0.6.2 1.5.4 3.4.4 |
0.6.2 1.5.4 3.4.4 |
5.3.8 5.3.8 5.3.8 5.3.8 r.2
`}</AlphaTexSample>

Expand All @@ -32,23 +32,23 @@ r.8 (0.3 0.4).8

## Duration Ranges

To make it simpler to write notes, you can apply the same duration to
To make it simpler to write notes, you can apply the same duration to
multiple notes. Start a new duration range with `:duration`.
The following notes will all have this duration. AlphaTex also remembers
the last explictely set duration and will take use it in case of a missing duration.
the last explicitly set duration and will take use it in case of a missing duration.

<AlphaTexSample>{`
// explicit ranges via :duration
:4 2.3 3.3 :8 3.3 4.3 3.3 4.3 |
:4 2.3 3.3 :8 3.3 4.3 3.3 4.3 |
// implicit ranges via beat duration
2.3.4 3.3 3.3.8 4.3 3.3 4.3
`}</AlphaTexSample>


## Repeat beats

You can specify a multiplier after a beat to add the same beat multiple times to the score.
You can specify a multiplier after a beat to add the same beat multiple times to the score.

<AlphaTexSample>{`
3.3*4 | 4.3*4
`}</AlphaTexSample>
`}</AlphaTexSample>
Loading

0 comments on commit 4ff3013

Please sign in to comment.