Jump to content


Photo

New Tool (2.8): Mpe


  • Please log in to reply
167 replies to this topic

#26 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6781 posts
  • Gender:Male
  • Location:Borneo

Posted 25 May 2011 - 06:07

Thanks Conner_BW "To the rescue!" as always.

posted version 2.2

updated "step" button function - now also changes "step length used in pattern editor" to zero(0) -- this is so you can use the arrow keys to step edit as many steps forward or back as you want
updated "song" button function - now also changes "step length used in pattern editor" to (2) -- this is so the cursor moves forward a quarter beat every time you enter a note
fixed when you have the last instrument selected and a new instrument is added or deleted crash
fixed when you have the last track selected and a track is added or deleted crash


had an error with this newest version:

'C:\Users\plugexpert\AppData\Roaming\Renoise\V2.7.0\Scripts\Tools\com.renoise.MPE.xrnx\main.lua' failed in one of its notifiers.

Please contact the author (Max Taverna [sevenscientist@renoise.com]) for assistance...

std::logic_error: 'invalid selected_track index '0'. valid values are (1-10).'
stack traceback:
[C]: ?
[C]: in function '__newindex'
[string "do..."]:22: in function <[string "do..."]:11>
main.lua:627: in function <main.lua:626>


and pressing 'seq' in a new empty song gave:

'C:\Users\plugexpert\AppData\Roaming\Renoise\V2.7.0\Scripts\Tools\com.renoise.MPE.xrnx\main.lua' failed in one of its notifiers.

Please contact the author (Max Taverna [sevenscientist@renoise.com]) for assistance...

std::logic_error: 'invalid sequence pos index '2'. valid values are (1-1).'
stack traceback:
[C]: ?
[C]: in function '__newindex'
[string "do..."]:22: in function <[string "do..."]:11>
main.lua:886: in function <main.lua:885


pressing flevel:

'C:\Users\plugexpert\AppData\Roaming\Renoise\V2.7.0\Scripts\Tools\com.renoise.MPE.xrnx\main.lua' failed in one of its notifiers.

Please contact the author (Max Taverna [sevenscientist@renoise.com]) for assistance...

main.lua:715: attempt to index field '?' (a nil value)
stack traceback:
main.lua:715: in function <main.lua:713>


Edited by Jonas, 25 May 2011 - 06:09.


#27 taktik

taktik

    Renoise Developer

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

Posted 25 May 2011 - 12:09

* When trying to install the attachement (OSX 10.6.7, Renoise 2.7.0) I get: ...

But, if I repackage it myself it works fine. Zip incompatibility? Taktik should look at this...


Can replicate the uninstall problem, but not this one. Could someone upload a "broken" version so that I can have a look at this?

#28 sevenscientist

sevenscientist

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 181 posts
  • Gender:Male
  • Location:Australia

Posted 25 May 2011 - 12:16

Jonas

you said this is part of your error

'C:\Users\plugexpert\AppData\Roaming\Renoise\V2.7.0\Scripts\Tools\com.renoise.MPE.xrnx\main.lua' failed in one of its notifiers.

the new version is not com.renoise.MPE.xrnx it is
seven.scientist.MPE.xrnx

so I think your PC may still have the old version installed, try manually deleting it if you can from

C:\Users\plugexpert\AppData\Roaming\Renoise\V2.7.0\Scripts\Tools\

#29 bbarham

bbarham

    Member

  • Normal Members
  • PipPip
  • 13 posts

Posted 25 May 2011 - 17:05

This is very cool so far! Any plans for midi/keybind or osc control? I'd love to be able to control this via the numberpad or touchosc.

#30 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6781 posts
  • Gender:Male
  • Location:Borneo

Posted 25 May 2011 - 17:51

Jonas

you said this is part of your error

'C:\Users\plugexpert\AppData\Roaming\Renoise\V2.7.0\Scripts\Tools\com.renoise.MPE.xrnx\main.lua' failed in one of its notifiers.

the new version is not com.renoise.MPE.xrnx it is
seven.scientist.MPE.xrnx

so I think your PC may still have the old version installed, try manually deleting it if you can from

C:\Users\plugexpert\AppData\Roaming\Renoise\V2.7.0\Scripts\Tools\


