{"id":2688,"date":"2021-04-13T04:51:13","date_gmt":"2021-04-13T08:51:13","guid":{"rendered":"http:\/\/wizardwalk.com\/newblather\/?p=2688"},"modified":"2021-04-13T04:51:13","modified_gmt":"2021-04-13T08:51:13","slug":"tunesage-progress-update-3","status":"publish","type":"post","link":"https:\/\/wizardwalk.com\/newblather\/?p=2688","title":{"rendered":"TuneSage progress update 3"},"content":{"rendered":"<p>A few more things checked off the list. Added a couple &#8220;measure editing&#8221; tasks. Quite a few tasks I think can probably be skipped for now, as I&#8217;d like to get back to working on the back-end so I can then work on integrating the back-end with the front-end. Most of the skipped items should not be overly difficult anyway (though difficulty is always easy to underestimate). Excluding the skipped items leaves the items in bold: measure editing, save \/ load \/ export stuff, and an &#8220;undo&#8221; system, which I guess will be better to tackle earlier than later.<\/p>\n<p>I still need to have a good think about what features the back-end should include at launch; that is, what specific music-generating features would be most useful. I&#8217;ll do that in another post a bit later, I suppose.<\/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><strong>Measure editing<\/strong>\n<ul>\n<li><strong>Delete \/ create \/ edit measures<\/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>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><strong>Export music to MIDI<\/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><strong>Undo \/ redo support (Ctrl+Z)<\/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>A few more things checked off the list. Added a couple &#8220;measure editing&#8221; tasks. Quite a few tasks I think can probably be skipped for now, as I&#8217;d like to get back to working on the back-end so I can then work on integrating the back-end with the front-end. Most [&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-Hm","_links":{"self":[{"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=\/wp\/v2\/posts\/2688"}],"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=2688"}],"version-history":[{"count":2,"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=\/wp\/v2\/posts\/2688\/revisions"}],"predecessor-version":[{"id":2690,"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=\/wp\/v2\/posts\/2688\/revisions\/2690"}],"wp:attachment":[{"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2688"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2688"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wizardwalk.com\/newblather\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2688"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}