{"action":"closed","issue":{"url":"https://api.github.com/repos/openlilylib/openlilylib/issues/104","labels_url":"https://api.github.com/repos/openlilylib/openlilylib/issues/104/labels{/name}","comments_url":"https://api.github.com/repos/openlilylib/openlilylib/issues/104/comments","events_url":"https://api.github.com/repos/openlilylib/openlilylib/issues/104/events","html_url":"https://github.com/openlilylib/openlilylib/issues/104","id":63560048,"number":104,"title":"Allow assigning individual items to a GridLY cell","user":{"login":"uliska","id":1812148,"avatar_url":"https://avatars.githubusercontent.com/u/1812148?v=3","gravatar_id":"","url":"https://api.github.com/users/uliska","html_url":"https://github.com/uliska","followers_url":"https://api.github.com/users/uliska/followers","following_url":"https://api.github.com/users/uliska/following{/other_user}","gists_url":"https://api.github.com/users/uliska/gists{/gist_id}","starred_url":"https://api.github.com/users/uliska/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/uliska/subscriptions","organizations_url":"https://api.github.com/users/uliska/orgs","repos_url":"https://api.github.com/users/uliska/repos","events_url":"https://api.github.com/users/uliska/events{/privacy}","received_events_url":"https://api.github.com/users/uliska/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/openlilylib/openlilylib/labels/GridLY","name":"GridLY","color":"f7c6c7"},{"url":"https://api.github.com/repos/openlilylib/openlilylib/labels/wish","name":"wish","color":"009800"}],"state":"closed","locked":false,"assignee":{"login":"Cecca","id":1175603,"avatar_url":"https://avatars.githubusercontent.com/u/1175603?v=3","gravatar_id":"","url":"https://api.github.com/users/Cecca","html_url":"https://github.com/Cecca","followers_url":"https://api.github.com/users/Cecca/followers","following_url":"https://api.github.com/users/Cecca/following{/other_user}","gists_url":"https://api.github.com/users/Cecca/gists{/gist_id}","starred_url":"https://api.github.com/users/Cecca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Cecca/subscriptions","organizations_url":"https://api.github.com/users/Cecca/orgs","repos_url":"https://api.github.com/users/Cecca/repos","events_url":"https://api.github.com/users/Cecca/events{/privacy}","received_events_url":"https://api.github.com/users/Cecca/received_events","type":"User","site_admin":false},"milestone":null,"comments":4,"created_at":"2015-03-22T18:17:25Z","updated_at":"2015-07-16T01:24:05Z","closed_at":"2015-07-16T01:24:05Z","body":"I think it would be a nice enhancement to be able to assign only individual items to an existing grid cell or segment template.\r\nThis may make sense in contexts where the bulk of things is done automatically.\r\n\r\nI see two alternatives:\r\n\r\n- change the interface to `\\setSegmentTemplate` so that - when a segment template has already been defined - only the elements are updated that are given in the command\r\n- add a function `\\addToSegmentTemplate`\r\n\r\nAnd (it could be seen as a separate wish but I think they can be considered (and implemented) together) while we're at it: wouldn't it be a good idea to change the signature of `\\gridPutMusic` and \"pull\" the music argument into the `\\with {}` block?\r\n\r\nI'd make the function use \r\n\r\n```scheme\r\n(parser location opts-or-music)\r\n  (context-mod-or-music?)\r\n```\r\n\r\nwith context-mod-or-music? being a new predicate. This would allow for the following two invocation options:\r\n\r\n```lilypond\r\n\\gridPutMusic \"soprano\" 1 \\with {\r\n  lyrics = \\lyricmode { This is the text }\r\n  music = \\relative c' { c4 d e f }\r\n}\r\n\r\n\\gridPutMusic \"soprano\" 1 { c d e f }\r\n```\r\n\r\nI find this clearer than having the music as a separate argument after the \\with block. This is particularly true when the \\with block has some extent (as can be seen in [this file](https://git.ursliska.de/beautifulscores/das-trunkne-lied/blob/review/ul/choir-06/parts/voc-soprano-I/06.ily)). Here it is not really obvious to the reader (and maybe also to the one who has to fill out the template) that the music block is actually an argument to `\\griPutMusic`."}}