yep, seem to have had both installed and opened the buggy version :) , all seems to work fine now! Cheers.

#31 sevenscientist

sevenscientist

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 181 posts
  • Gender:Male
  • Location:Australia

Posted 26 May 2011 - 00:33

Cant believe were on page 2 and most bugs are worked out , exciting!

bbarham thats a great idea! and I will be doing that, I have taken time out of work to make this so it may take a little longer since I have to go back to work and do this in my spare time.
I think touch OSC is cool. Please let me know what you think the mapping should be for all the functions?

numpad is good but, how do we cater for users like me who are on a laptop with no numpad? ideas? suggestions? maybe we have it only support numberpad?

cool keep having fun!

future features may include:
* the slice marker function like the slice tool so it divides a sample by 4/8/16?
* slider to vary pitch/transpose all samples in an instrument?
* rotary controllers to vary start and end points of a sample?

Posted Image

#32 Guest_68000_*

Guest_68000_*
  • Guests

Posted 26 May 2011 - 00:46

I'd like to see this added to the tools page, so tool updater script could keep it up to date easily - having to check forum for updates is quite disturbing ;)

#33 esaruoho

esaruoho

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2678 posts
  • Gender:Male
  • Location:Kontula, Helsinki, Finland
  • Interests://Varying Interests//

Posted 26 May 2011 - 00:53

Ok where's the newest build..?

http://lackluster.org | on Bandcamp | on YouTube | on Facebook | on Spotify | on iTunes | on TiDAL | on Soundcloud | 

http://twitter.com/esaruoho | http://esaruoho.tumblr.com | GitHubesaruoho@gmail.com | 

| macOS 10.13 High Sierra | MacBook Pro 2.8 GHz Intel Core i7 / 16 Gb 1600 MHz DDR 3 |

| http://renoise.com/tools/paketti | BTC: 1BoZ9rvb8wT7dFNyVPwSX7DLj3stNo7844 | http://paypal.me/esaruoho |

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

More API functions, please! ;) http://forum.renoise.com/index.php/topic/26329-the-api-wishlist-thread/page-3#entry240266

#34 sevenscientist

sevenscientist

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 181 posts
  • Gender:Male
  • Location:Australia

Posted 26 May 2011 - 00:53

ok Tehnik, Im submitting it now

newest build was first post but im submitting it to the tools page now..

Posted Image

http://tools.renoise...ing-environment

Edited by sevenscientist, 26 May 2011 - 05:32.

  • Conner_Bw likes this

#35 esaruoho

esaruoho

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2678 posts
  • Gender:Male
  • Location:Kontula, Helsinki, Finland
  • Interests://Varying Interests//

Posted 26 May 2011 - 18:38

Can we now see a video of it in use? ;)

http://lackluster.org | on Bandcamp | on YouTube | on Facebook | on Spotify | on iTunes | on TiDAL | on Soundcloud | 

http://twitter.com/esaruoho | http://esaruoho.tumblr.com | GitHubesaruoho@gmail.com | 

| macOS 10.13 High Sierra | MacBook Pro 2.8 GHz Intel Core i7 / 16 Gb 1600 MHz DDR 3 |

| http://renoise.com/tools/paketti | BTC: 1BoZ9rvb8wT7dFNyVPwSX7DLj3stNo7844 | http://paypal.me/esaruoho |

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

More API functions, please! ;) http://forum.renoise.com/index.php/topic/26329-the-api-wishlist-thread/page-3#entry240266

#36 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

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

Posted 26 May 2011 - 23:59

I see it on the tools page now.

http://tools.renoise...ing-environment

Congrats!

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


#37 bbarham

bbarham

    Member

  • Normal Members
  • PipPip
  • 13 posts

Posted 27 May 2011 - 02:37

Please let me know what you think the mapping should be for all the functions?
numpad is good but, how do we cater for users like me who are on a laptop with no numpad? ideas? suggestions? maybe we have it only support numberpad?


My terminology might be a little off because I'm not as familiar with building tools as I would like to be. I believe it is possible to hook customizable keybinds to the buttons on the MPE interface accessible from Preferences:Keys:Global:Tools. The numberpad on extended keyboards is default mapped to instrument selection, but I never use it. It seems like it would be more useful as a transport with pattern navigation.

