66from more_itertools import split_before , windowed_complete
77
88from .languages import GenericLanguage , Language
9+ from .location import Location
910from .phoneme import Phoneme
1011from .theme import Theme
1112
@@ -413,6 +414,7 @@ class Recording(proto.Message):
413414
414415 theme = proto .Field (Theme , number = 1 , optional = True )
415416 parts = proto .RepeatedField (Part , number = 2 , optional = True )
417+ location = proto .Field (Location , number = 3 , optional = True )
416418
417419 @classmethod
418420 def from_score (
@@ -423,6 +425,7 @@ def from_score(
423425 tempo : float = 1.0 ,
424426 parts : Tuple [int ] = (0 , 0 , 0 , 0 ),
425427 fill : Phoneme = Phoneme .SILENCE ,
428+ location : Location = Location .BLOBPERAHOUSE ,
426429 ):
427430 """Create a Blob Opera recording from a music21 score.
428431
@@ -454,7 +457,7 @@ def from_score(
454457 if len (parts ) != 4 :
455458 raise ValueError ("recordings require exactly four tracks" )
456459 try :
457- recording = Recording (theme = theme )
460+ recording = Recording (theme = theme , location = location )
458461 for index in parts :
459462 part = Part .from_part (
460463 score .parts [index ],
0 commit comments