Jump to content


Photo

The Api Wishlist Thread


  • Please log in to reply
199 replies to this topic

#51 taktik

taktik

    Renoise Developer

  • Admins
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 15040 posts
  • Gender:Male
  • Location:Berlin, Germany
  • Interests:füße waschen

Posted 04 August 2010 - 17:32

Yes, creating lists of Document objects indeed is something that's missing right now. The only reason why its not yet there are some hard to describe implementation details which I haven't found a solution for yet. Will try to take care of this.
  • epc likes this

#52 samBiotic

samBiotic

    Member

  • Normal Members
  • PipPip
  • 56 posts

Posted 11 August 2010 - 00:11

renoise.app().window:select_preset_observable:add_notifier(foo)

and a way to tell which preset it moved to from the defined foo notifier function

if this is possible already i'd love to know how.

#53 Moonriders

Moonriders

    Big Masta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPip
  • 529 posts
  • Gender:Male

Posted 15 August 2010 - 22:55

some simple ViewBuilder drawing elements. like curve, (circle) line, (square).

Edited by Moonriders, 15 August 2010 - 22:56.


#54 Moonriders

Moonriders

    Big Masta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPip
  • 529 posts
  • Gender:Male

Posted 17 August 2010 - 22:03

Instrument scripting.

>>right click instrument to load script as instrument.

Meta-device to scripting linkage.

meta-device with a couple dropdowns"
>> dropdown, select script.
>> populate fields with script functions.
>> other meta-devices would list this meta-device's functions and available parameters.

edit<<< for clarity

Edited by Moonriders, 17 August 2010 - 22:11.


#55 Airjob

Airjob

    Member

  • Normal Members
  • PipPip
  • 29 posts

Posted 29 September 2010 - 10:15

switchable pre-mixer / post-mixer view. I know this isn't even possible for midi mapping right now, but a lot of controllers offers bank-switching (like e.g. the NanoKontrol).
And the thing should be observable, too :-)

#56 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3357 posts
  • Gender:Male

Posted 03 October 2010 - 18:15

One for the pattern iterators:

pattern_iter:note_columns_in_pattern_track(pattern_index,track_index,line_index)

i.e. the line/row in the pattern to begin the iteration from.


Edited by Ledger, 03 October 2010 - 20:31.

--> Lua For Beginners <--
--> Lua for newbies <--

My Scripts On Forum

Top Tip!

 

cpu : Xeon 1231 v3, os : Win 7 64bit, audio: Audient iD4
posts as 4tune @ KvR and some other music related sites


#57 Konrad Gmurek

Konrad Gmurek

    Member

  • Normal Members
  • PipPip
  • 19 posts

Posted 04 October 2010 - 09:03

I want to say that you've done great job creating this API. I was surprised by the number of available properties/functions etc.

I just started developing my own tools. Currently most missing:
* renoise.song().transport.playback_pos_observable
* ViewBuilders bitmap supports only notifier. But pressed implementation would be blessing... :)

Cheers!
Computer Music Daily - one track created every single day
http://soundcloud.co...ter-music-daily
http://fb.me/computermusicdaily

#58 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3357 posts
  • Gender:Male

Posted 07 October 2010 - 23:44

renoise.song().transport:stop_at(line) -- like start has

* renoise.song().transport.playback_pos_observable


Though this could help aswell..

--> Lua For Beginners <--
--> Lua for newbies <--

My Scripts On Forum

Top Tip!

 

cpu : Xeon 1231 v3, os : Win 7 64bit, audio: Audient iD4
posts as 4tune @ KvR and some other music related sites


#59 Syflom

Syflom

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1456 posts
  • Gender:Male
  • Location:Australia

Posted 17 October 2010 - 08:12

API for access to renoise's 4 clipboards.

Edited by Syflom, 08 November 2011 - 14:21.

In the beginning was the Word
 My XRNX tools: Loop Block Size, Write BPM, Sustain Instrument
Renoise my suggestions: sample pause command, continually paste within selection, advanced edit resize
OS: Windows and OS X


#60 mogue

mogue

    Advanced Member

  • Normal Members
  • PipPipPip
  • 88 posts
  • Gender:Male

Posted 17 November 2010 - 16:25

* renoise.song().transport.playback_pos_observable


Hey Konrad,

