Re: [Mixxx-devel] Mapping preset upload
Thanks very much, Daniel. Best Regards, weixin 2013/7/22 Daniel Schürmann dasch...@mixxx.org Hi 魏欣 2. is fine to me, because than you have full control over the upload process. Kind regards, Daniel 2013/7/21 魏欣 weixind...@gmail.com Hi, I plan to add a upload.ui dialog used for client user uploading the mapping preset built by themselves to server.I have two ideas for reference only: 1.give a link on our dlgprefcontrollerdlg.ui. Users submit their presets through a web page. Then download it through cloud search interface on my dlgmappingpresetmanagerdlg.ui 2.build a upload.ui, uploading the mapping preset to server and save it into local database at the same time. I prefer the second solution. But I didn't wrote it in my GSOC proposal,so I don't know whether it is ok. I sincerely hope to hear your suggestions or other ideas. -- Best Regards! Xin Wei -- 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=48808831iu=/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 -- 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=48808831iu=/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
[Mixxx-devel] Mapping preset upload
Hi, I plan to add a upload.ui dialog used for client user uploading the mapping preset built by themselves to server.I have two ideas for reference only: 1.give a link on our dlgprefcontrollerdlg.ui. Users submit their presets through a web page. Then download it through cloud search interface on my dlgmappingpresetmanagerdlg.ui 2.build a upload.ui, uploading the mapping preset to server and save it into local database at the same time. I prefer the second solution. But I didn't wrote it in my GSOC proposal,so I don't know whether it is ok. I sincerely hope to hear your suggestions or other ideas. -- Best Regards! Xin Wei -- 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=48808831iu=/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
Re: [Mixxx-devel] help! how to get data source for supporting geting controller presets from web?
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 pictureand 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
[Mixxx-devel] weekly status update(7.1-7.7)
Hi everybody, Here is a conclusion for my work in this week. What I have done 1.finish all the server API 2. write a script for export content in xml mapping preset file into server database 3. Mixxx client can parse data into controllerpreset structure 4. adjust the database design according the xml preset file, try to not import new items. Problems I have met 1. Pulling the content in xml mapping preset file into database is the only method in my mind to fill my database, but some items not in xml mapping preset file are still needed. I know adding new items into xml mapping preset file is not a good choice, so I have an idea that write another xml file to store these items, and export them into mixxx's database when Mixxx builds its database during its initialization. But I don't know whether it is the best solution. 2. I try to make use of the controllerpreset.h and midicontrollerpreset.h files. I need to add some private variables into controllerpreset.h to satisfy my requirement. I have added the private variables into ControllerPreset calss and compiled it pass, and it also can run normally without a controller, but it will run and exit immediately with a controller. There exists a free pointer error. So far I haven't got a solution. What I am going to do in next week. 1. To implent search function both from local and server. 2. To implent download function -- 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
Re: [Mixxx-devel] help! how to get data source for supporting geting controller presets from web?
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 pictureand 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 -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows
[Mixxx-devel] help! how to get data source for supporting geting controller presets from web?
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
[Mixxx-devel] Introduction Mail
Hi, everyone, I am Xin Wei from China. You can call me Xin or weixin. I'm so happy that I am the lucky one finally accepted by Mixxx in GSOC 2013, and it's my honor to work with all mixxxers. My proposal is to perfect the preset mapping workflow, as well as develop an api server for users to get presets from mixxx.org or other websites. This is my proposal link on gdoc ( https://docs.google.com/document/d/1ALYxNoN49JG2D_sAJC2D1trttuZd97K5LbSHUO47FZI/edit# ). Everybody interested in my work can leave comments on it. I do really treasure your ideas and suggestions. -- Best Regards! weixin -- Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with 2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1___ 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
[Mixxx-devel] Proposal update--Perfect the MIDI Mapping Workflow: Support Searching Presets from API Engine Server
Hi, I have just updated my proposal https://google-melange.appspot.com/gsoc/proposal/review/google/gsoc2013/xinwei/21001 Looking forward to your comments! -- Best Regards! weixin -- Get 100% visibility into Java/.NET code with AppDynamics Lite It's a free troubleshooting tool designed for production Get down to code-level detail for bottlenecks, with 2% overhead. Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap2___ 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
Re: [Mixxx-devel] Hello Mixxx
Hi,Sean M. Pappalardo I'm so happy for getting your patient reply. I have seen the mapping file and learning wizard widget by commenting out the code that black-lists the MIDI Through device. Thank you very much. The problem that still makes me confused is that how to set up a software MIDI device using an external program. Are there any softwares able to simulate MIDI deveices,or need I code a piece of program by myself to simulate a MIDI device connection? This is so important for me that I don't know how to continue my design and code without a MIDI device. I think there must be a way for debuging even without a MIDI device. Best regards, weixin 2013/4/25 Sean M. Pappalardo - D.J. Pegasus spappala...@mixxx.org Hello. file, but in the Preferences- MIDI Controllers I didn't find the interface to learning wizard, even interface to helping user choose mapping file widget. Is it because that I didn't connect a MIDI device with my pc, That's correct. The interface only appears when a MIDI or HID controller is detected. You can set up a software MIDI device using an external program to force it to appear. (If you're on Linux, you can comment out the code that black-lists the MIDI Through device.) *3. I walked through the source code, find a controllerengine.cpp file, I'd like to know whether it is responsible for parsing and running JS script? That's correct. RJ and I wrote most of that so either of us can help you further. As for the work flow you mentioned, at first glance it seems sensible to me, though RJ has the final say. You can start making plans to implement the first few steps and we can discuss further on the things you're not sure about in the meantime. Thanks for your interest! Sincerely, Sean M. Pappalardo D.J. Pegasus Mixxx Developer - Controller Specialist -- Best Regards! Xin Wei == Postal Address: Room A0823, Innovation Park Building, Faculty of Electronic Information and Electrical Engineering, Dalian University of Technology. Zip Code: 116023 TEL:15842623380 E-Mail: weixind...@gmail.com == -- Try New Relic Now We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr___ 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
Re: [Mixxx-devel] Hello Mixxx
Sean,Thanks a million, I just tried it on my PC, it worked very well. I think I can continue my design.:) Best Regards, weixin 2013/4/26 Sean M. Pappalardo - D.J. Pegasus spappala...@mixxx.org On 04/26/2013 03:42 PM, 魏欣 wrote: Are there any softwares able to simulate MIDI deveices, Yes. I've used VMPK: http://vmpk.sourceforge.net/ It not only does note on/off messages, but the knobs on the top send CC ones too. Sincerely, Sean M. Pappalardo D.J. Pegasus Mixxx Developer - Controller Specialist -- Best Regards! Xin Wei == Postal Address: Room A0823, Innovation Park Building, Faculty of Electronic Information and Electrical Engineering, Dalian University of Technology. Zip Code: 116023 TEL:15842623380 E-Mail: weixind...@gmail.com == -- Try New Relic Now We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr___ 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
Re: [Mixxx-devel] Hello Mixxx
Hi RJ, *I have read the docs on wiki and googled some MIDI knowledge,but I still can not understand the Mapping file well. I have also read some source code, and made it compiled and run on Ubuntu. I got the following ideas and questions.* * 1. Workflow for new users by automatically selecting the correct MIDI mapping: * * a. **if a device connects to PC, goto b. b. automatically search local files, if Mixxx find the right mapping file, goto f, else, goto c. c. **automatically search web(API server built by Django)if the network is ok, show the result to user:1)there are right mapping files on internet, goto d 2)there are no right mapping files, goto e. d. **ask the user whether to download ,if yes,goto f,if no, do nothing. e. **tell the user that there are no right mapping files for your device, you can build it through our MIDI learning wizard. if yes, goto g, if no, do nothing. f. **do a map and show success mapping message box. **g. MIDI learning wizard process(sorry, I haven't organized it well) ** ps. content in is the items that I am not so sure. * *This is just a simple procedure description , and maybe I missed some points, or misunderstood the main purpose of Mixxx, so I hope you can suggest me some ideas about the procedure above.* 2. *I found the MIDI learning wizard code and its UI file in the source file, but in the Preferences- MIDI Controllers I didn't find the interface to learning wizard, even interface to helping user choose mapping file widget. Is it because that I didn't connect a MIDI device with my pc, or because current version haven't provided this interface? if it is because the disconnection with my pc, what can I do for making these codes run without a MIDI device, or other devices instead a MIDI DJ devices?* *3. I walked through the source code, find a controllerengine.cpp file, I'd like to know whether it is responsible for parsing and running JS script? I hope you can figure me out a few most related files with mapping file so that I can master the project quickly.* *Best Regards, weixin * 2013/4/24 RJ Ryan russelljr...@gmail.com Hi Weixin, Welcome to the Mixxx community! Glad to hear you're interested in doing GSoC with us. When appropriate we've listed some references and related bug reports on the ideas page. Is there something in particular you would like more details on? Best regards, RJ On Tue, Apr 23, 2013 at 11:41 PM, 魏欣 weixind...@gmail.com wrote: * Hi, I’m weixin, a Computer Science student from Dalian University of Technology, China. I’m so interested in Mixxx, and some ideas emerged in my mind after going over the ideas list. I hope to make an in-depth discussion after I organize my ideas if still in time, and implement them in GSOC 2013. Here, introduce myself first. I’m familiar with Qt, C++, python, Django and also have some embedded devices programing experiences. My hobby is guitar, and I like country, pop, absolute and modern blues music. Finally, the second (Plug and Play MIDI Mode/Community MIDI Mapping), the fifth (Keyboard/ MIDI Mapping GUI) and the seventh (Intelligent Track Suggestions/ Smart Crates) project ideas attract me most, and I will detail my thoughts in these aspects, implementation steps as well. So, I wish you can suggest me some references in these aspects. *-- Best Regards! weixin -- Try New Relic Now We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr ___ 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 -- Best Regards! Xin Wei == Postal Address: Room A0823, Innovation Park Building, Faculty of Electronic Information and Electrical Engineering, Dalian University of Technology. Zip Code: 116023 TEL:15842623380 E-Mail: weixind...@gmail.com == -- Try New Relic Now We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr___ 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
[Mixxx-devel] Hello Mixxx
* Hi, I’m weixin, a Computer Science student from Dalian University of Technology, China. I’m so interested in Mixxx, and some ideas emerged in my mind after going over the ideas list. I hope to make an in-depth discussion after I organize my ideas if still in time, and implement them in GSOC 2013. Here, introduce myself first. I’m familiar with Qt, C++, python, Django and also have some embedded devices programing experiences. My hobby is guitar, and I like country, pop, absolute and modern blues music. Finally, the second (Plug and Play MIDI Mode/Community MIDI Mapping), the fifth (Keyboard/ MIDI Mapping GUI) and the seventh (Intelligent Track Suggestions/ Smart Crates) project ideas attract me most, and I will detail my thoughts in these aspects, implementation steps as well. So, I wish you can suggest me some references in these aspects. *-- Best Regards! weixin -- Try New Relic Now We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr___ 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