This is the setup I have in my head (maybe out of scope of how you want MPE to function):

0= Bring up MPE interface
1= Stop
2= Play
3= PlayStart
4= Quarter - (2 steps in 8LPB)
5= Quarter + (2 steps in 8LPB)
6= First beat on last Bar
7= Whole - (8 steps in 8LPB)
8= Whole + (8 steps in 8LPB)
9= First beat on first Bar
+= Append a note column and move entry point to it
-= Remove column
*= MPC Erase button

Combined with the direction arrows for single-step navigation, this would allow for quick two-hand pattern creation that the MPC really excels at.

I use a laptop as well so I understand that this would be less functional in that context. Looking at the available options, I found this.
http://www.amazon.co...cp_ob_e_title_1
and it's a USB hub! Who doesn't need more usb ports?

I really appreciate the work you've put into this. It's given me a different perspective on Renoise and inspired me to dive a bit deeper into LUA-land. I'd also like to echo esa's request for a video;)

#38 sevenscientist

sevenscientist

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 181 posts
  • Gender:Male
  • Location:Australia

Posted 27 May 2011 - 13:00

cool! I will work on it and a video! thanks for the link!

#39 esaruoho

esaruoho

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2678 posts
  • Gender:Male
  • Location:Kontula, Helsinki, Finland
  • Interests://Varying Interests//

Posted 28 May 2011 - 01:41

Ok hi sevenscientist, I'm hoping to see a video soon.
I've got a few questions. I don't know anything about how this is supposed to look, but just some observations.

1) Clicking on Sample opens up the Sample-Recorder. However, when you click on the sample-button again, it doesn't toggle the sample-recorder off. This can be done ;) (the issue here is that once you've pressed Sample once, no amount of pressing any other buttons will toggle the sample-recorder display off.)
2) What is Trim-button supposed to show? For me, it opens up this: Posted Image.
This is my "Global View Preset #5".
3) What is Mixer-button supposed to show? For me, it opens up my "Global View Preset #3". Posted Image
4) What is song-button supposed to show? For me, it opens up my "Global View Preset #4" Posted Image
5) What is "PROG"-button supposed to show? It opens up "Global View Preset #6".
Posted Image

The rest (calling a specific Global View Preset when pressing Record, OverDub, etc) are suffering from the same thing.
I'm guessing that you are calling the default Global View settings shipped with a just-installed Renoise. That's great! But a better way is to directly implement, in-mpe-script, the screensettings you wish to use. This way this script will function as-supposed-to, even if the user has already changed his global view presets. dBlue+vV+Conner_Bw were kind enough to break it down for me a while ago, so I'll just paste a bit of code here.

[lua]
-- List:
-- Upper Frame: 1 Disk Browser, 2 Track Scopes, 3 Master Scopes, 4 Master Spectrum
-- Middle Frame: 1 Pattern Editor, 2 Mixer, 3 Sample Keyzones, 4 Sample Editor
-- Lower Frame: 1 Track DSPs, 2 Automation, 3 Instrument Settings, 4 Song Settings
function showsomethingF2()
renoise.app().window.active_upper_frame = 2
renoise.app().window.active_middle_frame = 1
renoise.app().window.active_lower_frame = 1
renoise.app().window.pattern_advanced_edit_is_visible= true
renoise.app().window.pattern_matrix_is_visible = false
renoise.app().window.sample_record_dialog_is_visible = false
renoise.app().window.upper_frame_is_visible = false
renoise.app().window.lower_frame_is_visible = false
end
[/lua]

Basically you can set your buttons to call these specific display functions, so you can have your MPE script show exactly what you want it to show. And you can toggle visibility of the sample record on and off, depending on what you want to do per button-functionality.


On a more positive side, I'm surprised and delighted to see that Save and New can be called from within a script :)
The step + / step - and <<bar and bar>> are really cool, and the f.level ( Set Volume to maximum within selected sample ) was as surprising as the save + new.
I love that all the buttons have a tooltip on mouseover.

I'm slightly confused by "Step" calling a specific global view preset - if it's just supposed to toggle follow-pattern off and record on. BTW, I'm fairly sure you can set these up to actually do the reverse, if follow pattern is off and record is already on - another click on the button would toggle follow-pattern on and record off. I'm also really impressed seeing that the samplename, pattern name and trackname can be called and shown directly in the script. That's amazing!

