@@ -9,6 +9,8 @@ import { AlphaSynthWebWorkerApi } from '@src/platform/javascript/AlphaSynthWebWo
99import { BrowserUiFacade } from '@src/platform/javascript/BrowserUiFacade' ;
1010import { ProgressEventArgs } from '@src/ProgressEventArgs' ;
1111import { Settings } from '@src/Settings' ;
12+ import { JsonConverter } from '@src/model/JsonConverter' ;
13+ import { SettingsSerializer } from '@src/generated/SettingsSerializer' ;
1214
1315/**
1416 * @target web
@@ -23,7 +25,7 @@ export class AlphaTabApi extends AlphaTabApiBase<unknown> {
2325 super . tex ( tex , browser . parseTracks ( tracks ) ) ;
2426 }
2527
26- public print ( width : string ) : void {
28+ public print ( width : string , additionalSettings : unknown = null ) : void {
2729 // prepare a popup window for printing (a4 width, window height, centered)
2830 let preview : Window = window . open ( '' , '' , 'width=0,height=0' ) ! ;
2931 let a4 : HTMLElement = preview . document . createElement ( 'div' ) ;
@@ -64,14 +66,12 @@ export class AlphaTabApi extends AlphaTabApiBase<unknown> {
6466 preview . moveTo ( left , top ) ;
6567 preview . focus ( ) ;
6668 // render alphaTab
67- let settings : Settings = new Settings ( ) ;
68- settings . core . scriptFile = this . settings . core . scriptFile ;
69- settings . core . fontDirectory = this . settings . core . fontDirectory ;
69+ let settings : Settings = JsonConverter . jsObjectToSettings ( JsonConverter . settingsToJsObject ( this . settings ) ) ;
7070 settings . core . enableLazyLoading = false ;
7171 settings . core . useWorkers = false ;
7272 settings . display . scale = 0.8 ;
7373 settings . display . stretchForce = 0.8 ;
74- settings . display . resources = this . settings . display . resources ;
74+ SettingsSerializer . fromJson ( settings , additionalSettings ) ;
7575 let alphaTab : AlphaTabApi = new AlphaTabApi ( a4 , settings ) ;
7676 alphaTab . renderer . postRenderFinished . on ( ( ) => {
7777 alphaTab . canvasElement . height = - 1 ;
0 commit comments