XOR Userforum

Full Version: Assign Sample Channels (7,8) as MIDI Out
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
(05-17-2019, 06:42 AM)XORadmin Wrote: [ -> ]Discussed before and i am not planning to do this at the moment. Most probably because the sample tracks differ quite a lot to the other tracks as they are 2 tracks in one. It would need much work and compared to many other features/requests it has a low priority.

(07-05-2019, 08:42 PM)XORadmin Wrote: [ -> ]
(07-05-2019, 07:48 PM)MikkoM Wrote: [ -> ]As a professional SW Architect (22 years of experience in embedded systems and cloud computing) I really wonder what kind os mess the codebase is if this kind of basic feature is hard to implement. Hardcoded track types based on what number the channel is.... nope.. you absolutely do not do it that way.

Hey Mikko,

what can i say. Tell me more, what can i do to make it better? How should i do it then?
I'm always open for constructive critic and good ideas.

Cheers! T Smile


Quite impossible to say what the problem is without seeing code.
I assume it is pure C (?) however it is still possible to use object oriented programming paradigms to make code modular, reusable and extensible.
It is also quite important to remember that refactoring code IS "business as usual" and should not be feared.

Anyway, Nerdseq is really impressive accomplishment by one guy, so sorry if my first message sounded little bit harsh Smile
(07-06-2019, 11:28 AM)MikkoM Wrote: [ -> ]
(05-17-2019, 06:42 AM)XORadmin Wrote: [ -> ]Discussed before and i am not planning to do this at the moment. Most probably because the sample tracks differ quite a lot to the other tracks as they are 2 tracks in one. It would need much work and compared to many other features/requests it has a low priority.

(07-05-2019, 08:42 PM)XORadmin Wrote: [ -> ]
(07-05-2019, 07:48 PM)MikkoM Wrote: [ -> ]As a professional SW Architect (22 years of experience in embedded systems and cloud computing) I really wonder what kind os mess the codebase is if this kind of basic feature is hard to implement. Hardcoded track types based on what number the channel is.... nope.. you absolutely do not do it that way.

Hey Mikko,

what can i say. Tell me more, what can i do to make it better? How should i do it then?
I'm always open for constructive critic and good ideas.

Cheers! T Smile


Quite impossible to say what the problem is without seeing code.
I assume it is pure C (?) however it is still possible to use object oriented programming paradigms to make code modular, reusable and extensible.
It is also quite important to remember that refactoring code IS "business as usual" and should not be feared.

Anyway, Nerdseq is really impressive accomplishment by one guy, so sorry if my first message sounded little bit harsh Smile

Well, there is no problem. It is just not a priority thing aswell as still as mentioned before, the sample channels work in a different way.
While all other channels use 1 track / pattern, the sample channels use 2 tracks/pattern internally to allow different timings for the 2 samples within one pattern. So in reality you got 10 tracks instead of 8 and it would be easy to extract these to 10 tracks if it would fit easily on the screen. (and allow them to be any different kind of track).
If you saw earlier iterations of the NerdSynth (which shares the same source) then you will find out that these even got only 1 sample track but 2 extra visual tracks. And even earlier a complete different track assignment. So they are in fact flexible!
All tracks are set up to be also anything different. Thats not hardcoded! You might know if you used the expanders already.
But here is some information why i limit to 6 tracks: It is not a Midi sequencer. It also can sequence Midi op to 6 channels (and even more CC channels if needed) in a cool way, but the local cv/gate functions will always have highest priority as well as the expanders and main sequencer functions. Putting too much Midi data through one cable on different channels is not a good idea either and will cause latencies for the sequencing. (Which will be handled as a problem of the NerdSEQ then of course instead of the low data rate of midi in general)
I think 6 Midi tracks are more than enough to mess around with for a eurorack sequencer.
Also not every user has the Midi expander and/or 6+ external gear synthesizers to be controlled by midi. I think even only very few people have a setup like this. So the demand would be rather small compared to other killer functions which everone can use. (that doesn't mean that i won't add more midi features...but thats lower priority).

My 2do list (and the feature request list) is still long enough to add some cool stuff. And as you know i provide free firmware updates since the begin where each one adds more value to the sequencer and i will keep on doing this. But the pace is on me and the decisions are on me what i will and will not add with always an open ear for good ideas.