It'd be nice if "Edit" button would also toggle the adv.edit parameter on and off - and for it to also be aware of which screendisplay it is on - for instance, Edit does nothing whatsoever if I've already been taken to GlobalViewPreset#8 by the "Step"-button.

I'm hoping you can add some text next to the "on/off/1/8/1/16/1/64" dropmenu, because it is extremely destructive on a currently functioning song- it'd be nice to know what this is doing without having know what the MPC2000XL does ;) It also seems that it does a couple of things - resize the pattern - and switch quantize on and off.

Same with the metronome yes/no toggle - again, everyone else knows what this is, but I have to discover it by toggling it on and off and hoping nothing specifically goes wrong with my track ;)
Same with the channel mute yes/no, again, feels a bit confusing to find these out by clicking blindly on the interface.


I realize you might want to keep the MPE so that it requires the original Global View Presets - but for anyone who has changed them, it'd be a godsend to simply call these directly from the MPE-script. If you call the screendisplay modes from the MPE-script directly, the user is left to muck around with GlobalViewPresets themselves, and then they basically get more functionality out of the MPE script while also retaining their self-made screensets, which might be called by other, non-mpe shortcuts/buttons.


Well, I hope reading this reply to your script wasn't a total waste of time! Please carry on improving the script, either completely to how you want it tolook and function (who knows, maybe it already does exactly what you want it to do), or with these minor suggested modifications+improvements.

I'll keep testing this tool on and off just to see how it progresses, and again: thanks for making it in the first place!

http://lackluster.org | on Bandcamp | on YouTube | on Facebook | on Spotify | on iTunes | on TiDAL | on Soundcloud | 

http://twitter.com/esaruoho | http://esaruoho.tumblr.com | GitHubesaruoho@gmail.com | 

| macOS 10.13 High Sierra | MacBook Pro 2.8 GHz Intel Core i7 / 16 Gb 1600 MHz DDR 3 |

| http://renoise.com/tools/paketti | BTC: 1BoZ9rvb8wT7dFNyVPwSX7DLj3stNo7844 | http://paypal.me/esaruoho |

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

More API functions, please! ;) http://forum.renoise.com/index.php/topic/26329-the-api-wishlist-thread/page-3#entry240266

#40 sevenscientist

sevenscientist

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 181 posts
  • Gender:Male
  • Location:Australia

Posted 29 May 2011 - 13:17

Hey esaruoho, thanks for the feedback , you make some good points and I will work on the window preset things for the next release . Yep I added tooltips to the buttons but also to the menu items in the display area looking at your screenshots they are not readable I think its the theme (colours) you are using?

I dont want to be rude but I thought metronome and mute:yes/no are self explanatory - maybe I need a better tooltip?

I will do my best to improve it , thankyou for all the feedback and yes they are valid points. Cheers!

Edited by sevenscientist, 29 May 2011 - 13:18.


#41 esaruoho

esaruoho

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2678 posts
  • Gender:Male
  • Location:Kontula, Helsinki, Finland
  • Interests://Varying Interests//

Posted 29 May 2011 - 13:24

I dont want to be rude but I thought metronome and mute:yes/no are self explanatory - maybe I need a better tooltip?


I don't want to be rude either, so let's not be. this is what I see
Posted Image

mute yes no and metronome are self-explanatory. But not when you don't see them next to the dropdown menus. Then you have to guess ;)

If it's a self-made palette type issue, then sure, but this is the first script that doesn't show everything based on a theme :)

Edited by esaruoho, 29 May 2011 - 13:29.

http://lackluster.org | on Bandcamp | on YouTube | on Facebook | on Spotify | on iTunes | on TiDAL | on Soundcloud | 

http://twitter.com/esaruoho | http://esaruoho.tumblr.com | GitHubesaruoho@gmail.com | 

| macOS 10.13 High Sierra | MacBook Pro 2.8 GHz Intel Core i7 / 16 Gb 1600 MHz DDR 3 |

| http://renoise.com/tools/paketti | BTC: 1BoZ9rvb8wT7dFNyVPwSX7DLj3stNo7844 | http://paypal.me/esaruoho |

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

