Hi Daniel
Thanks for all your valuable suggestions again!
Best regards,
weixin
2013/7/10 Daniel Schürmann <dasch...@mixxx.org>
> Hi 魏欣
>
> > I just got another idea that I can write a script to automatically
> insert new data into current xml mapping preset files ...
>
> That sounds good, but I am not sure if a script is such a great benefit,
> because user interaction might be required. You can evaluate it later.
>
> Thank you for your further explanations. It looks like your have a clear
> view to your projects :-).
>
> Kind regards,
>
> Daniel
>
>
>
> 2013/7/9 魏欣 <weixind...@gmail.com>
>
>>
>> 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