|
You can get the name of a selected object into a string variable. For instance, the following reads the name of the second selected Sound (as counted from the top of the list of objects) into the variable name$
:
name$ = selected$ (“Sound”, 2)
If the Sound was called “Sound hallo”, the variable name$
will contain the string “hallo”. To get the name of the topmost selected Sound object, you can leave out the number:
name$ = selected$ (“Sound”)
To get the full name (type + name) of the third selected object, you do:
fullName$ = selected$ (3)
To get the full name of the topmost selected object, you do:
fullName$ = selected$ ()
To get the type and name out of the full name, you do:
type$ = extractWord$ (fullName$, “”)
name$ = extractLine$ (fullName$, “ ”)
Negative numbers count from the bottom. Thus, to get the name of the bottom-most selected Sound object, you say
name$ = selected$ (“Sound”, -1)
You would use selected$
() for drawing the object name in a picture:
Draw: 0, 0, 0, 0, "yes"
name$ = selected$ (“Sound”)
Text top: “no”, “This is sound ” + name$
For identifying previously selected objects, this method is not very suitable, since there may be multiple objects with the same name:
# The following two lines are OK:
soundName$ = selected$ (“Sound”, -1)
pitchName$ = selected$ (“Pitch”)
# But the following line is questionable, since it doesn't
# necessarily select the previously selected Pitch again:
selectObject: “Pitch ” + pitchName$
Instead of this error-prone approach, you should get the object’s unique ID. The correct version of our example becomes:
sound = selected (“Sound”, -1)
pitch = selected (“Pitch”)
# Correct:
selectObject: pitch
To get the number of selected Sound objects into a variable, use
numberOfSelectedSounds = numberOfSelected (“Sound”)
To get the number of selected objects into a variable, use
numberOfSelectedObjects = numberOfSelected ()
sounds# = selected# (“Sound”)
# Median pitches of all selected sounds:
for i to size (sounds#)
selectObject: sounds# [i]
To Pitch: 0.0, 75, 600
f0 = Get quantile: 0, 0, 0.50, “Hertz”
appendInfoLine: f0
Remove
endfor
# Restore selection:
selectObject (sounds#)
© ppgb 20180427