More API functions, please! ;) http://forum.renoise.com/index.php/topic/26329-the-api-wishlist-thread/page-3#entry240266

#42 sevenscientist

sevenscientist

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 181 posts
  • Gender:Male
  • Location:Australia

Posted 29 May 2011 - 15:00

esaruoho my apologies if I offended you, I have taken your advice and updated the song/trim/prog/mixer features (they also now turn off the sample mode) also the record and dub and step

I have also made the sample mode button begin sampling a new sample every time you press it after the forst press to bring up the sample record window, press trim/prog/mixer/song for it to go away.

PS I cant change or control the color of the text next to the display parts so yes its your palette thats causing the text to be almost invisible.. look at the first post for version 2.3 please download and try and let me know if this is better ps you can see the text in the screenshot on the first post, (PS I have tried it with all other themes and It has been consistent in displaying.

thanks again for the feedback!
I will update it in the tools page as soon as I hear back from you!

Edited by sevenscientist, 29 May 2011 - 15:02.


#43 esaruoho

esaruoho

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2678 posts
  • Gender:Male
  • Location:Kontula, Helsinki, Finland
  • Interests://Varying Interests//

Posted 29 May 2011 - 15:54

I have also made the sample mode button begin sampling a new sample every time you press it after the forst press to bring up the sample record window, press trim/prog/mixer/song for it to go away.
PS I cant change or control the color of the text next to the display parts so yes its your palette thats causing the text to be almost invisible.. look at the first post for version 2.3 please download and try and let me know if this is better ps you can see the text in the screenshot on the first post, (PS I have tried it with all other themes and It has been consistent in displaying.
thanks again for the feedback!
I will update it in the tools page as soon as I hear back from you!


Hey, that's real neat thinking! (1st click on Sample opening sample recorder, second click and third click starting and stopping sampling). I'll have to find out what exactly I did wrong with the palette ;)
Thanks for being so swift with your song-trim-prog-mixer fixes!!
I think you should probably just update it on the tools page.. I can work out the palette thing on me own :)

Edited by esaruoho, 29 May 2011 - 18:32.

http://lackluster.org | on Bandcamp | on YouTube | on Facebook | on Spotify | on iTunes | on TiDAL | on Soundcloud | 

http://twitter.com/esaruoho | http://esaruoho.tumblr.com | GitHubesaruoho@gmail.com | 

| macOS 10.13 High Sierra | MacBook Pro 2.8 GHz Intel Core i7 / 16 Gb 1600 MHz DDR 3 |

| http://renoise.com/tools/paketti | BTC: 1BoZ9rvb8wT7dFNyVPwSX7DLj3stNo7844 | http://paypal.me/esaruoho |

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

More API functions, please! ;) http://forum.renoise.com/index.php/topic/26329-the-api-wishlist-thread/page-3#entry240266

#44 esaruoho

esaruoho

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2678 posts
  • Gender:Male
  • Location:Kontula, Helsinki, Finland
  • Interests://Varying Interests//

Posted 01 June 2011 - 02:21

Nice to see the 2.4 update on this with rotary controllers! Btw, can you make them read the current sample's pitch, because it doesn't seem to get refreshed to transpose pitch 0 if you switch from a -40 sample to 0 sample.

http://lackluster.org | on Bandcamp | on YouTube | on Facebook | on Spotify | on iTunes | on TiDAL | on Soundcloud | 

http://twitter.com/esaruoho | http://esaruoho.tumblr.com | GitHubesaruoho@gmail.com | 

| macOS 10.13 High Sierra | MacBook Pro 2.8 GHz Intel Core i7 / 16 Gb 1600 MHz DDR 3 |

| http://renoise.com/tools/paketti | BTC: 1BoZ9rvb8wT7dFNyVPwSX7DLj3stNo7844 | http://paypal.me/esaruoho |

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

More API functions, please! ;) http://forum.renoise.com/index.php/topic/26329-the-api-wishlist-thread/page-3#entry240266

#45 triple d

triple d

    New Member

  • Normal Members
  • Pip
  • 8 posts

Posted 02 June 2011 - 14:50

So far this tool looks very promising. I am having a lot of fun with it!

