Saturday, November 09, 2024

SFXEngine Progress, Castle Park

Two full days of work on SFXEngine. I found and fixed a couple of bugs, including one that was part of Prometheus too and concerned with not liberating memory structures when a song is cleared. I can't work out why it should have caused SFXEngine to fail. Old structures should still be automatically replaced on the fly, though it is correct that these should be freed when a project is closed.

I've toyed around with a new logo. It's a pain to remake all of the Steam graphics, there are 10 to so images per product and 15 or so products, not including the new sound packs, but Steam's standards have upgraded the resolution so perhaps I'll have to do it one day anyway, and a new major version is a good reason for a new logo and icon. Here it is:

Yesterday evening I went with Linda, Yuri, and my mum, to the Castle Park Open Preview.

A highly eclectic show. Most of the work was a typical country painter's fayre of animals, landscapes, with work from complete beginners to professional artists. Only about 10% of the work was particularly imaginative or 'challenging', but a few works caught my eye. I noted that the prices were probably lower than 15 years ago when I first started exhibiting. It was nice to meet a few artist friends, and to see work by others I knew like Marc Turner and Janice Lazzarich.

I slept badly, with stomach pain and the recurring ear-ache. A productive day today, finalising SFXEngine and creating a new sound pack to be part of the new distribution. I had hoped to finish everything today, but the final filing and completion of the upgrade will extend into tomorrow. More work will be done on this in December. I'll dart to other jobs in the new week.

Thursday, November 07, 2024

Dark Times, Ty Pawb, SFXEngine Updates

An awful day in a year of hard times. My left ear is blocked and in pain, the 'fungus gnats' from my houseplant are buzzing around. I've formed a plan there of buying new compost and gravel and removing all of the soil; a fresh start. It's my worst year financially by some margin with losses in the several thousands, and my income isn't covering the outgoings for the first time in decades.

But, I'm working well artistically, and today dropped off a painting at the wonderful Tŷ Pawb gallery, and tomorrow I attend the Castle Park Open launch where I have three paintings. Artistic painting is becoming a luxury, both the supplies and more-so the time. I must aim for more joyous subjects, as all seem to be about death, murders, or other sorrows! Of course, such subjects are chosen for their emotional power. Perhaps they echo this dark year, but darkness makes the lights stronger. Musically too, I'm working better than ever.

Deborah is my light and the highlight of my year. I wish I could afford to be married immediately.

It's impossible to know whether an action or event is good or bad; we can never be sure. Anything can be good or bad depending on context and scale. For all of us, life is struggling along and then dying; so we must do our best as we struggle. We must take care of our cells. We must take care of our fellows.

After the Wrexham trip I worked on the SFXEngine upgrades and have completed the complex load and save process. Testing aside, the changes could be considered complete, but I will add a little more.

I look forward to next November. I look forward to the November in four years. The Donald Trump victory made me think that our government will face the same fate as the Democrats if they fail to deliver their promised economic growth and fail to stop illegal immigration.

Onwards we roll our Sisyphean rock.

Wednesday, November 06, 2024

SFXEngine Plugins

Well, Donald Trump's victory defied my prediction, but such are polls.

A full day of programming, updating the SFXEngine plugins. The work is taking longer than expected, and is complex and meticulous. All have been updated to a draft level. Next, back to work on the main program. The biggest job is the song loader and importer for new and old formats, and adding some temporary structures. The new version will be much more memory efficient. It will look and work identically to before.

The first job of tomorrow however is a trip to Wrexham to deliver my painting to Tŷ Pawb.

Tuesday, November 05, 2024

SFXEngine v2.00 Work

A massive amount of recoding today. SFXEngine started as a branch from Prometheus, but the latter has had 150 updates since, and many major changes over the years. Many of the innovations weren't reflected in SFXEngine. There's never been a file format change to SFXEngine, but 5 in Prometheus, each a major feature upgrade.

Now I've added the best Prometheus improvements. The double pointers, variable sample rate, and optional interpolation on a per-sample basis is one feature. Another is dynamic 'floatutility' and 'longutility' variables. Each plugin needs extra variables, some more than others. The reverbs, for example, need to keep track of delays and cycle various sine waves. In early Prometheus, and in SFXEngine until now, these were a fixed quantity of 64-per effect. The new reverbs, however may need more because now the core frequency affects all of the internal delays which used to be constant; and yet the other engines use very few. The sample players only need 1, so it's massively wasteful to have these large (empty) arrays on every engine. 12 engines per program and 12 per environment add up to large memory drain in a project of 100s of sounds.

Years ago I made these variables dynamic in Prometheus, so each effect must specify how many floats and longs it needs and the program reserves these as needed, very much like the effect buffers. Today I decided to add these to SFXEngine too. This is big coding step.

The problem with a lot of this coding is that both programs are hugely complex. It's hard to hold the whole thing in your head at once, so every change and alteration must be meticulously inspected and checked, mostly for silly accidental errors. Knowing what every change does to everything is nigh on impossible. For the most part I'm duplicating Prometheus code and hoping it will slot in. I've already found one SFXEngine bug which I'd fixed in Prometheus years ago.

There's a great advantage to working on two similar programs for this reason. Every time I upgrade SFXEngine I discover improvements to make to Prometheus, and vice versa. There's something about two that makes this error correction and enhancement property optimal. I can quite understand why DNA is a double helix, not a single line, and not a triple.

In addition to these changes, every plugin needs editing and recompiling; another meticulous and exhausting job. I've made a start on the sample players, the reverbs, and the delay effects. Those are the most complex. I have 66 to work on this week.

Meanwhile, the world is watching the American presidential election. The polls are extremely close, but I think that they are wrong and that Kamala Harris will win decisively.

Monday, November 04, 2024

