Specifically, from a conceptual point of view - I would like to see a
TransitionManager class, with a addTransition method, which implements a
Transition Interface, so  I can do something like this (in sudo code):

include "transitions.h"

TransitionManager xfaderMgr = new TransitionManager ( xfaderControl )
TransitionManager channel1Volume = new TransitionManager (
channel1VolumeControl )
TransitionManager channel2Volume = new TransitionManager (
channel2VolumeControl )
Transition 64beatfade = new FadeTransition( *64, BEAT *);
Transition 12barfade = new FadeTransition( *12, BAR *);
Transition 16secondfade = new FadeTransition( 16, SECONDS* *);

...

So I can do stuff like this:

crossfaderMgr.startTransition( 64beatfade );
channel2Volume.startTransition( 12barfade );
channel1Volume.startTransition( 16secondfade, FadeDirection.REVERSE );



In words, I'm transitioning the xfader over 64 beats, bringing channel 1
volume in over 12 bars (bars is just a short cut for beats/4) and over 16
seconds fading out the volume of channel 1.
...

Every transition manager is listening to an onBeat event, so if BEAT or BAR
transition type is set, it will call Transition.nextFrame or
Transition.prevFrame on the beat.


As you can hopefully see, something like this would provide an incredibly
flexible framework for creating complex transitions, which can then be
implemented as a clever autodj class



just my 2cents...

cheers
Keith




The transitionManager will call a method each bar

On 22 June 2012 09:00, Scott Stewart <smstewar...@gmail.com> wrote:

