Jump to content


Photo

New Tool (2.8): Guru


  • Please log in to reply
344 replies to this topic

#26 Cornbeast

Cornbeast

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 179 posts

Posted 03 April 2012 - 15:28

Check this for reference:

http://code.google.c...lugin/Tetra.xml

sub_osc_1 should be 114 and osc_2_freq should be 5.

#27 dby

dby

    Big Super GrandMasta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 767 posts
  • Gender:Male

Posted 03 April 2012 - 15:45

Thanks! Yeah, I don't get it 100%, but seems to work better now. I'll have to do some experimenting.

Also, I was wondering... is there a way to set MIDI channel? In "multi mode" I can access four different voices through ch 1-4.

Edit: Cheers for the link. It's column A then :wacko:

Edited by dby, 03 April 2012 - 15:48.


#28 dby

dby

    Big Super GrandMasta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 767 posts
  • Gender:Male

Posted 03 April 2012 - 18:15

After doing a bit of reading I'm pretty sure A and B is for different layers. Sorry, it's still quite new to me.

As for Multi Mode, it would be useful to be able to make different modes/pages, any plans for that? Also there are some sequencers and LFO's in the Tetra, but to add all that to one page would make a huge clutter.

Edited by dby, 03 April 2012 - 18:16.


#29 dby

dby

    Big Super GrandMasta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 767 posts
  • Gender:Male

Posted 03 April 2012 - 19:16

After adding oscillator and filter parameters I notice they don't fit on the screen any more. A scroll bar is needed and/or columns.

Well, time to pack my stuff... moving to new apartment. Will finish my Tetra mapping after Easter with the family and settling in the new place.

#30 Cornbeast

Cornbeast

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 179 posts

Posted 03 April 2012 - 19:30

After adding oscillator and filter parameters I notice they don't fit on the screen any more. A scroll bar is needed and/or columns.

Well, time to pack my stuff... moving to new apartment. Will finish my Tetra mapping after Easter with the family and settling in the new place.


Yeah, forgot to mention: for a container you can specify layout="horizonal". So if you add normal (vertical) containers inside that container you will get columns!

If you dont add a name to a container is will have no visible borders etc.

Just got a new version cooking.

Happy moving and easter

Edited by Cornbeast, 03 April 2012 - 19:33.


#31 dby

dby

    Big Super GrandMasta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 767 posts
  • Gender:Male

Posted 03 April 2012 - 20:56

Great. Can't wait to get back at it and make some columns. But I wouldn't be surprised if it still won't fit on the screen, the Tetra has got a helluva lot of parameters.

Happy easter!

Edited by dby, 03 April 2012 - 21:01.


#32 Cornbeast

Cornbeast

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 179 posts

Posted 03 April 2012 - 21:37

New release 0.11:

http://code.google.c...Guru_V0.11.xrnx

* Corrected file path for loading synth definitions
* Removed hardcoded max_value for nrpn
* sysex_message_start no longer required
* Add possibility to launch more than one instance of a synth
* Added midi channel for each instance of a synth
* Midi in/out devices are created first when any synth is launched
* Finished JX8P definition

Posted Image
  • Djeroek, dby, hotelsinus and 1 other like this

#33 Cornbeast

Cornbeast

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 179 posts

Posted 04 April 2012 - 08:05

Great. Can't wait to get back at it and make some columns. But I wouldn't be surprised if it still won't fit on the screen, the Tetra has got a helluva lot of parameters.

Yeah, we have to invent tabs or something...

#34 Tom de Rooy

Tom de Rooy

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2429 posts
  • Gender:Male

Posted 04 April 2012 - 11:09

Looks wonderful! Will test the Guru asap.

#35 Tom de Rooy

Tom de Rooy

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2429 posts
  • Gender:Male

Posted 04 April 2012 - 14:26

'C:\Documents and Settings\tom\Application Data\Renoise\V2.8.0\Scripts\Tools\com.cornbeast.Guru.xrnx\' failed to execute in one of its menu entry functions.

Please contact the author (Cornbeast [cornbeast@cornbeast.com]) for assistance...

No matching overload found, candidates:
custom [class LuaMidiInputDeviceRef] create_input_device(custom [class String] const&,luabind::object const&,luabind::object const&,lua_State*)
custom [class LuaMidiInputDeviceRef] create_input_device(custom [class String] const&,luabind::object const&,lua_State*)
stack traceback:
[C]: in function 'create_input_device'
.\settings.lua:46: in function 'set_midi_in_device'
main.lua:103: in function 'launch_synth'
main.lua:91: in function <main.lua:90>

