Posted in Music, Software March 2nd, 2020 by dotcomboom
New demo! It’s weirdly improvised as always, but not too bad I think.
This time around I used BandLab instead of FL, which is a neat piece of kit that runs in the browser. If you want to look at the mix itself you can find it here. I didn’t do any panning so it might not sound that gud.
As a partial followup to my last ThinkPad post, here’s Chromium 34 (from 2014) running on Windows 2000.
It’s not the most ideal for daily use as it’s quite buggy, but it astonishingly does work. If you want to grab a copy, go to this place here run by a nice fellow. No installer, just a zip.
If you don’t have KernelEx on your install, I have that stuff hosted on w2krepo; you’ll want usp51.zip and Windows2000-UURollup-v11-d20141130-x86-ENU (Extended Kernel).7z. I’d suggest to get them installed in that order, as UURollup messed IE stuff up for me before I did install the latter. They’re both very useful updates/patches to have, and the same sdfox7.com site has plenty of software that wouldn’t run on 2000 otherwise, such as Flash 29 (which, unfortunately, I haven’t gotten working as of yet) and a portable version of Firefox 48 (one I have not yet tried).
I had actually started on this about a week ago, got tired and then accidentally slipped into a Neopets obsession. But I still have made a bit of progress with it.
Here’s an early screenshot from the 18th, when I wrote both of the current pages on [#root#] and [#path#]:
It’s pretty much law that I use a lynx for sample images by this point.
On the 19th, I added a nifty warning, since classless.css, the light CSS framework I’m using, has some basic card stylings baked in and I tacked on some more CSS for flavor.
After a short period of inactivity that brings us to today, where I hacked on classless.css a bit to give it a more characteristic theme, and I. (Zoomed out for the screenshot.)
Only the [#path#] and [#root#] entries have been written as of right now, and it’s all still very much incomplete. I’ve yet to figure out quite where to go with it and how it should be organized, though the styling part’s almost covered, featuring that small thing with the footer I’ve been wanting to do forever with an Apple iWeb-esque silhouette to say that hey, this was made in AutoSite.
I should say, one annoying thing about writing this was getting attributes to escape properly for the input examples. Using HTML escape codes like [ for [ would have easily kept Apricot from replacing it in an HTML document, but due to how I have CommonMark set up to process Markdown files internally, what would happen is that by the time Apricot came to start replacing attributes, the Markdown parser would have (for some reason that’s beyond me) replaced the escape codes with that they represented, meaning that Apricot would treat the examples like they were actual attributes. Annoying, and there’s little I can do about it.
How I worked around it was by starting the line with HTML, which kinda bypasses the Markdown preprocessor altogether. It’s a.. little messy, but it’ll work.
My nifty setup.
All this is now up on the Github repository, so changes going forward are incremental. I added the output folder to the .gitignore so it doesn’t get messy.
Made this demo within a class period. I didn’t have FL 10 installed on this laptop, so I had to settle with the 7 trial again. This time around, I did some more complex mixing, instead of using plugins all on Master; it worked out well. You may also notice the return of PRCPiano from James Blunt is True Speedcore, as I had been aiming to do a slightly more chordy thing. Notes were quantized at a beat or so. Came out nice.
I got hooked up with a box copy of FL Studio 10, which remarkably installed on the ThinkPad with no issues. I was a little concerned it wouldn’t run, as the system requirements stated XP or Vista and not 2000, but it installed anyway. I haven’t been able to make out whether it runs any worse than 7 on the Pentium M processor (the requirements stated a Pentium 4 or greater), but it appears to be working well.
What that means is that you could expect more demos coming from me in the future. The FL Studio 7 trial version didn’t support any project saving, which means should I come back to the demos I’ve posted previously, I’d need to reconstruct it from MIDI. Which isn’t impossible, just tricky to get the same sound, as knobs and plugin settings weren’t exported.
But anything I try out going forward is definitely gonna get saved, meaning I’ll be able to work on it after the initial export.
[6:05 PM] lince euroasiático: quick gimmie a dumb name for a 140bpm track
[6:06 PM] lince euroasiático: this thingy's untitled :pensiverat:
[6:06 PM] Cammy: James Blunt is True Speedcore
[6:06 PM] lince euroasiático: on it
Another playaround with FL Studio 7. Actually quite like how this take turned out. (Note that the percussion was somewhat shoehorned in, apologies.)
Just played around with SimSynth and delay. Recorded two channels live for 3:17 with (I believe) 1/4 step quantization. For it being me stumbling around on musical typing for a few minutes, it almost sounds like music, which is pretty wack.
Postage stamps, huh? That sounds.. vaguely familiar, but I can’t pinpoint it.Probably the most effective way to delay writing an essay, if I’m honest. I didn’t intend on that being a pun I swear.
I resolved an issue that had plagued loading file icons since I first implemented it for RC1. What happened was that when you select a node it just goes to the default node icon (which is the folder icon). The way I resolved it was really as simple as loading the icon before setting the ImageKey and SelectedImageKey things instead of after.
On top of that, I also made it so new files added would get their icons loaded as well, wrapping up the implementation of the feature. I’m confident enough in it that using system icons is now the default.
Also notice that nodes in the Explorer have a hover effect like hyperlinks. In Winforms this is internally called hottracking, and while it doesn’t really do anything I think it looks nice.
Minor About box change
For the sake of having something more here, the icon in the About box is now gone. Here’s a fun comparison between it and Notepad’s:
1.0 RC2:
+ View Output in Default Browser added to editor
+ Pages and Includes can be dragged into the editor as paths from [#root#]
+ Site Tree node hover (hottracking) effect
+ Numerous system icon improvements
- Load File Icons rephrased to Use System Icons
- System icons switching to a folder icon when selected has been fixed, as well as
- Newly added files now use system icons properly
- System icons are now used by default
- Markdown [#root#] links in previews are now rendered out properly
- Start menu tile small icon fixed
- More About box tweaks
- Preview button text is now "Preview" for pages, "Debug" for templates, and "View" for include files
So, it seems that around the time I released RC1 I did a bunch of reworking with the way Apricot walks through the input page folder. I had noticed that it had started processing files multiple times in the same run. Turns out that had been a borked fix, where I slipped in an extra few lines that ended up repeating what Apricot was to do.
As you can see in this commit of when I fixed it, the mistake was running the walking process for each subfolder.. after all of the files had already been found through a recursive search (.GetFiles(pattern, SearchOption.AllDirectories)). All I had to do was comment out those three lines. It was a rookie mistake.
Unknown file types
I added unknown file extension checking to Apricot, meaning that when you do something like slip an image into the Pages folder it will throw a dialog prompt to make sure that it is indeed a page.
AutoSite Core behavior is just continuing as normal with a warning, which is also displayed in the log in the AutoSite interface if you choose to continue:
The warning nor dialog will show if the file is a dotfile (starts with .) or doesn’t have an extension. The extensions list is this, which is shared with the editor in the AutoSite interface:
txt
md
css
ts
js
html
htm
php
xml
json
csv
lass
sass
Prompt layout improvements
(Ignore the RC1, this is a development build. Next version’s probably RC2.)
The prompt that shows up when a site isn’t open has been around for the longest time, and for the longest time I haven’t been able to get aligned quite right. Now, I’d say it’s pretty alright. Additionally, a new brief description of the Attribute Map has been added when it’s empty. I’ve found it a little difficult to explain what it is to people, so hopefully that’ll aid a bit. Rather pleased with how these came out.
Editor clarifications
For a little bit, I thought of disabling the Preview button for templates, as it only previewed a skeleton of the page without any includes or Apricot support.
In the end I decided to clarify the text a bit instead, and it’s now called “Debug” for templates and just “View” for include files.
A dilemma
I’ve known about this issue with Markdown pages for a good, good while, all throughout the time I had the microblog in fact.
What happens here is that the library I use for parsing CommonMark markdown really doesn’t like spaces in paths, so it won’t render it out to an a tag. Initially, I swapped the backslashes for forwardslashes to no avail, and then I swapped spaces for %20 encoded spaces. Which, at first, appeared to work.
If local Then
newHtml = newHtml.Replace("[#root#]", (siteRoot & "\includes\").Replace(" ", "%20"))
content = content.Replace("[#root#]", (siteRoot & "\includes\").Replace(" ", "%20"))
Else
Dim root = FillString("../", CountCharacter(filename, "\"))
newHtml = newHtml.Replace("[#root#]", root)
content = content.Replace("[#root#]", root)
End If
```
The link did render out, but that URL got so encoded that it didn’t go anywhere.
The problem? The encoded spaces messed up the paths used in actual HTML tags for embedding images, stylesheets and whatnot.
I’ve still yet to resolve this, but I’m feeling what could work out is that Apricot could run some RegEx like [.*]\((.*)\) to selectively encode the spaces in the paths that are in Markdown links and images.
Hi while writing this I realized that the problem was really just that I should’ve written a proper file:/// url, cool
…And that means that four issues were closed on this very day. (Or, these two days, since it’s already tomorrow.) Time to rest easy. See you in the next one.
Posted in AutoSite February 6th, 2020 by dotcomboom
One of my more long term plans for AutoSite was to get it localized and eventually used in more languages. I’ve worked a little bit on this, and now have a system coming together.
In .NET Winforms, there’s a property you can check to generate localizable code in your project’s .resx files. All that I had needed to do to start making AutoSite translatable was to check it in each form. Now, AutoSite’s .resx files can now be edited for any string (or really, any property as I understand it) on the form.
Main.resx, open in the Windows Resource Localization Editor that comes with the Microsoft Windows SDK v6.0.
While I could do localizations all manually in the Resource Localization Editor or Visual Studio if I wanted to, it’s not the most effective workflow nor very intuitive or open for contributors. So I looked into both PoEditor and Crowdin, two options that seem to be popular in the realm of GitHub. I eventually settled on Crowdin, for its completely free tier for open source projects and ability to use machine translations or “TM”s, or translation memory gathered from other projects on the site.
Setup was straightforward and aside from some encoded images (used for the Visual Studio 2017 and Windows XP icon themes) that I needed to hide, it all showed up flawlessly, allowing me, and anyone who would want to contribute, to edit strings for just about any language under the sun.
AutoSite’s source .resx files for each form.Crowdin’s surprisingly slick translation editor. The project’s at http://crowdin.com/project/autosite at present.
I already have 100% of the controls translated through TMs, Crowdin’s machine translations and mi Español mal. What this means is that there is something I have to test with and a proof of concept. It’s not.. good tacospeak, probably by any stretch, but it’s something to test with and have open for contributions.
As for when I get to implementation, what’s next? For one, figuring out how to get these translations in the program with a way to switch between them, and additionally hopefully moving strings used for message boxes out of the source code into the .resx file so all of that could be managed from one place, not only for localization but also just in good practice: currently, all of AutoSite’s dialog messages are just in the code, like this:
If MsgBox("AutoSite will create a site in the folder located at " & path & ". Is this OK?", MsgBoxStyle.Question + MsgBoxStyle.OkCancel) = MsgBoxResult.Cancel
Exit Sub
End If
I believe moving this text into the .resx resource files will not only help with translations, but also keeping all the wording consistent and easy to update.
There’s the plan so far; expect more progress updates in the future.
The Patio has been sunset, so consider this site an archive. My LiveJournal posts additionally have been relocated here for safekeeping.
You may find me at my dcb.somnol (tech) or lince.somnol (personal) web sites, and for more spur of the moment thoughts, my profile on status.ryslig.xyz. Thanks for visiting.