It is indeed pure c with critical parts in assembly while i wrote all libraries (except for FAT) myself. It is on many parts high optimized and reusable on many parts where it would make sense and wouldn't create overhead. Don't forget we are talking about a microcontroller, not an embedded linux system or whatsoever. 

With aswell 20+ years of experience in all languages and professional jobs, from the smallest micros to high level desktop and server software i know what you talking about. And refactoring is not unknown to me. But also priorization and keeping the project clean is not unknown to me and thats why i decide for several things including to keep the (holy) sample tracks in all cases. 
And don't forget that development on the firmware is just one part of all the work i have to do. 


So, all relaxed and cool. This is an open platform (as in the forum) and every opinion helps (if it's not trolling, but thats not the case). And not the first time discussions helped me to think further...not in this case though. But still, all cool!!

...getting back to my weekend now and hoping to get the new firmware ready soonish... Wink
+1 on this... if it hasn't already been done yet. I don't use the sample tracks much so I would be awesome if we could assign them to midi.
(03-13-2021, 05:14 PM)Karlo Wrote: [ -> ]+1 on this... if it hasn't already been done yet. I don't use the sample tracks much so I would be awesome if we could assign them to midi.

Still low on the 2do list.
(03-13-2021, 05:57 PM)XORadmin Wrote: [ -> ]
(03-13-2021, 05:14 PM)Karlo Wrote: [ -> ]+1 on this... if it hasn't already been done yet. I don't use the sample tracks much so I would be awesome if we could assign them to midi.

Still low on the 2do list.

I'd like to add my vote for this. It's not that I have any interest/need in running a lot of midi channels from NerdSeq, it's that tracks 1-6 are such a precious resource it would be wonderful if I could use 7 & 8 for midi and leave 1-6 available for other stuff.
Same here. Unless I will find a use for them by means of FM (which I still have to investigate), these tracks are essentially not used by me. Using them as additional triggers seems of limited usefulness given that I also have the 16 Triggers NSA. Being able to use them exactly like the other 6 tracks (possibly as an optional setting or maybe as an alternate firmware) would clearly be nice Smile

Thinking about that it probably would free up a lot of memory dedicated to samples etc...
I doubt that's possible technically (Aren't the sample outputs AC-coupled?)
Just try using it, esp. if you haven't tried the FM synth. Smile
I'm not talking about the sample outputs, I'm talking about the sample tracks.
Oscillators, Noise Generator, FM synth, sample player, effect generator...many uses though.
Well, others may have different opinions, but for me the trade of to sacrifice 2 of 8 tracks (25% of all available) to have noise generators or oscillators does not seem a good use of the tracks real estate.

W/r to the effects:
I find them ok, when I have nothing else at my disposal. I never use them though.

FM synth:
Maybe. As I already wrote, I'll have to investigate that.

Sample player:
The rather limited amount of sample memory moves this more in the proof-of-concept region. When I wanted to do sampling I'd get a real sample player.

Now let's see what we could get in return if those 2 tracks were normal tracks:
- I could have up to 12 voices with a CV16 NSA (6 when I use every other track for gate etc.)
- I could make them MIDI tracks and control my external sampler and my external FM synth (or whatever else)
- ...there are other similar scenarios - you get the idea

When I compare this with the existing features of the sample tracks, it seems like a lot of track real estate for comparatively little gain. Others mileage may vary.

It is due to the enormous power of the NerdSEQ that even with "only" 6 tracks it seems to be the currently most versatile sequencer in Eurorack, mostly because of the Trig16 and CV16 NSA (which is why I have it).

I can see a use case for all those things the sample tracks offer, when you don't add CV16 and Trig16 NSA and wish to live in very restricted rack space. Fine. I don't want to take away anything from you.

What I would like is an option for a different use case. Be it via a switch in the settings or through an alternate firmware if such a switch is not possible due to memory constraints.

And yes, I'm aware that this is probably not trivial and time constraints and lots of other stuff being more important or urgent (e.g. I'd rather wish to see tables in CV16). But if this shall come to pass sometime in the future, it's probably a good idea to start talking and thinking now Smile

Anyway, my current CV16 and Trig16 together with the planned purchase of a MIDI Adapter (whichever it eventually will be) all fit within the 6 tracks and that is impressive. 2 more tracks would allow me to add another CV16 and actually make use of it.

Kind regards,
Michael
Pages: 1 2 3