Anast,

here some thoughts:

What will happen if a user tries to remove a track from a top crates, 
which is also member of a lower level child crate?
Will both be removed?

Can the user distinguish a track in a top crate from on that is 
recursively gapped form a child crate?

We have discussed to use crates like tags.
Do you like the idea ?
Will there be something like a "crate membership" coloumn / search / 
sorting? How is a multi membership handled there?


Kind regards,

Daniel


Am 31.03.2017 um 22:49 schrieb Be:
> This looks better. Could you update your proposed timeline to reflect
> the changes?
>
> On 03/31/2017 02:21 PM, Anast Gramm wrote:
>> On Fri, Mar 31, 2017 at 06:59:48PM +0300, Anast Gramm wrote:
>>> Hello, I wrote a more detailed plan for those two features you metioned for 
>>> the project
>>> scope. I will send it soon after some polishing.
>> here it is (also in pdf below)
>>
>> 1 Nested Crates
>> ===============
>>
>>   A preview for the nested crates is included. Tree like view. (If you don't 
>> listen
>>   to the Jazz/Trance sub-genre of Dub, you should!! :D )
>>
>>   The following is derived by the comments on launchpad and my thoughts
>>   on them.
>>
>>
>> 1.1 Overview
>> ~~~~~~~~~~~~
>>
>> 1.1.1 What can a crate contain?
>> -------------------------------
>>
>>   A crate can contain the following:
>>   - Another crate (smart or not)
>>   - Songs
>>
>>
>> 1.1.2 Can a song be in multiple crates?
>> ---------------------------------------
>>
>>   Yes.
>>
>>
>> 1.1.3 What happens when I click on a crate
>> ------------------------------------------
>>
>>   Recursively lists all the songs that exist in the crate or the
>>   subcrates that it contains. DISTINCT! (eliminates duplicate songs)
>>
>>   ["mixxx's unique selling point!"]
>>
>>
>> ["mixxx's unique selling point!"]
>> https://bugs.launchpad.net/mixxx/+bug/671632/comments/37
>>
>>
>> 1.1.4 What happens when I drag&drop a crate into another one
>> ------------------------------------------------------------
>>
>>   If the crate you drag is a parent crate to the one you drop it then
>>   nothing happens. (or an error!)
>>
>>   Else the drag crate and everything that it contains become members of
>>   the drop crate. (like moving files in a file system)
>>
>>
>> 1.1.5 How do I insert a song to a multilevel crate
>> --------------------------------------------------
>>
>>   You place the song to the crate you want it to become a member of. If
>>   you have multiple levels, the above still holds. If a crate/song
>>   belongs to a child, it belongs to the parent as well.
>>
>>
>> 1.1.6 How many levels will be supported?
>> ----------------------------------------
>>
>>   As many as the user wants.
>>
>>
>> 1.1.7 What if I want two crates with different parents have the same name?
>> --------------------------------------------------------------------------
>>
>>   Every crate will contain information about it's parent, so the
>>   following can work:
>>
>>   Crate1/sameSubcrateName
>>
>>   Crate2/sameSubcrateName
>>
>>
>> 1.2 Implementation
>> ~~~~~~~~~~~~~~~~~~
>>
>>   Here are some first thoughts on the way the above will get
>>   implemented.
>>
>>
>> 1.2.1 Modifications
>> -------------------
>>
>>   In order for crates to be able to hold both other crates and songs
>>   some modifications need to be made in the database schema.
>>
>>   A new table with columns:
>>    PARENT_ID  CHILD_ID
>>   ---------------------
>>    ...        ...
>>
>>   Here the CRATE_ID will be linked with other CRATE_ID's depending on
>>   the parent/child state of those.
>>
>>   While populating this table checks will occur so that a crate can't be
>>   it's own parent, or a child can't have his parent as a child etc.
>>
>>   The whole crate side of the database might need a revamp for this to
>>   work efficiently and be expandable at the same time. I will look at it
>>   in depth in time.
>>
>>
>> 2 Search filter for Crates
>> ==========================
>>
>>   Due to the nested crate's complexity I will work on search filters
>>   first, while keeping in mind the future adjustments it might need in
>>   order to work well with nested crates.
>>
>>
>> 2.1 Overview
>> ~~~~~~~~~~~~
>>
>> 2.1.1 What is the search filter for crates
>> ------------------------------------------
>>
>>   Typing "crate:" in the search bar, will act like a filter listing
>>   whatever any song within a crate named whatever comes after "crate:"
>>   (fuzzy style). Like "artist:"
>>
>>
>> 2.1.2 What about nested crates
>> ------------------------------
>>
>>   Say you have a top level crate named (creatively) Crate1 with
>>   subcrates and songs nested under it. Typing crate:Crate1 in the search
>>   will list every song this crate contains and every subcrate's song as
>>   well.
>>
>>
>> 2.1.3 What about the same name subcrates we talked before
>> ---------------------------------------------------------
>>
>>   Typing crate:sameSubcrateName will get you both the crates with the
>>   same name. If you want your search to stay in one crate you have to
>>   type it's parent crate (in case this is the same as well, you need the
>>   full path)
>>
>>
>> 2.2 Implementation
>> ~~~~~~~~~~~~~~~~~~
>>
>>   Here I will make things work like the other filters, already existing
>>   (artist: etc).
>>
>>   I believe this part will be not that hard to pull off.
>>
>>   I will have a more detailed plan for the implementation after the
>>   community bonding period where I will read the whole code, and
>>   understand it completely.
>>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> 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
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
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