I don't have a midi in device selected (at work I have none) Is this the reason of the error?

#36 Cornbeast

Cornbeast

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 179 posts

Posted 04 April 2012 - 14:57

I don't have a midi in device selected (at work I have none) Is this the reason of the error?

Yo! Thanks, yes that's probably it. I never expected anyone to not have a midi device :-)

Thanks for testing. I will fix that :-)

#37 hotelsinus

hotelsinus

    Big Daddy Member

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

Posted 04 April 2012 - 18:41

hell yeah!! u are open another world in renoise!!!!!!!!!!!
i will create some devices i have.

#38 hotelsinus

hotelsinus

    Big Daddy Member

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

Posted 04 April 2012 - 19:32

how can i use rotary knobs? sliders are to big.

#39 hotelsinus

hotelsinus

    Big Daddy Member

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

Posted 04 April 2012 - 19:44

here is a working alpha version, for the Novation Drum Station.
808 BD SD and 909 BD SD

Attached File  novation_drumstation.lua   4.79KB   219 downloads

i want to use knobs coz not enough room for the 16 voice / kit.!

Edited by hotelsinus, 04 April 2012 - 19:45.


#40 Cornbeast

Cornbeast

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 179 posts

Posted 04 April 2012 - 20:52

here is a working alpha version, for the Novation Drum Station.
808 BD SD and 909 BD SD

Attached File  novation_drumstation.lua   4.79KB   219 downloads

i want to use knobs coz not enough room for the 16 voice / kit.!

Yo!

Thanks, glad you like it.

I made the UI very very generic to make it simple. One idea when I started out was to use Renoises own viewbuilder in a simplified way to build whatever UI and then let Guru use those definitions, but I figured it would make it a bit too hard to get started with definitions. So, maybe this was a naive. The dsi tetra also has gazillions of parameters.

So, help me out here, either we come up with some solution to keep going in the same manner, like to make it possible to to add knobs, but then, how would you layout the knobs. Now the sliders and switches are the same size. Another idea I have is to make some kind of tabs. Like, a switch button with different tabs that are shown and hidden (if that is even possible, not sure...)

Or, we go for the other path, to just use renoise viewbuilder, and let Guru work with that UI.

Oh well, let the thoughts flow, I will go pretty much offline over easter.

Later
CB
..

#41 hotelsinus

hotelsinus

    Big Daddy Member

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

Posted 04 April 2012 - 21:28

i use the way you like it.
this is much more that i except..
really cool indeed!!!! Thank you!!!!!!!!!!!

#42 dby

dby

    Big Super GrandMasta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 767 posts
  • Gender:Male

Posted 05 April 2012 - 05:21

Tabs would be very useful. Mainly for layer A and B on the Tetra, also the built in LFO's and sequencers. I'd like to make the mappings as complete as I can and share.

I like the standard Renoise sliders, but whatever is fine by me. I'm thinking scroll bars for big layouts on small screens.

#43 Cornbeast

Cornbeast

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 179 posts

Posted 05 April 2012 - 08:40

Allright, I'll give this some thought.

Here's one idea to think about; to split it in two; one file for the definitions, one for the gui, which uses viewbuilder.

By convention the file named XXX_gui.lua is considered gui for the tool with filename XXX.

By convention all viewbuilder id:s are connected to the parameters with the same id.

Guru adds min, max values etc, and maybe text fields to the viewbuilder gui.

This way, you create tabs etc any way you want.

synthdefinitions/roland_jx8p.lua
synthdefinitions/roland_jx8p_gui.lua

roland_jx8p_gui.lua
---------------------------------------------
local vb = renoise.ViewBuilder()
return vb:column {
	vb:slider {
		id = "vcf_cutoff"
	}
	vb:row {
		vb:rotary {
			id = "vcf_resonance"
		}
	}
}

roland_jx8p.lua
---------------------------------------------
return SynthDefinition {
	Parameters {
		Parameter {
			id = "vcf_cutoff",
			name = "",
			number = 55,
			max_value = 255
		},
		Parameter {
			id = "vcf_resonance",
			name = "",
			number = 55,
			max_value = 255
		}
	}
}

