Jump to content


Photo

Noodletrap - Is this a Piano Roll Substitute?


  • Please log in to reply
20 replies to this topic

#1 soundwave2201

soundwave2201

    Advanced Member

  • Normal Members
  • PipPipPip
  • 97 posts

Posted 23 August 2015 - 21:04

I miss my FL Studio piano roll. It's just harder to imagine notes in my head, figure out which keys they are on my qwerty keyboard then lay them down in Renoise. It's much easier to put a rough idea down on a piano roll them move the notes around and lengthen/shorten them until I get what I want. I digress...

 

I looked at Noodletrap and installed it but don't have the slighest idea what it's doing or wants to do. I read the thread on it but that didn't help much either. I guess the assumption is you already know what you're doing. I'm a Renoise noob and I don't know what I'm doing.

 

In Laymen's terms what does Noodletrap do and how do I use it? Youtube tutorial anywhere?

 

PS - I did rewire FL Studio into Renoise but the solution is not that elegant.



#2 dblue

dblue

    Dodgy Geezer

  • Admins
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 5586 posts
  • Gender:Male
  • Location:Berlin
  • Interests:Code. Music. Graphics.

Posted 23 August 2015 - 21:40

Noodletrap is definitely not intended to be a piano roll replacement. It's more like a sketch pad for your musical ideas. You fire it up, start recording, jam out a melody on your keyboard, and then your performance gets captured to a new phrase within the instrument. You can quickly make several different takes to experiment with different ideas. Once you're done, then you can decide which phrase(s) to keep for your song, edit and tweak them a bit more, and so on.

PS. Since Noodletrap is a 3rd party tool, not a native feature of Renoise, it's probably better to ask further questions in the tool's own dedicated discussion thread. I'm sure that danoise, the tool creator, will be happy to assist you.

#3 toblerpone

toblerpone

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 902 posts
  • Gender:Not Telling
  • Location::c

Posted 24 August 2015 - 00:26

This may or may not be of help: http://forum.renoise...d-editing-tool/



#4 soundwave2201

soundwave2201

    Advanced Member

  • Normal Members
  • PipPipPip
  • 97 posts

Posted 24 August 2015 - 05:12

That's just what I needed. Reaper is a lot more lightweight and rewires better into Renoise. I never even heard of it before you mentioned it. Is there any way to sync the actual piano roll so it comes up in renoise as notes with note-offs?



#5 Akiz

Akiz

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 967 posts
  • Gender:Male

Posted 24 August 2015 - 07:29

Maybe you can use Image Line minihost vst, you will get pianoroll and modular possibilities.


Edited by Akiz, 24 August 2015 - 07:29.


#6 toblerpone

toblerpone

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 902 posts
  • Gender:Not Telling
  • Location::c

Posted 24 August 2015 - 09:09

Soundwave you can only make a midi out from reaper>midi in to renoise kind of set up. I'm currently rewiring Cubase instead. When reaper improves it's midi maybe I'll write a reaper renoise 'bridge', in which reaper acts as the midi editor and renoise as the 'instrument' directly, without midi and rewire.

 

A very simple and genuinely free daw to rewire is traktion 4


Edited by toblerpone, 02 April 2016 - 14:40.


#7 soundwave2201

soundwave2201

    Advanced Member

  • Normal Members
  • PipPipPip
  • 97 posts

Posted 25 August 2015 - 02:58

Wow, this is pretty cool. Check the image, I've got FL Studio piano roll working in Renoise as a VST plugin. I did it with the Image Line Minihost Modular. I'm currently playing the notes for my leads in the FL piano roll, then transposing them into a Renoise track but this is inefficient (still better than what I was doing).

 

I'm messing around with the settings and how can I get the midi out from this piano roll to record directly into my track 1. I want it to show the notes, the note offs, etc. I've got the piano roll outputting to midi (green line/out), I've got all the midi output dropdowns selected, and I went into Renoise's midi tab and picked the Minitab modular VST. When I hit Renoise Play & Record I can start my piano roll, I can hear it, but nothing records, no midi, no wav, nothing. Hmmmmm???

