Hi Daniel,
Thanks for your valuable suggestions.

2013/7/7 Daniel Schürmann <dasch...@mixxx.org>

> Hi 魏欣,
>
> Cool, thank you for your explanations. Your ideas are very reasonable.
>
> > So I have an idea that I build another xml file which ..
>
> It's a question of responsibility. You have original proposed to extend
> the xml file, right? I think that is reasonable because the mapping
> developer will provide the picture and all other new data?
>
> Yes, You are right. I just got another idea that I can write a script to
automatically insert new data into current xml mapping preset files. When
next new version releases, we will do a patch for old users by running this
script, and put forward new requirements for the future designers. What do
you think?

>
> > Is it necessary to use C++?
>
> No, but according to the discussions on mixxx-devel thes mapping file
> might be subject for change. In such case we have to change the C++ code in
> Mixxx and the Python code in Backstage (which might be out of sight of the
> Mixxx developer). These are the limitations by Backstage I have mention. It
> would be really nice if we have a common place to edit the mapping. But
> that  is only one view. You should evaluate all pros and cons.
>
Ok, I see. I wll measure this any further. Currently, Python is more
convenient for me to implement the basic functions, and I will make C++ a
TODO solution,

>
>
My personal long term favorite, is to move everything to js domain. We can
> easily build the hash table from js so we have finally only one file to
> maintain.
>
That sounds very cool!

> > 1) pid.(uuid. this should stay the same with server side database)
>
> What is the use for this? To distinguish different mapping?
> Currently we need to have a unique path (file name for each mapping) in
> the res folder. What is the benefit of such additional identifier?
>
> I have noticed that our Mixxx uses a unique path as an identifier
currentlly when I design my database, but I think it will lead a lot of
potential porblems and there exists some limitations if I still use it as
identifier for my forum portal development.
1) An identifer should be able to idetify a unique mapping both in local
and cloud. A simple file path+name cann't meet the requirement. Because I
cann't ensure that Mixxx on different computer use the same directory. The
filename also may change for some stupid reason.
2) When we use path+name as an identifier, we can only keep one mixxx
version and one schema version. Because we design that user can get new
mapping through internet, and mixxx should recommend new version mapping
according to mixxx version and schema version, so one mixxx versiona and
one  schema version for one mapping is not enough.

> Have you thought about a Plug and Play Id for the mappings. Depending on
> the controller interface, Mixxx can distinguish different hardware by
> either  USB Id or sysex messages. Maybe you should consider to track this
> ID as
> well.
>
> I don't think we should track Plug and Play Id. Because one mapping should
support one kind of devices but not only one device. For one kind of
devices, our preset name( manufacturer + controller name) is enough.

Kind regards,
>
> Daniel
>
>

-- 
Best Regards!
Xin Wei



>
>
> 2013/7/7 魏欣 <weixind...@gmail.com>
>
>> Hi Daniel
>> Thanks a lot!
>>
>> 2013/7/7 Daniel Schürmann <dasch...@mixxx.org>
>>
>>> Hi 魏欣
>>>
>>> Here some thought. But apologize if they are all rubbish, because I did
>>> not follow your work that close.
>>>
>>> I am not sure if I get your point. It is correct that you are trying to
>>> put the xml mapping file logical content in you database?
>>>
>> Yes, I am.
>>
>>> Is the mapping xml file generated from the database later?
>>>
>> If so, I am not in favor with this idea, because it will put additional
>>> limitations to the Mixxx and Mapping development. It is possible to store
>>> the mapping files as they are it is into the database?
>>>
>>> No, I just want to put the xml mapping file logical content in my
>> database, but it is not enough. Another two items, <presets certification
>> status> and <controller cover picture> is necessary for me to implement my
>> search function I have designed.   I know that it's better not
>> put additional limitations to the Mixxx and Mapping development, So I have
>> an idea that I build another xml file which store <preset name>(this is
>> same as <name> in xml mapping file), <preset pid>, <cover picture>and
>> <certification status>(these three items are necessary for me and going to
>> add into my database. ) of all the preset in /res/controllers. This xml
>> file will be parsed  and the content will be pulled into my database at the
>> same time with the xml mapping file logical content pulled into my
>> database.  How about this way? In fact I think this way is a bit
>> wierd, <presets certification status> and <controller cover picture> shoud
>> be same as <scriptfiles> stored in xml mapping file in logic.
>>
>>> If not, we Mixxx have a parser for the xml mappings. Did you have a look
>>> at it? It stores the data from the xml in structures hand hash tables.
>>> Maybe it is a good idea to split this part into a separate so/dll and add
>>> your database code to it. This way we can maintain all midi mapping code at
>>> one place.
>>>
>> I have readed the parser code. I have planed to make use of it to pull
>> xml mapping file content into my database.
>>
>>> Is it possible to use C++ shared obejcts within the backstage server?
>>>
>>> I have written a parser script in Python within the backstage server. Is
>> it necessary to use C++? This script file will be run only when we deploy
>> our backstage server.
>>
>> Hope that helps!
>>>
>> Thanks again!
>>
>>
>>> Kind regards,
>>>
>>> Daniel
>>>
>>>
>>>
>> Here I give a list of columns of preset table and file storage table in
>> my planed client database.
>> ====preset table ====
>> 1) pid.(uuid. this should stay the same with server side database)
>> 2) author.
>> 3) url. Its values may be "null" for preset build by mixxx, "a forums
>> link" for preset coming from mixxx forum, and "a wiki link" for preset
>> coming from mixxx wiki.
>> 4) description.
>> 5) preset_source. If xml mapping preset file include <forums>, its value
>> is "forums" and if include <wiki>, its value is "wiki", otherwise its value
>> is "mixxx".
>> 6) preset_status. Its values are "certificated","uncertificated", and
>> "certificating".
>> 7) mixxx_version
>> 8) preset_name
>> 9) controller_name
>> 10) schema_version
>> ==== file storage table====
>> 1) fid(auto increment)
>> 2) pid(Foreign key)
>> 3) file type. its value are "xml","js","png"(show covers for search
>> results)
>> 4) file name
>> 5) directory
>>
>> The contents in red are what I can not get from our current xml mapping
>> preset file.
>>
>> Best Regards,
>> weixin
>>
>>>
>>>
>>> 2013/7/6 魏欣 <weixind...@gmail.com>
>>>
>>>> Hi,
>>>> I am working on providing interfaces for geting forum presets from
>>>> server. Now I have deployed a server on my own computer ,built the database
>>>> and been able to get database data from mixxx client through Tastypie API.
>>>> But I find a problem that I have been ignored. It is how and where  I can
>>>> get presets data for filling server database.
>>>> Now I have an idea that I can write a script parsing xml files in
>>>> '/res/controllers/', and use these data to fill in server database tables.
>>>> And for mixxx client, in order to support search from local and web server,
>>>> we also should build tables at local database for presets. During
>>>> initialization, Mixxx scans all the files in  '/res/controllers/' and
>>>> exports the presets info data into local database. The process that users
>>>> search and download presets from web server is just to update local
>>>> database. But I guess a problem is that exporting data from xml files may
>>>> be incomplete, and some preset xml file maybe need some changes.
>>>>
>>>> Can you give me some suggestions?
>>>>
>>>> --
>>>> Best Regards!
>>>> Xin Wei
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> This SF.net email is sponsored by Windows:
>>>>
>>>> Build for Windows Store.
>>>>
>>>> http://p.sf.net/sfu/windows-dev2dev
>>>> _______________________________________________
>>>> 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
>>>>
>>>
>>
>
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
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