Or, I continue to build on to what I started, by incorporating scroll, tabs, and knobs that are easy to use but hard to do special stuff with.

#44 dby

dby

    Big Super GrandMasta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 767 posts
  • Gender:Male

Posted 05 April 2012 - 11:38

As a programming noob I'd go for the easy to use method. But I guess I could figure out how to use the viewbuilder, with a little help. Stuff like sequencers and LFO's could be done in a fancy way. But looks isn't important for me personally, I'm all about functionallity.

Any difference to the methods when it comes to performance? I guess neither is that CPU heavy?

#45 Cornbeast

Cornbeast

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 179 posts

Posted 09 April 2012 - 21:46

New version of Guru 0.12 with breaking changes.

Posted Image

So, you need to make some changes to you definitions, but it's only for the better.

I have added structure to the synth definitions, so that the UI will look better, you will be able to fit more parameters (with tabs) and you won't have to think too much when creating a definition.

So, no more "Container" that can contain "Container" recursively mess. Now a synth definition has to look like this:

return SynthDefinition {
  Section {
    Group {
      Parameter {
      },
      Parameter {
      }
    },
    Group {
      Parameter {
      }
    }    
  },
  Section {
    Group {
      Parameter {
      }
    }    
  }
}

Each Section will be rendered as a tab, each tab contains three columns. The columns will be filled with the Groups. Like this:

Posted Image

So, all you have to do to make your old definitions work is to replace the Containers with Groups and fit them in to Sections.

Another notable difference: There's a new menu option in the guru tools menu called "Scan synth definitions". You need to click it to make any definition appear in the menu. Once you add a new definition to the folder you need to do this again.

I also create some instructions on how to create a definition:

http://code.google.c...SynthDefinition

Some more stuff:

* Made it possible to launch guru without any midi device on the computer
* Made it possible to load patches that are saved for another synth definition (experimental)
* Added JX-10 / MKS-70 definition

Grab it here:

http://code.google.c...Guru_V0.12.xrnx

Ok, hope you like it, hope it's not too buggy. And don't forget to backup your stuff.

Later
CB
  • hotelsinus likes this

#46 Cie

Cie

    Big Super GrandMasta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 791 posts
  • Gender:Male

Posted 09 April 2012 - 22:09

Great progress :)

* Made it possible to load patches that are saved for another synth definition (experimental)

Hehe very nice idea! :)

#47 Cornbeast

Cornbeast

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 179 posts

Posted 10 April 2012 - 09:05

Yo

Just saw this post in the old JX Programmer thread:

I would like to be pointed in the right direction. I've got the script, and I am looking at the Juno and PG300 manual, but I can not find the correct parameter number for the changes.

Should I replace the sysex_dco1_range = 11 to the one mentioned in the manual?

See attachment...

Posted Image

Thanks.


So, here's what you do with guru:

Check this excellent page: http://www.vintagesy...oland/sysex.php

According to the page, the synths Roland Alpha Juno 1, Alpha Juno 2 and MKS-50 uses the same, so, here's an untested start for this:

return SynthDefinition {
  name = "Roland Alpha Juno 1, Alpha Juno 2 and MKS-50",
  author = "You [you@yourdomain.com]",
  Section {
    sysex_message_start = {0x41, 0x36, 0x00, 0x23, 0x20, 0x01},
    Group {
      name = "DCO",
      Parameter {
        id = "dco_waveform_pulse",
        name = "Pulse waveform",
        number = 3,
        default_value = 1,
        items = {"OFF","1","2","3"}
      }
    },
    Group {
      name = "VCF",
        Parameter {
        id = "vcf_cutoff",
        name = "Cutoff",
        number = 10,
        default_value = 100
      }
    }
  }
}

I might dig in to this soon if noone else does...

CB

#48 hotelsinus

hotelsinus

    Big Daddy Member

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

Posted 10 April 2012 - 10:12

change the midi in the settings tab.

Attached Images

  • Scripting Tool Error.jpg


#49 Cornbeast

Cornbeast

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 179 posts

Posted 10 April 2012 - 11:45

change the midi in the settings tab.

Ah, my bad, will fix tonite.
  • hotelsinus likes this

#50 Cornbeast

Cornbeast

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 179 posts

Posted 10 April 2012 - 20:34

New version, fixed the midi device settings bug:

com.cornbeast.Guru_V0.13.xrnx
  • hotelsinus likes this