Attached Images

  • Capture.PNG


#8 frenetic_friend

frenetic_friend

    Member

  • Normal Members
  • PipPip
  • 49 posts
  • Gender:Male
  • Location:Moscow

Posted 07 August 2017 - 11:29

I've seen piano roll in Radium music tracker. The coolest feature of it is that lines can be diagonal, representing glide. Unfortunately Radium doesn't have many features that Renoise has and more restrictions in free version. To combine best features of these 2 trackers would be fantastic.

 

If only lua could support detection of mouse movement (not just pressing of button) I could try to code such tool. Drawing rectangles and lines would be helphul too but I think it could be done without it. But anyway I had to spend much time on it. Maybe I better just try some other soft? What could you recomend? I'd try this Image Line Minihost but I don't see where it can be downloaded.



#9 joule

joule

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1445 posts
  • Gender:Not Telling
  • Location:Sweden
  • Interests:music, philosophy, engineering

Posted 07 August 2017 - 12:11

If only lua could support detection of mouse movement (not just pressing of button) I could try to code such tool. Drawing rectangles and lines would be helphul too but I think it could be done without it. But anyway I had to spend much time on it.


You can track the mouse with an xypad hidden under all other elements. The trick is to use negative margin values to overlay racks.

It's absolutely doable. Looking forward to your piano roll! :)
  • frenetic_friend likes this

#10 frenetic_friend

frenetic_friend

    Member

  • Normal Members
  • PipPip
  • 49 posts
  • Gender:Male
  • Location:Moscow

Posted 07 August 2017 - 13:33

Thanks for the idea. Could you remind me one vital thing - how to update UI? For example I have value field and "for" loop in which I want to draw lines with text. Lines count is defined in value field. When I change it, nothing happens.



#11 frenetic_friend

frenetic_friend

    Member

  • Normal Members
  • PipPip
  • 49 posts
  • Gender:Male
  • Location:Moscow

Posted 07 August 2017 - 14:49

I just had a thought. I hope it won't be impudent if I share it. What if devs be so generous and reward users that contribute useful tools with unlimited version of Renoise for free. It would be so motivating and nice. I mean if those tools aren't too simple.


  • fladd likes this

#12 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 08 August 2017 - 12:05

It's absolutely doable. Looking forward to your piano roll! :)

 

Realistically, you can only get *that* far with the "hidden xypad" approach. It's a cool trick which works well for a few things. But I'd expect a piano-roll to be more than a proof of concept - it should be actually mouse friendly and ergonomic... this will be very hard to achieve in the current API state, as you can't track those events on buttons etc., only on the background...

But of course, if we forget the mouse and instead, program the worlds first 100% keyboard driven pianoroll, that would be a thing too  ^_^


  • fladd likes this

Tracking with Stuff. API wishlist | Soundcloud


#13 joule

joule

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1445 posts
  • Gender:Not Telling
  • Location:Sweden
  • Interests:music, philosophy, engineering

Posted 08 August 2017 - 15:53

...this will be very hard to achieve in the current API state, as you can't track those events on buttons etc., only on the background...

 

I think you need to update your assumptions. All objects that you need (e g buttons for note events) are possible to drag'n'drop (click detect) with xypad tracking. There's a trick even for button drag'n'drop (which hasn't been exploited in practice yet, I think).

 

However, there are some things absolutely missing that would be nice for a piano roll:

 

1) Mouse cursor modifiers (scissor et c)

2) Resizable windows

3) Scrollwheel support on canvas

 

Nevertheless, it's still possible to make a usable one.


Edited by joule, 08 August 2017 - 15:53.


#14 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 08 August 2017 - 20:15

I think you need to update your assumptions.

 

I stand corrected  :)

I absolutely assumed that the mouse movement for the xypad would not be picked up when manipulating objects situated on top of it. 

If that is true, then yes, somehow pretty usable would be possible. That's pretty damn interesting, actually. 

 

The other things you point out are valid suggestions too. 


Tracking with Stuff. API wishlist | Soundcloud


#15 joule

