Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
5ecf85a
feat: Add AST and lexer for alphaTex
Danielku15 Sep 12, 2025
e995b4d
feat: finalize AST and base parsing
Danielku15 Sep 13, 2025
f4f3137
refactor(alphatex): rename old importer
Danielku15 Sep 23, 2025
2892f3e
feat(alphatex): new importer based on parser
Danielku15 Sep 23, 2025
8206518
chore: stubbing for tests
Danielku15 Sep 23, 2025
c461d34
test: setup parser tests
Danielku15 Sep 25, 2025
76e46ef
test: lexer and parser tests
Danielku15 Sep 27, 2025
dc0ea0c
feat: new importer
Danielku15 Sep 29, 2025
08d2850
test: roundtrip tests for importer
Danielku15 Sep 29, 2025
a77fd67
feat: implement new exporter
Danielku15 Oct 1, 2025
ea9fcfe
test: fix tests
Danielku15 Oct 1, 2025
6712662
build(csharp): rewrite code to fit cross compilation
Danielku15 Oct 8, 2025
4acc387
refactor: splitup huge language handelr
Danielku15 Oct 10, 2025
a539de5
build(kotlin): adapt code for kotlin compilation
Danielku15 Oct 10, 2025
1bf7543
refactor: simplify AST
Danielku15 Oct 11, 2025
9c060b1
feat: parser warnings
Danielku15 Oct 11, 2025
461efb4
build: cross compilation updates
Danielku15 Oct 11, 2025
03d41d6
test: fix optional parameter
Danielku15 Oct 11, 2025
9e0a9d0
build: fix rebase problems
Danielku15 Oct 12, 2025
286caed
test: fix tempo definition
Danielku15 Oct 12, 2025
714d7e1
test: check performance
Danielku15 Oct 12, 2025
62350e3
fix: hide keyword placement
Danielku15 Oct 12, 2025
8bf11ae
refactor: code style, public/internal API and private mangling
Danielku15 Oct 13, 2025
ff023df
build(cross): updates for c# and kotlin
Danielku15 Oct 13, 2025
6276a9a
test: update snapshots
Danielku15 Oct 13, 2025
5d9465b
refactor: some performance optimizations
Danielku15 Oct 14, 2025
1d5fa97
build: adjust return type of floats
Danielku15 Oct 14, 2025
9affd00
build: fix issues
Danielku15 Oct 14, 2025
2d7993a
build: fix kotlin
Danielku15 Oct 14, 2025
5f0d631
chore: rebase fixes
Danielku15 Oct 15, 2025
da594c1
fix: multiplier at end of beat
Danielku15 Oct 15, 2025
43f6aad
fix: parsing all accidentals
Danielku15 Oct 15, 2025
7958ebf
chore: fix alphatex editor
Danielku15 Oct 17, 2025
738f987
fix: display of second copyright line
Danielku15 Oct 17, 2025
96c0b57
fix: overlaps on identifiers
Danielku15 Oct 17, 2025
7adfa75
refactor: move some metatags to props
Danielku15 Oct 17, 2025
ae8a6c0
fix: various findings during documentation
Danielku15 Oct 18, 2025
e3f0c37
feat: note kind validation and staff detection
Danielku15 Oct 20, 2025
00019de
fix: handle enum names at locations
Danielku15 Oct 22, 2025
8fedee5
fix: sustain pedal handling
Danielku15 Oct 22, 2025
00b16a7
perf: minor optimizations
Danielku15 Oct 22, 2025
d3bb4a9
chore: various findings
Danielku15 Oct 22, 2025
9978cab
test: fixes
Danielku15 Oct 22, 2025
5a8493b
build: fix compilation
Danielku15 Oct 22, 2025
1ab01a3
build: ensure correct bundles
Danielku15 Oct 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions biome.jsonc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://biomejs.dev/schemas/2.2.2/schema.json",
"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",

Check notice on line 2 in biome.jsonc

View workflow job for this annotation

