Mod Archive Forums

Music Production => MilkyTracker => Tracking => MilkyTracker Feature Requests => Topic started by: carloratm on May 18, 2010, 19:11:51

Title: A new feature idea
Post by: carloratm on May 18, 2010, 19:11:51
Hi,
i'm carloratm, the author of a very little patch to autoconnect Milky
to Jack Audio Server forst outputs.

I'd like to try develop a minor feature, but i need some help.

Feature is, in 2 words: multichannel output for Jack Audio Server in
Linux (and Mac)
It's a minor feature, affecting a few people, and could looks
scandalous for someone,
but i really think that would be useful!

So, every MilkyTracker channel will have a separate stereo output in Jack.

Could you please tell me where to start, in the code, to discover the
audio channels system?

Thank you
Cheers
Title: Re: A new feature idea
Post by: Deltafire on May 18, 2010, 20:09:03
I could be wrong, but I think the actual mixing takes place inside the Resampler* files located in the Milkyplay directory.

Warning: do not look inside ResamplerMacros.h, you won't like what you see!
Title: Re: A new feature idea
Post by: joule on May 19, 2010, 14:32:04
Feature is, in 2 words: multichannel output for Jack Audio Server in
Linux (and Mac)

 I'm not a coder but I fully endorse this :) This would make it possible to route the audio to any DAW for mixing (not to mention the use of delays, which i would find valuable). As far as I know rewire is only being licenced to commercial products.

 I use virtual audio cable under windows at the moment, routing only the master audio to renoise for some extra mastering and visualization.

 Some would probably think that it's better to change software alltogether, but except for being used to its tracking interface, Milkytrackers vibsweep and sample drawing is invaluable to me and I can't find these features anywhere else.
Title: Re: A new feature idea
Post by: carloratm on May 19, 2010, 17:54:52
And where is the part of adding/removing Tracks ?  ;)
Title: Re: A new feature idea
Post by: pailes on May 19, 2010, 19:08:29
Mixing audio is just summing up the tracks in the same buffer. If you want to add this feature you will have to modify ChannelMixer.* and rework parts of the audio driver implementation because mixing always takes place in the same buffer and I assume for multichannel support you need to mix into seperate buffers for each channel you have.
Title: Re: A new feature idea
Post by: carloratm on May 19, 2010, 19:41:25
Mixing audio is just summing up the tracks in the same buffer. If you want to add this feature you will have to modify ChannelMixer.* and rework parts of the audio driver implementation because mixing always takes place in the same buffer and I assume for multichannel support you need to mix into seperate buffers for each channel you have.
Exactly. It's a bit harder than i thought.

Title: Re: A new feature idea
Post by: pailes on May 19, 2010, 19:50:44
I was expecting this ;)
Title: Re: A new feature idea
Post by: carloratm on May 19, 2010, 20:43:09
is there somewhere a scheme diagram on how work audio routing in milky?
Maybe it could help me a bit
Title: Re: A new feature idea
Post by: pailes on May 19, 2010, 22:13:29
Real programmers don't need diagrams ;)

Just kidding, but honestly, there is none... It's fairly easy to understand actually.
Title: Re: A new feature idea
Post by: carloratm on May 20, 2010, 00:23:25
Real programmers don't need diagrams ;)
I am NOT a real programmer, absolutely :)
Title: Re: A new feature idea
Post by: urban soul on May 27, 2010, 20:51:30
Hi,
i'm carloratm, the author of a very little patch to autoconnect Milky
to Jack Audio Server forst outputs.

... where to find your patch?1
Title: Re: A new feature idea
Post by: Deltafire on May 30, 2010, 12:04:37
http://milkytracker.org/?download (http://milkytracker.org/?download)

The complete source code and patches are available here.
Title: Re: A new feature idea
Post by: urban soul on May 31, 2010, 08:26:22
   
ChannalMixer.cpp, line 126 says:

for (mp_uint32 c=0;c<numChannels;c++)
   {   
[...]
   }

in this loop the signals are summed up one channal after the other. Would it be possible to init a buffer for each channel and write the channal's signal into it?


I can't help with C++ programming, but I can answer most questions about audio signal processing. Looking at the jack_autoconnect patch it seems knowledge of jack functions is also there...
Title: Re: A new feature idea
Post by: 8ch on April 21, 2011, 22:51:07
It's a minor feature, affecting a few people, and could looks scandalous for someone, but i really think that would be useful!

So, every MilkyTracker channel will have a separate stereo output in Jack.

still a killerfeature.