> Hi all,
>
> I agree with both approaches. Daniel encouraged me to fully spec
> everything out, and it definitely gave me a view of the whole picture and
> what the end product will look like. Now that the specification is solid, I
> plan on using a more agile approach and reaching intermediate goals. For
> instance, my first goal is to move everything to the AutoDJ class without
> actually adding anything but just making sure that current functionality
> still works. And then I will add features to that in pieces.
>
> Thanks for the comments and suggestions, and I will keep everyone updated
> as I make progress to make sure that I am heading in the right direction
> and creating a good user experience.
>
> Thanks,
> Scott
> On Jun 22, 2012 4:28 AM, "keithsalisb...@gmail.com" <
> keithsalisb...@gmail.com> wrote:
>
>> Hey Dan,
>>
>> My comments were in no way meant to discourage Scott, I'm deeply sorry if
>> they came across that way - I spoke only from many years as a computer
>> programmer about what works in the real world. I completely understand you
>> have your process and I respect that, if I had time to be more involved in
>> the project I would - but unfortunately I have to earn a living. For the
>> record I'm not discrediting any of the planning he has done, its honestly
>> really well thought out, and sounds like if it can all be implemented as
>> planned, will be a great addition to the mixxx codebase.
>>
>> My suggestion was that he takes a step back, and actually code the bare
>> skeleton framework he envisions, with just the smallest piece of
>> functionality possible - as iteration 1, and publish this for others to
>> try, then add the next piece of functionality, and publish - this really
>> is, in my humble opinion a good way to develop a feature.
>>
>> Obviously I should eat my own dog food here with my Selector feature - I
>> have got it to a point people can try it, and I'm hoping people have, and
>> when I get feedback I can improve it, and hopefully in the long run end up
>> with something people really want to use, and get it merged into trunk.
>>
>> kind regards
>> Keith
>>
>>
>> On 21 June 2012 22:10, Daniel Schürmann <dasch...@mixxx.org> wrote:
>>
>>> Hi Keith,
>>>
>>> I have to take Scott to protection.
>>> I have pushed him to do this specification, because by doing that he was
>>> able to uncover design issues.
>>>
>>> For Auto DJ we have currently a quick hack solution and now its time to
>>> lift it to a good design that is maintainable and suitable for extensions.
>>> Even more if you still want to take part in this project, it is required
>>> to define the basic design before starting to write code.
>>>
>>> I think Scott is on the right way, maybe slower than you might expect
>>> from an external point of view.
>>>
>>> It would be nice, if you could check if your Ideas from Auto DJ fit to
>>> your own.
>>> The right point to bring them in is just now!
>>>
>>> Thank you very much!
>>>
>>> Daniel
>>>
>>>
>>>
>>>
>>> 2012/6/22 keithsalisb...@gmail.com <keithsalisb...@gmail.com>
>>>
>>> Hi Scott,
>>>>
>>>> Albert raises a great point, your planning is great, but nothing beats
>>>> writing to code to see what works. Personally i find adopting an agile
>>>> approach really helps achieve tangible results quickly and also helps you
>>>> to get a feel for the code your writing, from a users perspective <----
>>>> this is key.
>>>>
>>>> When you build a house, there's no point selecting your door knobs or
>>>> curtains until the foundations are laid and the walls are built.
>>>>
>>>> If its possible, and you want to get the most out of this GsoC
>>>> experience, I encourage you to break your project into small "releasable"
>>>> iterations, release early and release often is the mantra - this way we can
>>>> all play with the features you create and provide you valuable feedback
>>>> early in the project, to help guide the feature into a really great product
>>>> people enjoy using.
>>>>
>>>> all the best
>>>> Keith
>>>>
>>>>
>>>>
>>>>
>>>> On 21 June 2012 03:51, Albert Santoni <albe...@mixxx.org> wrote:
>>>>
>>>>> Hey Scott,
>>>>>
>>>>> It looks reasonable to me, having attempted to code something similar
>>>>> once myself. I like that you've abstracted track transitions into a
>>>>> separate class.
>>>>>
>>>>> I think the best way to evaluate your design now is to start coding
>>>>> it. By the midterm, you'll have a better idea how your design is
>>>>> working out and how things might need to be changed.
>>>>>
>>>>> Looking forward to playing with it too!
>>>>>
>>>>> Thanks,
>>>>> Albert
>>>>>
>>>>> On Thu, Jun 21, 2012 at 9:34 AM, Scott Stewart <smstewar...@gmail.com>
>>>>> wrote:
>>>>> > Hi mixxx-devel,
>>>>> >
>>>>> > I am redesigning the AutoDJ as my Google Summer of Code project.  I
>>>>> will be
>>>>> > creating an AutoDJ class that will move the AutoDJ logic out of
>>>>> DlgAutoDJ
>>>>> > and into its own class.  I will also expand the transition abilities
>>>>> of
>>>>> > AutoDJ to include cue points and have multiple types of transitions
>>>>> that are
>>>>> > available.  I have created a wiki page that contains a lot more
>>>>> details and
>>>>> > will be updated throughout the summer
>>>>> > at http://www.mixxx.org/wiki/doku.php/gsoc2012_autodj_features
>>>>> >
>>>>> > Any feedback on the specifications would be appreciated.
>>>>> >
>>>>> > Thanks!
>>>>> > Scott
>>>>> >
>>>>> >
>>>>> ------------------------------------------------------------------------------
>>>>> > Live Security Virtual Conference
>>>>> > Exclusive live event will cover all the ways today's security and
>>>>> > threat landscape has changed and how IT managers can respond.
>>>>> Discussions
>>>>> > will include endpoint security, mobile security and the latest in
>>>>> malware
>>>>> > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>>>> > _______________________________________________
>>>>> > Get Mixxx, the #1 Free MP3 DJ Mixing software Today
>>>>> > http://mixxx.org
>>>>> >
>>>>> >
>>>>> > Mixxx-devel mailing list
>>>>> > Mixxx-devel@lists.sourceforge.net
>>>>> > https://lists.sourceforge.net/lists/listinfo/mixxx-devel
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Albert Santoni
>>>>> Developer, Mixxx
>>>>> http://www.mixxx.org
>>>>> http://www.oscillicious.com
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> Live Security Virtual Conference
>>>>> Exclusive live event will cover all the ways today's security and
>>>>> threat landscape has changed and how IT managers can respond.
>>>>> Discussions
>>>>> will include endpoint security, mobile security and the latest in
>>>>> malware
>>>>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>>>> _______________________________________________
>>>>> Get Mixxx, the #1 Free MP3 DJ Mixing software Today
>>>>> http://mixxx.org
>>>>>
>>>>>
>>>>> Mixxx-devel mailing list
>>>>> Mixxx-devel@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/mixxx-devel
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> keithsalisb...@gmail.com
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Live Security Virtual Conference
>>>> Exclusive live event will cover all the ways today's security and
>>>> threat landscape has changed and how IT managers can respond.
>>>> Discussions
>>>> will include endpoint security, mobile security and the latest in
>>>> malware
>>>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>>> _______________________________________________
>>>> Get Mixxx, the #1 Free MP3 DJ Mixing software Today
>>>> http://mixxx.org
>>>>
>>>>
>>>> Mixxx-devel mailing list
>>>> Mixxx-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/mixxx-devel
>>>>
>>>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Live Security Virtual Conference
>>> Exclusive live event will cover all the ways today's security and
>>> threat landscape has changed and how IT managers can respond. Discussions
>>> will include endpoint security, mobile security and the latest in malware
>>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>> _______________________________________________
>>> Get Mixxx, the #1 Free MP3 DJ Mixing software Today
>>> http://mixxx.org
>>>
>>>
>>> Mixxx-devel mailing list
>>> Mixxx-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/mixxx-devel
>>>
>>
>>
>>
>> --
>> keithsalisb...@gmail.com
>>
>>
>> ------------------------------------------------------------------------------
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and
>> threat landscape has changed and how IT managers can respond. Discussions
>> will include endpoint security, mobile security and the latest in malware
>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>> _______________________________________________
>> Get Mixxx, the #1 Free MP3 DJ Mixing software Today
>> http://mixxx.org
>>
>>
>> Mixxx-devel mailing list
>> Mixxx-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/mixxx-devel
>>
>


-- 
keithsalisb...@gmail.com
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org


Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to