But it would be even better if all the buttons on the tool are controllable by a midi-controller. Some form of midi-bind would be awesome.

Keep up the good work!

#46 hotelsinus

hotelsinus

    Big Daddy Member

  • Normal Members
  • PipPipPipPipPipPipPip
  • 415 posts
  • Gender:Male
  • Location:Hungary
  • Interests:Sound Design music Sound Creatin and how they born.

Posted 02 June 2011 - 15:06

this is really kool

Somebody can make one for the Emu Command Station... if it possible :D

nice gui !!!!!+

#47 esaruoho

esaruoho

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2678 posts
  • Gender:Male
  • Location:Kontula, Helsinki, Finland
  • Interests://Varying Interests//

Posted 02 June 2011 - 15:09

this is really kool

Somebody can make one for the Emu Command Station... if it possible :D

nice gui !!!!!+


D'you have a screenshot of the Emu Command Station?

http://lackluster.org | on Bandcamp | on YouTube | on Facebook | on Spotify | on iTunes | on TiDAL | on Soundcloud | 

http://twitter.com/esaruoho | http://esaruoho.tumblr.com | GitHubesaruoho@gmail.com | 

| macOS 10.13 High Sierra | MacBook Pro 2.8 GHz Intel Core i7 / 16 Gb 1600 MHz DDR 3 |

| http://renoise.com/tools/paketti | BTC: 1BoZ9rvb8wT7dFNyVPwSX7DLj3stNo7844 | http://paypal.me/esaruoho |

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

More API functions, please! ;) http://forum.renoise.com/index.php/topic/26329-the-api-wishlist-thread/page-3#entry240266

#48 esaruoho

esaruoho

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2678 posts
  • Gender:Male
  • Location:Kontula, Helsinki, Finland
  • Interests://Varying Interests//

Posted 08 June 2011 - 14:18

Hi, looking at your code, now you first have some Script screenset alterations, and then call global#8 viewpreset..
[lua] vb:button {
tooltip = "Disable (Follow Player Position) and (Enable Record Mode).",
text = "Step",
width = BTN_FUNCTION_WIDTH,
color = {0xf5, 0xf5, 0xf5},
pressed = function()
renoise.app().window.active_middle_frame = 1
renoise.app().window.active_lower_frame = 2
renoise.app().window.lower_frame_is_visible = true
renoise.app().window.upper_frame_is_visible = false
renoise.app().window.pattern_matrix_is_visible = false

renoise.app().window:select_preset(8)
renoise.song().transport.follow_player = false
renoise.song().transport.edit_mode = true
renoise.song().transport.edit_step = 0
end
},[/lua]

So you do both? But however, it's better to not do the select_preset no more in this tool if you are already calling the specific "preset" inside the script.. Right?

http://lackluster.org | on Bandcamp | on YouTube | on Facebook | on Spotify | on iTunes | on TiDAL | on Soundcloud | 

http://twitter.com/esaruoho | http://esaruoho.tumblr.com | GitHubesaruoho@gmail.com | 

| macOS 10.13 High Sierra | MacBook Pro 2.8 GHz Intel Core i7 / 16 Gb 1600 MHz DDR 3 |

| http://renoise.com/tools/paketti | BTC: 1BoZ9rvb8wT7dFNyVPwSX7DLj3stNo7844 | http://paypal.me/esaruoho |

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

More API functions, please! ;) http://forum.renoise.com/index.php/topic/26329-the-api-wishlist-thread/page-3#entry240266

#49 sevenscientist

sevenscientist

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 181 posts
  • Gender:Male
  • Location:Australia

Posted 10 June 2011 - 05:46

Hi, looking at your code, now you first have some Script screenset alterations, and then call global#8 viewpreset..
[lua] vb:button {
tooltip = "Disable (Follow Player Position) and (Enable Record Mode).",
text = "Step",
width = BTN_FUNCTION_WIDTH,
color = {0xf5, 0xf5, 0xf5},
pressed = function()
renoise.app().window.active_middle_frame = 1
renoise.app().window.active_lower_frame = 2
renoise.app().window.lower_frame_is_visible = true
renoise.app().window.upper_frame_is_visible = false
renoise.app().window.pattern_matrix_is_visible = false

renoise.app().window:select_preset(8)
renoise.song().transport.follow_player = false
renoise.song().transport.edit_mode = true
renoise.song().transport.edit_step = 0
end
},[/lua]

