diff --git a/client/src/main/java/ctbrec/ui/Player.java b/client/src/main/java/ctbrec/ui/Player.java index c0cd1689..c8bcd0e8 100644 --- a/client/src/main/java/ctbrec/ui/Player.java +++ b/client/src/main/java/ctbrec/ui/Player.java @@ -135,12 +135,15 @@ public class Player { String url = null; if (rec != null) { url = getRemoteRecordingUrl(rec, cfg); + model = rec.getModel(); } else if (model != null) { url = getPlaylistUrl(model); } LOG.debug("Playing {}", url); String[] cmdline = createCmdline(url); - expandPlaceHolders(cmdline); + if (model != null) { + expandPlaceHolders(cmdline); + } LOG.debug("Player command line: {}", Arrays.toString(cmdline)); playerProcess = rt.exec(cmdline); } diff --git a/common/src/main/java/ctbrec/variableexpansion/ModelVariableExpander.java b/common/src/main/java/ctbrec/variableexpansion/ModelVariableExpander.java index 2e876fe7..9a3aad87 100644 --- a/common/src/main/java/ctbrec/variableexpansion/ModelVariableExpander.java +++ b/common/src/main/java/ctbrec/variableexpansion/ModelVariableExpander.java @@ -21,7 +21,7 @@ public class ModelVariableExpander extends AbstractVariableExpander { placeholderValueSuppliers.put("modelDisplayName", r -> ofNullable(model.getDisplayName())); placeholderValueSuppliers.put("modelSanitizedName", r -> getSanitizedName(model)); placeholderValueSuppliers.put("modelNotes", r -> getSanitizedModelNotes(config, model)); - placeholderValueSuppliers.put("siteName", r -> ofNullable(model.getSite()).map(Site::getName)); + placeholderValueSuppliers.put("siteName", r -> ofNullable(model).map(Model::getSite).map(Site::getName)); placeholderValueSuppliers.put("siteSanitizedName", r -> getSanitizedSiteName(model)); placeholderValueSuppliers.put("modelGroupName", r -> modelGroup.map(ModelGroup::getName)); placeholderValueSuppliers.put("modelGroupId", r -> modelGroup.map(ModelGroup::getId).map(UUID::toString)); @@ -41,7 +41,7 @@ public class ModelVariableExpander extends AbstractVariableExpander { } private Optional getSanitizedSiteName(Model model) { - Optional name = ofNullable(model.getSite()).map(Site::getName); + Optional name = ofNullable(model).map(Model::getSite).map(Site::getName); if (name.isPresent()) { return Optional.of(sanitize(name.get())); } else {