@@ -468,7 +468,7 @@ public void LoadBranch(int index)
468
468
{
469
469
if ( Engaged ( ) )
470
470
{
471
- var marker = MarkerListForBranch ( branchID ) . Get ( frame ) ;
471
+ var marker = MarkerListForBranch ( branchID ) ? . Get ( frame ) ;
472
472
if ( marker != null )
473
473
{
474
474
return marker . Message ;
@@ -479,13 +479,10 @@ public void LoadBranch(int index)
479
479
}
480
480
481
481
/// <remarks>assumes a TAStudio project is loaded</remarks>
482
- private TasMovieMarkerList MarkerListForBranch ( string /*?*/ branchID )
483
- {
484
- var found = Guid . TryParseExact ( branchID , format : "D" , out var parsed )
485
- ? Tastudio . CurrentTasMovie . Branches . FirstOrDefault ( branch => branch . Uuid == parsed )
486
- : null ;
487
- return found ? . Markers ?? Tastudio . CurrentTasMovie . Markers ;
488
- }
482
+ private TasMovieMarkerList /*?*/ MarkerListForBranch ( string /*?*/ branchID )
483
+ => Guid . TryParseExact ( branchID , format : "D" , out var parsed )
484
+ ? Tastudio . CurrentTasMovie . Branches . FirstOrDefault ( branch => branch . Uuid == parsed ) ? . Markers
485
+ : branchID is null ? Tastudio . CurrentTasMovie . Markers : null ; // not a typo; null `branchID` indicates main log
489
486
490
487
[ LuaMethodExample ( """
491
488
local marker_label = tastudio.getmarker(tastudio.find_marker_on_or_before(100));
@@ -496,8 +493,8 @@ private TasMovieMarkerList MarkerListForBranch(string/*?*/ branchID)
496
493
+ " This may be the power-on marker at 0."
497
494
+ " If branchID is specified, searches the markers in that branch instead." ) ]
498
495
public int FindMarkerOnOrBefore ( int frame , string /*?*/ branchID = null )
499
- => Engaged ( )
500
- ? MarkerListForBranch ( branchID ) . PreviousOrCurrent ( frame ) . Frame
496
+ => Engaged ( ) && MarkerListForBranch ( branchID ) is TasMovieMarkerList markers
497
+ ? markers . PreviousOrCurrent ( frame ) . Frame
501
498
: default ;
502
499
503
500
[ LuaMethodExample ( """
@@ -508,8 +505,8 @@ public int FindMarkerOnOrBefore(int frame, string/*?*/ branchID = null)
508
505
description : "Returns a list of all the frames which have markers on them."
509
506
+ " If branchID is specified, instead returns the frames which have markers in that branch." ) ]
510
507
public LuaTable GetFramesWithMarkers ( string /*?*/ branchID = null )
511
- => Engaged ( )
512
- ? _th . EnumerateToLuaTable ( MarkerListForBranch ( branchID ) . Select ( static m => m . Frame ) )
508
+ => Engaged ( ) && MarkerListForBranch ( branchID ) is TasMovieMarkerList markers
509
+ ? _th . EnumerateToLuaTable ( markers . Select ( static m => m . Frame ) )
513
510
: _th . CreateTable ( ) ;
514
511
515
512
[ LuaMethodExample ( "tastudio.removemarker( 500 );" ) ]
0 commit comments