GitHub Actions / Linting and TypeCheck

deserialize

The configuration schema version does not match the CLI version 2.2.6
"files": {
"maxSize": 5242880
},
Expand All @@ -12,6 +12,13 @@
"lineWidth": 120,
"lineEnding": "lf"
},
"assist": {
"actions": {
"source": {
"organizeImports": "on"
}
}
},
"linter": {
"enabled": true,
"rules": {
Expand All @@ -28,7 +35,8 @@
"noDescendingSpecificity": "off"
},
"suspicious": {
"noExplicitAny": "off" // used in areas where we work with dynamic JSON data
"noExplicitAny": "off", // used in areas where we work with dynamic JSON data
"noEmptyInterface": "off" // we use these for marker interfaces
},
"correctness": {
"noUnusedImports": {
Expand Down Expand Up @@ -62,4 +70,4 @@
"trailingCommas": "none"
}
}
}
}
7 changes: 7 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"generate-typescript": "npm run generate-typescript --workspace=packages/alphatab",

"build": "npm run build --workspace=packages/alphatab",
"test": "npm run build --workspace=packages/alphatab",
"test": "npm run test --workspace=packages/alphatab",

"build-web": "npm run build && npm run build-webpack && npm run build-vite",
"test-web": "npm run test && npm run test-webpack && npm run test-vite",
Expand Down
3 changes: 2 additions & 1 deletion packages/alphatab/.env
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
FORCE_COLOR=1
FORCE_COLOR=1
NODE_OPTIONS=--expose-gc
2 changes: 1 addition & 1 deletion packages/alphatab/biome.jsonc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://biomejs.dev/schemas/2.2.2/schema.json",
"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
"root": false,
"extends": "//",
"files": {
Expand Down
7 changes: 4 additions & 3 deletions packages/alphatab/src/AlphaTabApiBase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ import type {
AlphaTabRestEvent,
ControlChangeEvent,
EndOfTrackEvent,
MidiEvent,MidiEventType,
MidiEvent,
MidiEventType,
NoteBendEvent,
NoteOffEvent,
NoteOnEvent,
PitchBendEvent,
ProgramChangeEvent,
TempoChangeEvent,
TimeSignatureEvent
TimeSignatureEvent
} from '@src/midi/MidiEvent';
import { MidiFile } from '@src/midi/MidiFile';
import { MidiFileGenerator } from '@src/midi/MidiFileGenerator';
Expand Down Expand Up @@ -772,7 +773,7 @@ export class AlphaTabApiBase<TSettings> {
*/
public tex(tex: string, tracks?: number[]): void {
try {
const parser: AlphaTexImporter = new AlphaTexImporter();
const parser = new AlphaTexImporter();
parser.logErrors = true;
parser.initFromString(tex, this.settings);
const score: Score = parser.readScore();
Expand Down
1 change: 0 additions & 1 deletion packages/alphatab/src/AlphaTabError.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,5 @@ export class AlphaTabError extends Error {
public constructor(type: AlphaTabErrorType, message: string | null = '', inner?: Error) {
super(message ?? '', { cause: inner });
this.type = type;
Object.setPrototypeOf(this, AlphaTabError.prototype);
}
}
1 change: 0 additions & 1 deletion packages/alphatab/src/FileLoadError.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,5 @@ export class FileLoadError extends AlphaTabError {
public constructor(message: string, xhr: XMLHttpRequest) {
super(AlphaTabErrorType.General, message);
this.xhr = xhr;
Object.setPrototypeOf(this, FileLoadError.prototype);
}
}
1 change: 0 additions & 1 deletion packages/alphatab/src/FormatError.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,5 @@ import { AlphaTabError, AlphaTabErrorType } from '@src/AlphaTabError';
export class FormatError extends AlphaTabError {
public constructor(message: string) {
super(AlphaTabErrorType.Format, message);
Object.setPrototypeOf(this, FormatError.prototype);
}
}
Loading