A method, comprising: generating a music feature file (MFF, 200) based on a selected audio, the music feature file (MFF, 200) comprising metadata for the selected audio including a plurality of time markers indicating audio events in the selected audio; automatically controlling one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) according to the music feature file (MFF, 200); characterized in that the method further comprises: receiving a position for each of the one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) in a light show environment, wherein the position for each of the one or more lights in the light show environment is determined based on a signal from a mobile phone wirelessly connected to the respective light while in physical proximity to the respective light and in reaction to a user depressing a button on the respective light; mapping the position for each of the one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) to a grid corresponding to the light show environment; and adjusting control of the one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) based on the position mapped for the one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) in the grid. generating a music feature file (MFF, 200) based on a selected audio, the music feature file (MFF, 200) comprising metadata for the selected audio including a plurality of time markers indicating audio events in the selected audio; automatically controlling one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) according to the music feature file (MFF, 200); characterized in that the method further comprises: receiving a position for each of the one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) in a light show environment, wherein the position for each of the one or more lights in the light show environment is determined based on a signal from a mobile phone wirelessly connected to the respective light while in physical proximity to the respective light and in reaction to a user depressing a button on the respective light; mapping the position for each of the one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) to a grid corresponding to the light show environment; and adjusting control of the one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) based on the position mapped for the one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) in the grid. receiving a position for each of the one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) in a light show environment, wherein the position for each of the one or more lights in the light show environment is determined based on a signal from a mobile phone wirelessly connected to the respective light while in physical proximity to the respective light and in reaction to a user depressing a button on the respective light; mapping the position for each of the one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) to a grid corresponding to the light show environment; and adjusting control of the one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) based on the position mapped for the one or more lights (110, 701, 801, 901, 1001, 1101, 1204, 1404, 1406) in the grid.