Jump to content


Photo

The Api Wishlist Thread


  • Please log in to reply
208 replies to this topic

#26 Beatslaughter

Beatslaughter

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2296 posts
  • Gender:Male
  • Location:Berlin, Germany
  • Interests:Music, Blu-ray, PC Games

Posted 26 July 2010 - 14:04

Another small one which would make life a bit easier.

renoise.tool():has_menu_entry(menu_entry_name)


#27 Moonriders

Moonriders

    Big Masta Member

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

Posted 27 July 2010 - 07:32

Could we have an XY Control for the ViewBuilder?

#28 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 27 July 2010 - 09:43

1) Renoise.SelectionBlock object.

2) SampleBuffer.selection_start and SampleBuffer.selection_end as read/write variables (they are currently read-only)
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)

#29 Johann

Johann

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2774 posts
  • Gender:Not Telling

Posted 27 July 2010 - 17:13

Functions to convert sample buffers: mono/stereo, sample rate and bit depth, everything the "adjust sample properties" dialog can do.

1) Renoise.SelectionBlock object.


I'd also like something simpler, to just know the lines where the selection starts and ends. Maybe like the current selection in the sample editor behaves: if nothing is selected, you get the first and last line of the pattern, otherwise where the selection starts/ends.

music / photos / renoise scripts


hay guises! action/reaction. I'm not into leaving or avoiding places, I ban 'em by making sure I get banned.. loadsa noise, little signal.. basically anything else makes more sense to spend energy on. thanks for the app, but from here on out we simply don't have any use for each other period. oh, and of course big shoutouts to bit-arts and kaneel and anyone else I forgot :D :D

#30 Johann

Johann

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2774 posts
  • Gender:Not Telling

Posted 27 July 2010 - 20:04

2) SampleBuffer.selection_start and SampleBuffer.selection_end as read/write variables (they are currently read-only)

when that comes, I'll be ready :D

selector01.png

music / photos / renoise scripts


hay guises! action/reaction. I'm not into leaving or avoiding places, I ban 'em by making sure I get banned.. loadsa noise, little signal.. basically anything else makes more sense to spend energy on. thanks for the app, but from here on out we simply don't have any use for each other period. oh, and of course big shoutouts to bit-arts and kaneel and anyone else I forgot :D :D

#31 Johann

Johann

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2774 posts
  • Gender:Not Telling

Posted 27 July 2010 - 20:21

Tooltip stuff:

- Some kind of markup for *bold text* in tooltips.

- Everything that can have a tooltip, should have "tooltip_width" as well, and autowrap to that width.

- Not really an API request: a slightly bigger inner margin on tooltips would make them much more readable IMHO. Just 1-2 pixels more..

Edited by Johann, 27 July 2010 - 20:22.

music / photos / renoise scripts


hay guises! action/reaction. I'm not into leaving or avoiding places, I ban 'em by making sure I get banned.. loadsa noise, little signal.. basically anything else makes more sense to spend energy on. thanks for the app, but from here on out we simply don't have any use for each other period. oh, and of course big shoutouts to bit-arts and kaneel and anyone else I forgot :D :D

#32 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

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

Posted 30 July 2010 - 21:04

We currently have access to sample basenote:

renoise.song().instruments[].samples[].base_note _observable


Can we have access to a VST Basenote aswell?


I could see channel being useful at some point too.


edit: while we are at it MIDI basenote [and other properties too]?

--> 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


#33 vV

vV

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

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

Posted 30 July 2010 - 21:47

We currently have access to sample basenote:

renoise.song().instruments[].samples[].base_note _observable


Can we have access to a VST Basenote aswell?


I could see channel being useful at some point too.


edit: while we are at it MIDI basenote [and other properties too]?


Why not asking for all VSTI instrument controls?
All or nothing ;)
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

#34 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

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

Posted 30 July 2010 - 21:51

Why not asking for all VSTI instrument controls?
All or nothing ;)


+1 if taktik has the inclination, but in the short(sighted) term I just need the basenote for a specific script :)

--> 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


#35 BYTE-Smasher

BYTE-Smasher

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3843 posts

Posted 31 July 2010 - 08:07

Metadevices.
  • Moonriders likes this
BYTE-Smasher is a lofi orgasm in high fidelity
BYTE-Smasher is jacks disheveled sense of groove
BYTE-Smasher is chaos turned structured, then back to chaos
This signature is now diamonds
Posted Image
I'm on a horse.

#36 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

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

Posted 01 August 2010 - 16:38

Metadevices.


Use the source, Luke.

https://code.google....-SyncedLFO.xrnp

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! »


#37 Johann

Johann

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2774 posts
  • Gender:Not Telling

