Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-16 Thread Ferran Pujol Camins
Now I have Mixxx showing hotcue names in main waveform. I think this modification alone is not ready to trunk. There's some usability inconsistencies and things to improve to deliver a better cue point experience. I keep a list of all of them here: Cuepoins-2.0 Blueprint

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-16 Thread RJ Ryan
On Fri, Jan 16, 2015 at 6:56 AM, Ferran Pujol Camins < ferranpujolcam...@gmail.com> wrote: > Thank you RJ, I have a first working version, however, WaveformRenderMark > now inherits from QObject. Who should its parent be? It can have a NULL parent since renderers are created in the main thread (

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-16 Thread Ferran Pujol Camins
That's cool. Could you please have a look at my previous mail regarding WaveformRenderMark's parent? 2015-01-16 18:41 GMT+01:00 RJ Ryan : > Nope, any number. And we support 37 hotcues in the engine (which is > totally arbitrary but we have to pre-instantiate the COs for now so we have > to have s

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-16 Thread RJ Ryan
Nope, any number. And we support 37 hotcues in the engine (which is totally arbitrary but we have to pre-instantiate the COs for now so we have to have some limit). On Fri, Jan 16, 2015 at 9:35 AM, Ferran Pujol Camins < ferranpujolcam...@gmail.com> wrote: > Also, is there a limit on how many save

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-16 Thread Ferran Pujol Camins
Also, is there a limit on how many saved cues (not hotcues but cues) a track can have? 2015-01-16 15:56 GMT+01:00 Ferran Pujol Camins : > Thank you RJ, I have a first working version, however, WaveformRenderMark > now inherits from QObject. Who should its parent be? > > 2015-01-13 16:59 GMT+01:0

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-16 Thread Ferran Pujol Camins
Thank you RJ, I have a first working version, however, WaveformRenderMark now inherits from QObject. Who should its parent be? 2015-01-13 16:59 GMT+01:00 RJ Ryan : > Hi Ferran, > > You should follow the waveform renderers and overload > WaveformWidgetRendererAbstract::onSetTrack(): > > https://gi

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-13 Thread RJ Ryan
Hi Ferran, You should follow the waveform renderers and overload WaveformWidgetRendererAbstract::onSetTrack(): https://github.com/mixxxdj/mixxx/blob/master/src/waveform/renderers/glslwaveformrenderersignal.cpp#L218 This is called every time a track is loaded. BaseTrackPlayer signals are hooked to

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-12 Thread RJ Ryan
On mobile, sorry for brevity. Setup is only done once at skin creation time. The cue text can change at track load time or when user edits the text e.g. via the track properties dialog. So you need to check if the text has changed on every draw. (Or listen to track signals for cue updates) On Mon,

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-12 Thread Ferran Pujol Camins
Also, I've further understood this code (thanks for your hints RJ!). I don't feel comfortable setting the text of the WaveformMarks in WaveformMarkRenderer. WaveformMarkRenderer already does it's job of painting whatever text a WaveformMark happens to have. Doesn't it make more sense to modify Wave

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-12 Thread Ferran Pujol Camins
One question: if WaveformMark::setKeyAndIndex(const ConfigKey& key, int i), is called a second time, doesn't this forget to deallocate the old instance of ControlObjectThread? 2015-01-10 0:19 GMT+01:00 RJ Ryan : > Hi Ferran, > > The waveforms are a little twisty-turny. Here are some hints to get

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-09 Thread Ferran Pujol Camins
Now I want the hotcue marks to show their cue's name. I see in WaveformMark::setKeyAndIndex that m_text place marker is replaced by the hotcue number so I could just append the cue's label there. But I have no clue about how to bring the hotcue name to this function. Some quick guidance with the wa

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-09 Thread RJ Ryan
Hi Ferran, The waveforms are a little twisty-turny. Here are some hints to get you started: WaveformMark represents the skin's definition of what the hotcue should be rendered as (an image from file, an auto-generated image, the text to show, etc.). WaveformRenderMark is a WaveformRendererAbstrac

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-09 Thread Ferran Pujol Camins
Thank you both I have a better picture now. :) 2015-01-09 19:55 GMT+01:00 RJ Ryan : > This doc is a bit out of date now (doesn't cover ControlObjectSlave) but > it gives the overview of what the heck ControlObject is used for in Mixxx: > > http://mixxx.org/wiki/doku.php/developer_guide_control >

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-09 Thread RJ Ryan
This doc is a bit out of date now (doesn't cover ControlObjectSlave) but it gives the overview of what the heck ControlObject is used for in Mixxx: http://mixxx.org/wiki/doku.php/developer_guide_control See also: http://mixxx.org/wiki/doku.php/developer_guide On Fri, Jan 9, 2015 at 6:19 AM, Dani

Re: [Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-09 Thread Daniel Schürmann
Hi Ferran, do not know what exactly you need. ControlDoublePrivate is th container that holds the double data value for atomic read and writes (also on 32 bit targets). The ControlObject is the interface, you can use from your code that holds a reference to the ControlDoublePrivate. ControlObjec

[Mixxx-devel] ControlObject and ControlDoublePrivate overview

2015-01-09 Thread Ferran Pujol Camins
Hello, could someone give me a short explanation about how ControlObject and ControlDoublePrivate interact? I'm quite confused right now and it would help me digest the code quicker. -- Dive into the World of Parallel Progr