{"id":2693,"date":"2021-04-26T23:38:27","date_gmt":"2021-04-27T03:38:27","guid":{"rendered":"http:\/\/wizardwalk.com\/newblather\/?p=2693"},"modified":"2021-04-26T23:38:27","modified_gmt":"2021-04-27T03:38:27","slug":"tunesage-progress-update-4","status":"publish","type":"post","link":"https:\/\/wizardwalk.com\/newblather\/?p=2693","title":{"rendered":"TuneSage progress update 4"},"content":{"rendered":"<p>It&#8217;s already been two weeks since the previous update? Bleh, I program too slowly. The undo \/ redo system was a bit tricky to implement, as was exporting MIDI files. The saving and loading pieces from a MongoDB database is also tricky, but that&#8217;s mostly because I&#8217;m having to reacquaint myself with how it works. It should only take about another day&#8217;s worth of work to finish that up, I hope.<\/p>\n<p>I&#8217;ve added just one more thing to the list that I want to finish before I start focusing more on the back-end, and that&#8217;s implementing chord markers. The first thing I&#8217;ll implement on the back-end is a chord progression generator, since that&#8217;s pretty easy (and hardly innovative), so of course I&#8217;ll need a way to display them.<\/p>\n<p>After chords, I can move on to melodies and accompaniment, which is where I hope things will get more interesting.<\/p>\n<ul>\n<li>Playing features\n<ul>\n<li><del>Play from a selected position<\/del>\u00a0<strong>\u2713<\/strong><\/li>\n<li>Play or loop a selection <em>(skip!)<\/em><\/li>\n<li>Show play location in minutes \/ seconds<em> (skip!)<\/em><\/li>\n<li><del>Pause play (saves play position)<\/del>\u00a0<strong>\u2713<\/strong><\/li>\n<li><del>Show \/ hide measure numbers<\/del>\u00a0<strong>\u2713<\/strong><\/li>\n<\/ul>\n<\/li>\n<li>Move \/ create tempos (or tempo groups for accelerandos?)<em> (skip!)<\/em><\/li>\n<li>Note editing\n<ul>\n<li><del>Move \/ create \/ delete<\/del> \/ edit notes or note groups<em> (skip!)<\/em><\/li>\n<li>Copy \/ paste notes or note groups<em> (skip!)<\/em><\/li>\n<li>Edit note velocities<em> (skip!)<\/em><\/li>\n<\/ul>\n<\/li>\n<li>Measure editing\n<ul>\n<li><del>Delete \/ create \/ edit measures<\/del>\u00a0<strong>\u2713<\/strong><\/li>\n<li><strong>Delete \/ create \/ edit sections (measure groups)<\/strong><\/li>\n<\/ul>\n<\/li>\n<li>Track editing\n<ul>\n<li><del>Load track instrument from MIDI file<\/del>\u00a0<strong>\u2713<\/strong><\/li>\n<li><del>Edit track instrument<\/del>\u00a0<strong>\u2713<\/strong><\/li>\n<li>Edit track volume \/ stereo positions<em> (skip!)<\/em><\/li>\n<li>Auto-color tracks differently<em> (skip!)<\/em><\/li>\n<\/ul>\n<\/li>\n<li><strong>Chords<\/strong>\n<ul>\n<li><strong>Create \/ delete chord marks (only triads and 7ths for now)<\/strong><\/li>\n<li><strong>Color lines by chord voice<\/strong><\/li>\n<\/ul>\n<\/li>\n<li>Load \/ display \/ edit key signatures<em> (skip!)<\/em><\/li>\n<li>MIDI loading\n<ul>\n<li><del>Load note velocities from MIDI<\/del>\u00a0<strong>\u2713<\/strong><\/li>\n<li>Fix MIDI loading bug: Extra note at end of file<em> (skip!)<\/em><\/li>\n<\/ul>\n<\/li>\n<li>Saving \/ exporting\n<ul>\n<li><strong>Save \/ load music pieces to \/ from personal database<\/strong><\/li>\n<li><del>Import \/ Export MIDI files<\/del><strong> \u2713<\/strong><\/li>\n<li>Export music to WAV or MP3<em> (skip!)<\/em><\/li>\n<\/ul>\n<\/li>\n<li>Bookmark sections of a piece<em> (skip!)<\/em><\/li>\n<li><del>Zoom in and out (horizontally)<\/del>\u00a0<strong>\u2713<\/strong><\/li>\n<li><del>Undo \/ redo support (Ctrl+Z)<\/del><strong>\u00a0\u2713<\/strong><\/li>\n<li>Import soundfonts from computer (<em>low priority<\/em>)<em> (skip!)<\/em><\/li>\n<li>Account\n<ul>\n<li>Confirm email (if necessary)<em> (skip!)<\/em><\/li>\n<li>Log in \/ out \/ reset password<em> (skip!)<\/em><\/li>\n<li>Edit optional personal info<em> (skip!)<\/em><\/li>\n<li>Usage stats<em> (skip!)<\/em><\/li>\n<\/ul>\n<\/li>\n<li>Final design pass (make everything look good)<em> (skip!)<\/em><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s already been two weeks since the previous update? Bleh, I program too slowly. The undo \/ redo system was a bit tricky to implement, as was exporting MIDI files. The saving and loading pieces from a MongoDB database is also tricky, but that&#8217;s mostly because I&#8217;m having to reacquaint [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[797],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p7gI4B-Hr","_links":{"self":[{"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=\/wp\/v2\/posts\/2693"}],"collection":[{"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2693"}],"version-history":[{"count":1,"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=\/wp\/v2\/posts\/2693\/revisions"}],"predecessor-version":[{"id":2694,"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=\/wp\/v2\/posts\/2693\/revisions\/2694"}],"wp:attachment":[{"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}