Posted 02 August 2010 - 08:12

now here's an idea: per-song-preferences! That is, the same sweet mechanism we have for preferences now, only that this set of preferences gets saved (just those parts that differ from the defaults, as to not bloat every song automatically) into and loaded from each song, transparently to the script.

Edited by Johann, 02 August 2010 - 08:12.

  • tris likes this

music / photos / renoise scripts


hay guises! action/reaction. I'm not into leaving or avoiding places, I ban 'em by making sure I get banned.. loadsa noise, little signal.. basically anything else makes more sense to spend energy on. thanks for the app, but from here on out we simply don't have any use for each other period. oh, and of course big shoutouts to bit-arts and kaneel and anyone else I forgot :D :D

#38 Moonriders

Moonriders

    Big Masta Member

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

Posted 02 August 2010 - 18:04

Use the source, Luke.

https://code.google....-SyncedLFO.xrnp


Conner_Bw, do those by chance run in renoise?
If not, is there any possible way of seeing what it looks like if I have Lua installed?

#39 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

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

Posted 02 August 2010 - 18:10

Conner_Bw, do those by chance run in renoise?
If not, is there any possible way of seeing what it looks like if I have Lua installed?


I'm not going to prod the embers more than I should. These are unsupported leftovers unsuitable for public release.

If you can't figure this out on your own, then this is not for you. ;-) It's not my place to help, less I want to piss off more people than I should.

Edited by Conner_Bw, 02 August 2010 - 18:10.

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! »


#40 taktik

taktik

    Renoise Developer

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

Posted 02 August 2010 - 18:31

I'm not going to prod the embers more than I should. These are unsupported leftovers unsuitable for public release.

If you can't figure this out on your own, then this is not for you. ;-) It's not my place to help, less I want to piss off more people than I should.


Its disabled in 2.6, but not because we want to keep it secret or whatever, but simply because its not yet ready for prime time. There's a lot of stuff missing to make that really fun, and a lot of questions open about how this thing should work in detail.

At some time it will be (re)enabled; when it's ready. Right now making the current API (and 2.6 builds in general) as stable and "complete" has highest priority. One thing after the other...

#41 Moonriders

Moonriders

    Big Masta Member

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

Posted 02 August 2010 - 21:27

I'm not going to prod the embers more than I should. These are unsupported leftovers unsuitable for public release.

If you can't figure this out on your own, then this is not for you. ;-) It's not my place to help, less I want to piss off more people than I should.


Well, you succeeded in pissing me off, so you got your monies worth.
Can I get a screenshot?

#42 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

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

Posted 02 August 2010 - 21:33

I'm no longer on the Renoise Team. I have the same beta you have. Read Taktik's previous reply. It's disabled (I haven't tried, but i'll take his word for it). So, no screenshots because it's not possible.

My mistake.

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! »


#43 BYTE-Smasher

BYTE-Smasher

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3843 posts

Posted 03 August 2010 - 03:18

can't wait till it is ready for prime time! :D
BYTE-Smasher is a lofi orgasm in high fidelity
BYTE-Smasher is jacks disheveled sense of groove
BYTE-Smasher is chaos turned structured, then back to chaos
This signature is now diamonds
Posted Image
I'm on a horse.

#44 epc

epc

    Member

  • Normal Members
  • PipPip
  • 49 posts

Posted 04 August 2010 - 04:13

