From: Graham J. <gr...@ch...> - 2009-04-19 23:20:17
|
Composition Library - Developer installation instructions and program notes INSTALLATION 1. Download and install Visual C# 2008 Express Edition, free from http://www.microsoft.com/express/vcsharp/ 2. Download and install SQLite ADO.Net dotnet2 version, free from https://sourceforge.net/project/showfiles.php?group_id=132486 In the installation box, check Visual C# Express Edition, to add the SQLite designer components into Visual C#. 3. Download and install TortoiseSVN (win32 version), free from http://tortoisesvn.net/downloads 4. Create a folder called complib where you want it, right click The folder and select SVN Checkout. In the TortoiseSVN dialog, type the location of complib into the URL box as below and click OK https://complib.svn.sourceforge.net/svnroot/complib On any future occasion, right click and Update will keep Complib up to date. If you make any changes in the directory, you can also upload them to the repository using SVN commit. 5. Find and double-click the solution file (or open in Visual C#) complib/SVN/trunk/complib.sln 6. On the Visual C# menu, click on Project and Complib Properties, then Click on the Settings Tab. Find the Connection called ComplibLiteConnectionString. Edit the pathname in Value to point to the Test Complib database which is: your path...Complib\trunk\Complib\SQLite\ComplibLite 7. Click the green run arrow. The solution should build and run, and Complib should launch. NOTES This is partially developed unstable code, with little validation, and a number of features not yet implemented. If you stick to regular methods and valid composition input though, it should work sufficiently to give you an idea. I had to learn C# in the process of writing this, so please excuse any poor coding practices. In fact if you see anything that could be improved or spot a bug, please feel free to recode it and commit it back to subversion. Here is a list of what works and what doesn't:- Menu - View Two missing icons. - Tools/Options Advanced mode is not yet implemented - intention is when it is not selected to hide all features other than those required by a conductor. - Compositions are not yet downloaded on startup (there is no online composition database!) - User details are currently hardcoded Method - Find Method(s) Tab - should be OK. Title is the only field using "like". BTW - Clicking find with nothing selected shows the whole method database. Restrict searches for "Methods true to" by entering a leadhead code. There are currently problems caused by irregular methods, and by running out of memory, as currently none gets released until the whole set of compositions has been proved. You may get away with up to 700. - Method Results Tab - Should be OK, as should the navigation bar.X on the navigation bar removes from results, not the database. - Method Properties Tab - Should be OK, apart from "Little" and "Differential" flags not being shown or added the the Classes. Similarly these are not shown in the Title. Negative Method Ids are converted to an l to indicated local. Twin hunt methods need some attention to cope with the way they are held on the method database. - Blue Line - not yet implemented. Code offerings welcome. - New Method Tab - Some validation here, but not on Class, or null fields. PN will show in Red if invalid, or no Stage selected. PN will be reformatted in standard full form. New methods are held on the local database with negative Method ID's, (Unrung) is shown in the title. Composition - Find Composition(s) Tab - None of the check boxes do anything at present. Other fields apart from By Composed and Leadhead group(s) should work. - Composition Results - Sometimes this appears with wrongly sized columns. This is fixed by clicking on a column heading to sort. Parts is always 1. If "List false compositions" is checked in Tools Options, two columns are added to show False Rows and whether the composition comes round. - Properties Tab - Should be OK - Formatted - Still needs a lot more work, but should show something reasonable in most cases. If a composition is false, courseheads are not being shown correctly after it runs false. Edit and Delete are greyed out unless you are either the submitter, modifier, one of the composers, or a Composition Library administrator. This will give some security to protect vandalism of data. - Music - OK, but no subtotalling, or composition total shown here. - New/Edit Composition. PN is validated, but not much else. I'm not happy with the Composer dropdown box. If you select {new composer} a dialog box comes up to allow you to enter a new one. Date first rung is not stored at present, and start row offset is stored, but not used. Applicable leadheads is an unvalidated entry field, but I want Complib to calculate this once I have an algorithm. Calling needs to follow the format as described in the Composition Library Calling Notation document. It is not validated at entry time, so problems can occur when proofing. You may get a terse error, which is not handled properly. Collection - Not yet implemented Music Scoring - No validation. Only mask Types implemented are Row and Wrap. A mask can include x or ? as single character wildcards. A short mask e.g. 5678 in Major will count 5678s anywhere in the row. For Wraps I don't count it unless it actually wraps the row (i.e. Rounds itself doesn't count as a wrap of rounds). For the observant, this was incorrect in the demo presentation, as 87654321 was counted as a wrap at the previous handstroke row. - Intention is to calculate Possible. Min and Max I will probably drop as unnecessary. Score is the multiplier to use. - The autosort gives strange effects as you edit data Statistics - Method Tab and composition Tab now show a report. Nothing in Collection and Submission tabs. Upload - Not implemented. Intention is to provide a list of compositions which have been added or amended, and allow these to be individually or collectively selected for upload. Any additions of composers will also need uploading. Login and password will be needed to update the online database to give some security and auditing control. Once updated online, the details will be removed from the local database. Download - Not implemented for compositions. - Implemented for methods, but I want to add a test for new methods being found on the local database, so that they can be deleted, with advice to the user (in case a method they had stored locally has been rung by someone else). |