it’s not you at all. i’m having trouble choking this down.
the format has been changed from
renoise.song().transport.bpm
to something else, where the line that has the keyword no longer has the full reference.
i used to just type the whole LUA API documentation into a textfile and search for a keyword. this is what i got:
$ sol transport
201: make it easier to catch typos. `song().transport.bmp = 80` will fire an error,
202- because there is no such property 'bmp.' You probably meant
203: `song().transport.bpm = 80` here. If you need to store data somewhere,
204- do it in your own tables, objects instead of using the Renoise API objects.
--
214: renoise.song().transport.bpm_observable:add_notifier(function()
215- print("bpm changed")
--
219: renoise.song().transport.bpm = 120
220-
--
1275: renoise.song().transport.bpm))
1276- end
--
1278: renoise.song().transport.bpm_observable:add_notifier(bpm_changed)
1279- -- later on, maybe:
1280: renoise.song().transport.bpm_observable:remove_notifier(bpm_changed)
1281-
--
2044:-- The message pattern (e.g. "/renoise/transport/start")
2045-message.pattern
--
2800:-- Helper class used in Transport and Song, representing a position in the song.
2801-
--
3042:-- See renoise.Transport for more info.
3043:renoise.song().transport
3044: -> [read-only, renoise.Transport object]
3045-
--
3221:-- renoise.Transport
3222---------------------------------------------------------------------------------
--
3226:renoise.Transport.PLAYMODE_RESTART_PATTERN
3227:renoise.Transport.PLAYMODE_CONTINUE_PATTERN
3228-
3229:renoise.Transport.RECORD_PARAMETER_MODE_PATTERN
3230:renoise.Transport.RECORD_PARAMETER_MODE_AUTOMATION
3231-
3232:renoise.Transport.TIMING_MODEL_SPEED
3233:renoise.Transport.TIMING_MODEL_LPB
3234-
--
3239:renoise.song().transport:panic()
3240-
--
3242:renoise.song().transport:start(mode)
3243--- start playing the currently edited pattern at the given line offset
3244:renoise.song().transport:start_at(line)
3245--- start playing a the given renoise.SongPos (sequence pos and line)
3246:renoise.song().transport:start_at(song_pos)
3247-
--
3249:renoise.song().transport:stop()
3250-
--
3252:renoise.song().transport:trigger_sequence(sequence_pos)
3253--- Append the sequence to the scheduled sequence list. Scheduled playback
--
3255:renoise.song().transport:add_scheduled_sequence(sequence_pos)
3256--- Replace the scheduled sequence list with the given sequence.
3257:renoise.song().transport:set_scheduled_sequence(sequence_pos)
3258-
--
3260:renoise.song().transport:loop_block_move_forwards()
3261--- Move the block loop one segment backwards, when possible.
3262:renoise.song().transport:loop_block_move_backwards()
3263-
--
3266:renoise.song().transport:start_stop_sample_recording()
3267--- Cancel a currently running sample recording when the sample dialog
--
3269:renoise.song().transport:cancel_sample_recording()
3270-
--
3275:renoise.song().transport.playing, _observable
3276- -> [boolean]
--
3282:renoise.song().transport.timing_model
3283- -> [read-only, enum = TIMING_MODEL]
--
3286:renoise.song().transport.bpm, _observable
3287- -> [number, 32-999]
3288:renoise.song().transport.lpb, _observable
3289- -> [number, 1-256]
3290:renoise.song().transport.tpl, _observable
3291- -> [number, 1-16]
--
3294:renoise.song().transport.playback_pos
3295- -> [renoise.SongPos object]
3296:renoise.song().transport.playback_pos_beats
3297- -> [number, 0-song_end_beats]
--
3300:renoise.song().transport.edit_pos
3301- -> [renoise.SongPos object]
3302:renoise.song().transport.edit_pos_beats
3303- -> [number, 0-sequence_length]
--
3306:renoise.song().transport.song_length
3307- -> [read-only, SongPos]
3308:renoise.song().transport.song_length_beats
3309- -> [read-only, number]
--
3312:renoise.song().transport.loop_start
3313- -> [read-only, SongPos]
3314:renoise.song().transport.loop_end
3315- -> [read-only, SongPos]
3316:renoise.song().transport.loop_range[]
3317- -> [array of two renoise.SongPos objects]
--
3319:renoise.song().transport.loop_start_beats
3320- -> [read-only, number within 0-song_end_beats]
3321:renoise.song().transport.loop_end_beats
3322- -> [read-only, number within 0-song_end_beats]
3323:renoise.song().transport.loop_range_beats[]
3324- -> [array of two numbers, 0-song_end_beats]
--
3326:renoise.song().transport.loop_sequence_start
3327- -> [read-only, 0 or 1-sequence_length]
3328:renoise.song().transport.loop_sequence_end
3329- -> [read-only, 0 or 1-sequence_length]
3330:renoise.song().transport.loop_sequence_range[]
3331- -> [array of two numbers, 0 or 1-sequence_length or empty to disable]
--
3333:renoise.song().transport.loop_pattern, _observable
3334- -> [boolean]
--
3336:renoise.song().transport.loop_block_enabled
3337- -> [boolean]
3338:renoise.song().transport.loop_block_start_pos
3339- -> [read-only, renoise.SongPos object]
3340:renoise.song().transport.loop_block_range_coeff
3341- -> [number, 2-16]
--
3344:renoise.song().transport.edit_mode, _observable
3345- -> [boolean]
3346:renoise.song().transport.edit_step, _observable
3347- -> [number, 0-64]
3348:renoise.song().transport.octave, _observable
3349- -> [number, 0-8]
--
3352:renoise.song().transport.metronome_enabled, _observable
3353- -> [boolean]
3354:renoise.song().transport.metronome_beats_per_bar, _observable
3355- -> [1-16]
3356:renoise.song().transport.metronome_lines_per_beat, _observable
3357- -> [number, 1-256 or 0 = songs current LPB]
--
3360:renoise.song().transport.metronome_precount_enabled, _observable
3361- -> [boolean]
3362:renoise.song().transport.metronome_precount_bars, _observable
3363- -> [number, 1-4]
--
3367:renoise.song().transport.record_quantize_enabled, _observable
3368- -> [boolean]
3369:renoise.song().transport.record_quantize_lines, _observable
3370- -> [number, 1-32]
--
3373:renoise.song().transport.record_parameter_mode, _observable
3374- -> [enum = RECORD_PARAMETER_MODE]
--
3377:renoise.song().transport.follow_player, _observable
3378- -> [boolean]
3379:renoise.song().transport.wrapped_pattern_edit, _observable
3380- -> [boolean]
3381:renoise.song().transport.single_track_edit_mode, _observable
3382- -> [boolean]
--
3385:renoise.song().transport.groove_enabled, _observable
3386- -> [boolean]
3387:renoise.song().transport.groove_amounts[]
3388- -> [array of numbers, 0.0-1.0]
--
3391:renoise.song().transport.groove_assignment_observable
3392- -> [renoise.Observable object]
--
3395:-- To convert to dB: dB = math.lin2db(renoise.song().transport.track_headroom)
3396:-- To convert from dB: renoise.song().transport.track_headroom = math.db2lin(dB)
3397:renoise.song().transport.track_headroom, _observable
3398- -> [number, math.db2lin(-12)-math.db2lin(0)]
--
3402:renoise.song().transport.keyboard_velocity_enabled, _observable
3403- -> [boolean]
3404:renoise.song().transport.keyboard_velocity, _observable
3405- -> [number, 0-127]
i could use any of this, and proceed from there. this new format, i don’t understand what it is, it’s probably great for developers who understand… i guess context or something? but i don’t know how to go from this:
>>> renoise.Transport:start_sample_recording()
*** no static 'start_sample_recording' in class 'Transport'
*** stack traceback:
*** [C]: in function '__index'
*** [string "renoise.Transport:start_sample_recording()"]:1: in main chunk
to something else. like, what’s the rosetta key here? how do i get back to “full lines”?
@unless do you know how to solve this?