So you do both? But however, it's better to not do the select_preset no more in this tool if you are already calling the specific "preset" inside the script.. Right?




you are correct I missed that, fixed for the next version

So far this tool looks very promising. I am having a lot of fun with it!

But it would be even better if all the buttons on the tool are controllable by a midi-controller. Some form of midi-bind would be awesome.

Keep up the good work!



coming soon..

Nice to see the 2.4 update on this with rotary controllers! Btw, can you make them read the current sample's pitch, because it doesn't seem to get refreshed to transpose pitch 0 if you switch from a -40 sample to 0 sample.



I am trying to make it work but Im getting strange errors , so far I have only managed to make the instrument transpose rotary > update the sample transpose by its value.

every time i make it read the current samples pitch i get loop notifier errors?

and according to the exampletoolgui..

-- there is another way of dealing with "values", which we will describe in the
-- next example more in detail. Basically you can also pass over an Observable
-- object to the view (not the raw number, boolen), which then will be used by
-- the view instead of its onw value. Any changes to this value can then tracked
-- outside of this view. This often is very useful to seperate the GUI code from
-- the controller and data. Here is a simple example:
--
-- -- (the controller part of your script)
-- options.current_velocity = 0x7f
-- options.current_velocity.add_notifier(current_value_changed_function)

-- -- (and the GUI)
-- vb:slider {
-- bind = options.current_velocity, -- only gets a reference passed
-- min = 0,
-- max = 0x7f


-- Valid in the construction table only: Bind the view's value to a
-- renoise.Document.ObservableNumber object. Will change the Observable
-- value as soon as the view's value changes, and change the view's value as
-- soon as the Observable's value changes - automatically keeps both values
-- in sync.
-- Notifiers can be added to either the view or the Observable object.
rotary.bind
-> [ObservableNumber Object]



but I cant get the bind function to work for me? anyone have any ideas?

Edited by sevenscientist, 10 June 2011 - 05:47.

  • esaruoho likes this

#50 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

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

Posted 12 June 2011 - 15:49

but I cant get the bind function to work for me? anyone have any ideas?


As far as I can tell to do this you'd have to create a Document variable for every sample and keep track of them individually.

Let's look at it another way:

* renoise.song().selected_instrument_index_observable
* renoise.song().selected_sample_index_observable
* renoise.song().instruments[].samples[].transpose_observable

You can combine the first two functions in a way that, if something changes, update the rotary. The third is a bit more complicated since you have to add an observable for every possible combination of instrument and sample, which is the same problem faced with using Document variables. Also, after looking at the code I feel you are kind of shooting yourself in the foot. You do alot of :add_notifier, but never remove them. I'm not sure Renoise even cleans these...

If you are feeling brave, I would rewrite a lot of your code using `app_idle_observable` .

Example:


function run()
  if not (renoise.tool().app_idle_observable:has_notifier(update_gui)) then
    renoise.tool().app_idle_observable:add_notifier(update_gui)
  end
end


function stop()
  if (renoise.tool().app_idle_observable:has_notifier(update_gui)) then
    renoise.tool().app_idle_observable:remove_notifier(update_gui)
  end
end


function update_gui()
  -- Dialogue is gone?
  if (not my_dialog or not my_dialog.visible) then
    stop()
    return
  end
  -- Update the Rotary
  -- Update the BPM
  -- Update the Track
  -- Etc. Every single thing that needs to be updated goes in this function
end

-- Add run() to main(), after if (my_dialog and my_dialog.visible) [...] end

With this idea, you get rid of all your other notifiers all over the place and, instead, update the GUI when the app has a few cycles to spare. This also destroys the notifier when the MPE goes away; making it cleaner and safer.

That said, there's a lot of stuff that will need to be moved around for this to work. Right now main() encapsulates everything as a local, so some stuff you will need can't be accessed globally, doing some preliminary testing and optiomizing with os.clock() to make sure this works, yada yada yada. Look at Cie's Step Sequence and Nibbles for inspiration.

Hope this helps.

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