Allowing duplicate values in lists in a Document (see https://code.google....ent.API.lua#256) and then being able to iterate through and identify these and handle them pretty much like you would a table, or let Document contain tables with observable values in it instead of just lists.

Say you have a group of volumes, and then you have individual volumes that you want to bind to sliders in the view.

Now you have

volumes = {
volume1 = { value = 10, line = 1 }
volume2 = { value = 20, line = 4 }
volume3 = { value = 30, line = 8 }
}

and can do volumes["volume" .. id]


but it would be great to have

volumes = {
volume = { id = 1, value = 10, line = 1 }
volume = { id = 2, value = 20, line = 4 }
volume = { id = 3, value = 30, line = 8 }
}

and be able to do both volumes[id] or volumes.volume.id.
So you have the choice to either identify a volume by it's position in the volumes list, or by it's specific, unique id.

Edited by epc, 04 August 2010 - 04:18.

os: OS X 10.6.4

#45 Beatslaughter

Beatslaughter

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2296 posts
  • Gender:Male
  • Location:Berlin, Germany
  • Interests:Music, Blu-ray, PC Games

Posted 04 August 2010 - 12:46

Also a few wishes for the document API, which makes it somewhat cumbersome to use in my case as it is now.

I can add nodes with doc:add(name, node) but can't delete the damn thing with doc:remove(name, node), remove() only supports the full document or a list entry. Looks like i have to rebuild the whole document to get rid of a node, but this can be solved in a preferred way like below:

Probably even more useful and much more powerful would be to support a list of nodes instead of only numbers, strings and booleans. As it is now i have to use a structure similar to this:

<mixer_snapshots>
<count>2</count>
<snapshot_1> ... more tags inside ... </snapshot_1>
<snapshot_2> ... more tags inside ... </snapshot_2>
</mixer_snapshots>

A list of nodes would allow me to do it like this:

<mixer_snapshots>
<snapshots>
<snapshot> ... more tags inside ... </snapshot>
<snapshot> ... more tags inside ... </snapshot>
</snapshots>
</mixer_snapshots>

#mixer_snapshots.snapshots would return 2 too in this case and what's even more sweet... mixer_snapshots.snapshots:remove(pos) should work, so the first request solves itself. mixer_snapshots.snapshots[i] returns an observable list and mixer_snapshots.snapshots[i].value a DocumentNode object.

#46 taktik

taktik

    Renoise Developer

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

Posted 04 August 2010 - 13:22

I can add nodes with doc:add(name, node) but can't delete the damn thing with doc:remove(name, node), remove() only supports the full document or a list entry.


You can. Simply leave away the name:

local doc = renoise.Document.create()
local nested_doc = renoise.Document.create()
doc:add("sub_node", nested_doc)
doc:remove(nested_doc)

... should do the trick.

#47 Beatslaughter

Beatslaughter

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2296 posts
  • Gender:Male
  • Location:Berlin, Germany
  • Interests:Music, Blu-ray, PC Games

Posted 04 August 2010 - 13:38

You can. Simply leave away the name:

local doc = renoise.document.create()
local nested_doc = renoise.document.create()
doc:add("sub_node", nested_doc)
doc:remove(nested_doc)

... should do the trick.


Well, this is only half the truth because in the remove you're still passing a DocumentObject and not a DocumentNodeObject. The problem is that in one function i'm storing all the snapshot values and also create temporary DocumentObjects, which i'm using to add all the stuff, the function exits and they are gone. Now in another function i want to delete a specific snapshot and use node = doc:property("snapshot_" .. index) to get access to it, but now i do have a node object and not a document object anymore. The only way it works would be to make some sort of global table and memorize each temporary used document for all snapshots and these would be a lot.

#48 taktik

taktik

    Renoise Developer

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

Posted 04 August 2010 - 14:04

... you're still passing a DocumentObject and not a DocumentNodeObject.


There only is a DocumentObject. Nodes are DocumentObjects which got added into another DocumentObject.

If you no longer have a ref to it, then get the ref from the parent.

-- using the example above:
doc:remove(doc.sub_node)
-- or
doc:remove(doc:property("sub_node"))

---

EDIT: IC. The docs are not clear about this. Will fix this...

#49 Beatslaughter

Beatslaughter

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2296 posts
  • Gender:Male
  • Location:Berlin, Germany
  • Interests:Music, Blu-ray, PC Games

Posted 04 August 2010 - 15:12

There only is a DocumentObject. Nodes are DocumentObjects which got added into another DocumentObject.

If you no longer have a ref to it, then get the ref from the parent.

-- using the example above:
doc:remove(doc.sub_node)
-- or
doc:remove(doc:property("sub_node"))

---

EDIT: IC. The docs are not clear about this. Will fix this...


Aha, there is the culprit. Wasn't aware that one can get parent objects too and that both are the same type. The request for the list would still be handy though. Modified my storing now to something like <snapshot_crc32> instead of <snapshot_1>, so the position of a snapshot in a document isn't that relevant anymore. When i rename a snapshot i can simply fetch the node into a temporary document, delete it and insert it again under it's new name.

#50 epc

epc

    Member

  • Normal Members
  • PipPip
  • 49 posts

Posted 04 August 2010 - 15:48

So just to sum it up and drive it home with taktik's example

[lua]
local doc = renoise.Document.create()
local nested_doc = renoise.Document.create()
local nested_doc2 = renoise.Document.create()
doc:add("sub_node", nested_doc)
doc:add("sub_node", nested_doc2)
doc:remove(nested_doc)
rprint(nested_doc)
[/lua]

outputs

'can not add two properties to a document with the same name ('sub_node).'


and if you do

[lua]
local doc = renoise.Document.create() {
sub_node = {},
sub_node = {}
}
[/lua]

the sub nodes will overwrite eachother (like the docs say).

It would just be a lot easier if you could have nodes with the same name and ref them like Beatslaughter mentioned.

I was thinking if E4X existed for Lua and found this but not sure what happened to it.
os: OS X 10.6.4