joule

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1445 posts
  • Gender:Not Telling
  • Location:Sweden
  • Interests:music, philosophy, engineering

Posted 09 August 2017 - 10:57

I absolutely assumed that the mouse movement for the xypad would not be picked up when manipulating objects situated on top of it. 

If that is true, then yes, somehow pretty usable would be possible. That's pretty damn interesting, actually.

 

I found an old gifanim. Just as proof/inspiration :)

 

PS. It's a bit difficult for a no0b to design a full canvas/object system. Especially how to think about click events (support for various behaviors depending on if a registered sub-area of an object is clicked). Not sure how many "layers" (classes) that are sensible to get all these operations and flexibility working.. Of course it should all harmonize with the general API syntax itself (event callbacks..observables..)

 

absolutely.gif


Edited by joule, 09 August 2017 - 11:04.


#16 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 09 August 2017 - 12:07

Ow, never saw that one! I like that it's called "absolutely.gif"  :lol:

 

But yeah, a proper piano-roll implementation is much more than just a visual interface. You'd need a backend, something that decides e.g. if a given note can be placed at a given position etc. 

The UI is also a lot of work. But I believe the part you don't actually see would be the most challenging to make (require a very good understanding of Renoise+API). Which is also why I suggested that a person who took up the challenge of writing such a thing would completely separate the GUI and the logic. Then you could create the UI in whichever language you wished to - which apparently (and to my surprise) could include the Renoise viewbuilder API  :)


Tracking with Stuff. API wishlist | Soundcloud


#17 frenetic_friend

frenetic_friend

    Member

  • Normal Members
  • PipPip
  • 49 posts
  • Gender:Male
  • Location:Moscow

Posted 09 August 2017 - 15:37

I'd appreciate if you show me how to detect mouse release. Also, how to tell left click from right click?



#18 joule

joule

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1445 posts
  • Gender:Not Telling
  • Location:Sweden
  • Interests:music, philosophy, engineering

Posted 09 August 2017 - 16:14

I'd appreciate if you show me how to detect mouse release.


Let's see if I remember..

1) You can use the snapback property of xypad to make the tool understand when the mouse button was released.
2) Maybe it's even sufficient to use the usual button release notifier? If not, I was using the technique above.


Also, how to tell left click from right click?


That's not possible.

#19 frenetic_friend

frenetic_friend

    Member

  • Normal Members
  • PipPip
  • 49 posts
  • Gender:Male
  • Location:Moscow

Posted 09 August 2017 - 16:49

Let's see if I remember..

1) You can use the snapback property of xypad to make the tool understand when the mouse button was released.
2) Maybe it's even sufficient to use the usual button release notifier? If not, I was using the technique above.

1. So, mouse will always jump somewhere on release? It's not welcome.

2. But if I place button over or under XYpad, only one of them will get mouse

 

 

That's not possible.

Is it possible to use some other frameworks for that?



#20 joule

joule

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1445 posts
  • Gender:Not Telling
  • Location:Sweden
  • Interests:music, philosophy, engineering

Posted 09 August 2017 - 18:27

1. So, mouse will always jump somewhere on release? It's not welcome.


Never seen that happen.
 

2. But if I place button over or under XYpad, only one of them will get mouse

 
Yes. I might show some example in the scripting forum eventually.
 

Is it possible to use some other frameworks for that?


If you want to force matters (on Windows only), you could probably use something like AutoHotkeys to trigger a shortcut in your tool on right mouse click. That's the only thing I can come up with..

Edited by joule, 09 August 2017 - 18:29.


#21 frenetic_friend

frenetic_friend

    Member

  • Normal Members
  • PipPip
  • 49 posts
  • Gender:Male
  • Location:Moscow

Posted 09 August 2017 - 19:21

Never seen that happen.

 

So, you are saying that snapback doesn't place your cursor to it's position? Mine does. How so?

 

EDIT: I found that it was because snapback value was set by variable. Still not sure why it behaved like this.

 

EDIT: No, it wasn't the case. Seems that it was because "mouse warping" turned on


Edited by frenetic_friend, 10 August 2017 - 04:15.

  • joule likes this