A solution to this could be adding an idle notifier that checks the playback_pos. If you take a look at Nibbles, you'll see how the idle notifier can serve as a game stepper. You can change the os.clock() time checker to a playback_pos checker.

-- Run every line
if (renoise.song().transport.playback_pos == last_idle_time) then
  return
end
last_idle_time = renoise.song().transport.playback_pos

For heavy processing you will encounter "frame dropping" when the idle notifier doesn't fire between playback_pos. It will skip a line so to speak so keep that in mind when creating the stepper.

You can add and remove the idle notifier on renoise.song().transport.playing_observable to reduce overhead.

I seem to be developing a tool in a similar genre as you, it writes to the pattern editor during playback at the playback_pos. I hope to post it in a few days but I could send it to you (i if you want to take a look at how I address these issues.

#61 It-Alien

It-Alien

    Probably More God or Borg Than Human Member

  • Moderator
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 9593 posts
  • Gender:Male
  • Location:Avellino, Italy
  • Interests:trackers, basketball, chess, tabletennis, programming, writing, drumming, burping

Posted 21 November 2010 - 20:04

I ask for a way to know the current sampling frequency of the audio driver, so that the creation of samples can take it into account
my specs:
cpu:Intel Core2 Quad Q9550 (4x2.83Ghz, FSB 1333Mhz)
os:Win7 Home Premium 64bit - OSX 10.9.1 64bit
audio: M-Audio Audiophile 24/96 PCI


Unschemed, hypertechnical tracked music. Sounding different since 1993.

my latest song: Lavender Town Syndrome (11'33", Psychedelic Beast)


where to find more music by me: soundcloud , jamendo , last.fm , napodano.com , facebook

RTFM.gif

("Lavender Town Syndrome, 11'33" Psychedelic Beast)

#62 eeter

eeter

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 807 posts
  • Gender:Male
  • Location:Estonia, Jõgeva
  • Interests:Renoise, music, party, psychedelics, beer(<3!!!), travelling.

Posted 06 December 2010 - 20:40

API for access to renoise's [4] clipboards would be awesome.


+ Some way to define selections in Pattern Editor

#63 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3357 posts
  • Gender:Male

Posted 13 December 2010 - 00:30

To set initial focus in the relevant GUI elements:


vb:textfield {

focus = true

}

enables complete keyboard control in for example, search tools

--> Lua For Beginners <--
--> Lua for newbies <--

My Scripts On Forum

Top Tip!

 

cpu : Xeon 1231 v3, os : Win 7 64bit, audio: Audient iD4
posts as 4tune @ KvR and some other music related sites


#64 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6290 posts
  • Gender:Male
  • Interests:wildlife + urban trekking

Posted 06 January 2011 - 22:18

My "most wanted" list (not in any particular order)

* Access to the list of scheduled patterns (could be read-only). More info
* A way to properly clear text from a ViewBuilder object -> e.g. supply "nil" to return it to initial, empty state
* A way to detect which matrix slot has been muted (pattern_slot_mutes_observable). More info
* Make the pattern_assignments_observable tell us what pattern was changed, and from what index
* More control of the recording dialog: FX track, sync to pattern, create new instrument etc.
* Default value for Slider, MiniSlider, RotaryEncoder (reset to this position when double-clicked)
* Bipolar support for Slider, MiniSlider, RotaryEncoder (like e.g. the Cabinet Simulator EQ's)
* Range slider (like the zoom slider of the waveform editor)
* Fix: declaration of loop points in a song using transport.loop_range_beats will snap to coeff. More info
* Ability to retrieve the current volume level at any point in a DSP chain (imagine a mixer application using this)
* Access to the currently playing voices - whether a sample is playing, it's current playback position etc.
* Access to the status of a sample - whether it's currently being loaded from disk
* Ability to show/hide the (detached) instrument editor 
* Ability to start/stop phrase playback "preview" (independently of the song)
* Access to UI theme colors (e.g. to set a button to the "selected" state)
* Ability to detect when a key has been released (dialog keyhandler)
* Access the selected phrase index when the instrument isn't selected (selected_phrase/_index is a global property)

Features that have been implemented
* A way to determine which slots are selected in the matrix
* "is_midi_mapped" property for parameters (like "is_automated")
* A way to determine mixer PRE/POST state

Edited by danoise, 15 June 2017 - 17:06.

Tracking with Stuff. API wishlist | Soundcloud


#65 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3357 posts
  • Gender:Male

Posted 23 January 2011 - 17:18

Get the currently selected device index in the automation editor.

renoise.song().patterns[].tracks[].selected_automation_device_index, _observable

--> Lua For Beginners <--
--> Lua for newbies <--

My Scripts On Forum

Top Tip!

 

cpu : Xeon 1231 v3, os : Win 7 64bit, audio: Audient iD4
posts as 4tune @ KvR and some other music related sites


#66 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7059 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 26 January 2011 - 23:09

I request a "column by column" iterator.

The closest thing I can see is `renoise.song().pattern_iterator:lines_in_track()`

The problem I'm having, which I will work around with cheap hacks, is that the above iterator will cycle through each column before moving to the next track.

ideally, some sort of "vertical iterator, left to right" would be a life saver.

Or, am I missing something obvious?

Cheers.
  • dblue likes this

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : One million clicks! »


#67 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3357 posts
  • Gender:Male

Posted 27 January 2011 - 20:58

renoise.app():show_custom_dialog("Title", dialog_content,keyhandler_func, close_function)



close_function
is fired when you press the [x] on a dialog to close it.

Would be greatly useful when trying to release all relevant notifiers.
  • nism likes this

--> Lua For Beginners <--
--> Lua for newbies <--

My Scripts On Forum

Top Tip!

 

cpu : Xeon 1231 v3, os : Win 7 64bit, audio: Audient iD4
posts as 4tune @ KvR and some other music related sites


#68 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3357 posts
  • Gender:Male

Posted 11 February 2011 - 19:54

Brainstrom warning :) :

Ability to attach invisible scripting meta data id`s into the song. i.e.


renoise.song():add_id ("Song_in_A#")

renoise.song().pattern[1]:add_id ("Miss_this_pattern")

renoise.song().pattern[1].track[2]:add_id ("true")



These id`s get saved in the renoise song invisible to the user, with maybe a user preference in renoise to allow this?
Silently in the background renoise could maybe prefix the ids with the script xml id?

Now you can use these id`s to trigger events with observable transport, save per song preferences etc.



The advantage of this over simple preferences would be that when a user deletes/ clones a pattern in the song all the meta data is destroyed or cloned accordingly??

--> Lua For Beginners <--
--> Lua for newbies <--

My Scripts On Forum

Top Tip!

 

cpu : Xeon 1231 v3, os : Win 7 64bit, audio: Audient iD4
posts as 4tune @ KvR and some other music related sites


#69 nism

nism

    Local Chief Member

  • Normal Members
  • PipPipPipPipPip
  • 210 posts

Posted 15 March 2011 - 23:26

I would like to have the possibility to make a key handler function respond to a key release as well as a key press. So that I could do something like this:

if key.name == "z" then
   trigger_note(instrument, track, note, velocity)
elseif key.name == "z_off" then
   trigger_note_off(instrument, track, note)
end



Also, this:

renoise.app():show_custom_dialog("Title", dialog_content,keyhandler_func, close_function)


Edited by nism, 15 March 2011 - 23:29.


#70 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7059 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 11 April 2011 - 21:18

I'd like to request a function named dbug() be added to Lua.Standard.API.lua. Basically a compliment to oprint, rprint, and print.

Example:
[lua]
function dbug(msg)
if _MAGIC_FUNCTION(msg) == 'object' then oprint(msg)
elseif type(msg) == 'table' then rprint(msg)
else print(msg) end
end
[/lua]

This would save me a lot of grief.

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : One million clicks! »


#71 taktik

taktik

    Renoise Developer

  • Admins
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 15040 posts
  • Gender:Male
  • Location:Berlin, Germany
  • Interests:füße waschen

Posted 17 April 2011 - 15:00

I'd like to request a function named dbug() be added to Lua.Standard.API.lua. Basically a compliment to oprint, rprint, and print.

Example:
[lua]
function dbug(msg)
if _MAGIC_FUNCTION(msg) == 'object' then oprint(msg)
elseif type(msg) == 'table' then rprint(msg)
else print(msg) end
end
[/lua]

This would save me a lot of grief.


oprint is not really an equivalent to rprint. It does not print an objects "state" but its available functions and properties.
If this nevertheless would be useful, you can use something like to roll up your own "dbug":

function is_class_object(object)
  local is_base_type = {
    ["nil"]=true, ["boolean"]=true, ["number"]=true,
    ["string"]=true, ["thread"]=true, ["table"]=true 
  }
  return (not is_base_type[type(object)])
end

  • Conner_Bw likes this

#72 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7059 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 17 April 2011 - 16:54

oprint is not really an equivalent to rprint. It does not print an objects "state" but its available functions and properties.
If this nevertheless would be useful, you can use something like to roll up your own "dbug": [...]


For me, it's better than the script crashing because I chose the wrong variation of print.

I just needed a quick all-in-one for debugging purposes.

The code snippet will do the job.

Thanks!

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : One million clicks! »


#73 esaruoho

esaruoho

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2521 posts
  • Gender:Male
  • Location:Kontula, Helsinki, Finland
  • Interests:// Free Energy // Cymatics // Sound visualization // Sustainable energy production // Apple devices // Tesla Motors //

Posted 31 May 2011 - 16:18

renoise.app().audioindriver.show_all_available (list something like the VSTI/VSTFX lists available from renoise.song().selected_instrument.plugin_properties.available_plugins and (renoise.song().selected_track.available_devices )
renoise.app().audiooutdriver.show_all_available
renoise.app().audioindriver = LineInput (sets from the all_available.)
renoise.app().audiooutdriver = Soundflower(2ch) (sets from the all_available.)

So you can for instance do setting of input + output to Soundflower to sample what is being played, and then set it back to what it was originally.

renoise.app().window.sample_record_dialog.monitoring on/off
for being able to open or close monitoring in the sample record dialog.

read lfo device setting (amount) and add the number to script

renoise.song().instruments[].plugin_properties.available_plugins[] -> Renoise native plugins listing

renoise.app().window.upperframe.diskbrowser.more
renoise.app().window.upperframe.masterspectrum.more
renoise.app().windows.lowerframe.trackdspload.more

| lackluster Website | lackluster on bandcamp | lackluster on facebooklackluster on soundcloud | esaruoho on twitter |

esaruoho@gmail.comesaruoho on reddit | esaruoho on ello | 

| OS X 10.11 El Capitan | Mac Book Pro 2.66 GHz Intel Core 2 Duo / 8GB 1067 MHz DDR3 |

| Latent Impulse Tracker/Scream Tracker 3/Schism Tracker <-> Renoise fanatic |

More API functions, please! ;)

#74 esaruoho

esaruoho

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2521 posts
  • Gender:Male
  • Location:Kontula, Helsinki, Finland
  • Interests:// Free Energy // Cymatics // Sound visualization // Sustainable energy production // Apple devices // Tesla Motors //

Posted 10 June 2011 - 22:09

Okay, one more thing.. Possibility to add scripts to *THIS* menu/whatchamacallit ;)
Posted Image

Edited by esaruoho, 10 June 2011 - 22:10.

  • Cas likes this

| lackluster Website | lackluster on bandcamp | lackluster on facebooklackluster on soundcloud | esaruoho on twitter |

esaruoho@gmail.comesaruoho on reddit | esaruoho on ello | 

| OS X 10.11 El Capitan | Mac Book Pro 2.66 GHz Intel Core 2 Duo / 8GB 1067 MHz DDR3 |

| Latent Impulse Tracker/Scream Tracker 3/Schism Tracker <-> Renoise fanatic |

More API functions, please! ;)

#75 vV

vV

    God's or Borg's Chief and Ruler of All Species

  • Moderator
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 16855 posts
  • Gender:Male
  • Location:Netherlands

Posted 10 June 2011 - 22:44

Allow retreival of the exact position of the cursor on ins/pan/vol/delay column level:

renoise.song().selected_note_column_object(renoise.song().selected_note_column_index) returns:
1: cursor is in the notecolumn
2: cursor is in the instrument column
3:cursor is in the volume column
4:cursor is in the panning column
5:cursor is in the delay column.
  • esaruoho likes this
Vv....


cpu Intel Core i7-4820K @3.70GHz
chipset Intel X79 chipset
mem 32 Gb 2400Mhz
os Win 7 64-bit SP1, DirectX 11
audio ESI ESP1010e - > Driver rev:2.0.6.0
video nVidia Geforce GTX780 - > Driver rev:335.23


Renoise Official Manual