The Candle Burns, 12 Fold, SFXEngine v2.00

A couple of days work on The Candle Burns, which I've played live many times since its premiere in 2019. This took a few takes, but it's mostly a piano-based piece of work, with a huge and overly complex finale, a jangle of notes in odd timing, overly romantic and not at all to time. I'm already shuddering at needing to transcribe it.

Then, yesterday, an outline of a new piece which we've not performed; Lilac 12 Fold Dodecahedron. I found this very difficult. The words are all about softness and, specifically, roundness, so the music generally follows suit. What is difficult, is coming up with new melodies and keys each time.

Today I've charged into the major SFXEngine upgrade, which will take all week. It's now running with only two test engines and no load or save capability, but the core frequency can be changed. The next step is all-new sample engines, then all-new engines, then the new load and save conversion, and finally tweaks and testing.

Friday, November 01, 2024

Filing, Castle Park Drop

A quieter day yesterday. IU filed some of the Flatspace (and Future Pool and Future Snooker music), with music codes. I also worked out the structure for a new album, and sketched a new song for it, but it will need careful consideration. At the moment it's structured into three groups of four songs. The songs a recently penned, but mostly lyrics only. I now start with lyrics, then add music.

Today, a trip to Castle Park Arts Centre to deliver the paintings for the exhibition. My last exhibition there was 2021; I mainly miss them because it's down to luck if I should see the call-out on social media. I've accidentally missed the Castle Park Open, the Stockport Open, and the Three Counties Open for this reason, and I enter Bickerton and the Grosvenor because of their email call for entries.

It was a lovely trip. We briefly met the nice artist, and always reliable and well organised - which for me (and Deb!) are the highest of compliments - Ann Bonner there. We wandered around a few shops.

Once home, I completed my monthly backups, then sprayed an old frame black, it was brown before. Black on brown works quite well; black paint should have a medium or dark coloured ground to work best, blood red works well as a primer. This is for the Scarecrow painting. Then fitted a new plug to an extension lead, the old one disintegrated!

I need to complete The Candle Burns music, and a few other Fall in Green tracks, but I keep avoiding it. Life is too short for this. I must charge into it, then will upgrade SFXEngine.

Wednesday, October 30, 2024

Music Pack 4 Progress, Future Plans

A busy day, starting with setting up the new Flatspace DLC, creating the store artwork and text etc., then building the data and testing the integration. Then filing the album. The tracks of the FSIIk Music Pack 4 are:

1. Flatspace Nocturne (01:13)
2. Cat Covid (Flatspace Mix) (01:08)
3. Widespace (02:00)
4. Excessive Consumption Has Laxative Effects (Flatspace Version) (00:55)
5. Cycles III Piano Version (02:20)
6. Riding Pi (Flatspace Version) (04:05
) 7. I Robot (Extended Version) (02:33)
8. Lost My Telephone (01:13)
9. Flatspace Cavatina (01:29)
10. Burning Meat Outdoors (Flatspace Version) (00:32)

Amazingly, this is my 85th music release. This total includes singles, re-releases, Flatspace packs like this (3 for Flatspace, 6 for Flatspace IIk), my one audiobook, and the album I've mastered for John Lindley; which is now filed under a new category of 'Mastering'.

More to come. I'd like to create 1000 albums! But my production rates may slow somewhat as now I notate all of the music. I need to do more of that for the older albums.

This afternoon, I wrote a special melody for a friend. Each day I'm writing and recording one or two new pieces of music, as frenetic as Mozart (perhaps I need to write a symphony!). My next jobs are to finish the (as yet untitled) Fall in Green album, then the major SFXEngine update; then a new album and the re-recording of an old one.

Tuesday, October 29, 2024

Flatspace Music Pack 4 Work

A busy day working on a new music pack for Flatspace IIk; Music Pack 4. It will be for sale like Music Packs 1 to 3 (some smaller packs are free, those which promote albums).

I've put together 10 tracks. Most are edits or alternative versions of existing music, as is the case for the other music packs, but I've also written and performed some new tracks for this. This pack will be exclusive to Flatspace IIk, although I'll probably use some of these tracks in a pack for the first Flatspace game at some point (users can and probably will copy one to the other anyway, I didn't want to restrict that). It's already in my mind to make the packs more different between games than packs 1-3.

New tracks include two new variations of the main Flatspace theme. These are gentle 'live' versions played on piano and mock-acoustic guitar respectively. The piano version is particularly pretty. Both of these were played and improvised in one take, so relatively simple pieces without accompaniment.

I've written two new tracks today and yesterday too. One is called Widespace and began as a series of chords similar to the main theme; A-minor and E-minor, then into F and then C. After a gentle introduction in choirs, some drums appear, which use the sounds from the main theme, and a bluesy bass-line. I played some electric piano over this, and the ending fades back into choirs. The feeling is similar to the song 'The Glass Screen' from A Walk In The Countryside.

The other tune was expanded from a 2020 sketch, a little tune made from a stabby-saw sound that was but one pattern. I expanded it, and made the bass interact with the lead. This is one thing I do now: I make each part recognise the others and react as a community. Before, my layers were blind anti-social robots, often repeating the same thing over and over without care or attention to the other parts. The melody bounces along with its bass, and some drums from the original Flatspace tune 'Cobra'. A small chorus of sorts appears as we shift chords, and the tune repeats in a new instrument, then moves up two keys, and a final snake-like lead appears. I added an arpeggio which sounded like a telephone ring, so I entitled the tune 'Lost My Telephone'. As a break before each chorus I added a little telephone fanfare of ring-modulated waves, to reinforce that theme.

The 'album' so far is about 30 mins long. Quite a lot of admin and final mastering to do, but it should be ready for the end of this year.