chapmanworld.com

Craig Chapman, Software Consultant

A new mutlti-threading library for Delphi. (darkThreading) My regular readers may be aware that over the past two or three months, I’ve been working on building a new video game engine for Delphi. I’ve also had many other demands on my time, which has meant that I’ve not posted in a while. Today however, I got to the point in the game development project that I’m able to release another of it’s sub-components as an open source library for Delphi. I’d like to introduce you to darkThreading. Introduction Many multi-thre...

Posted by on in Programming
darkUnicode codec for Delphi Another library to drop out of my Dark Glass development project today is my unicode codec (now named darkUnicode). https://github.com/chapmanworld/darkUnicode This simple class can be used to encode and decode unicode code-points by hand (independent of RTL functions to do the same), and I’ve used it previously to create my own unicode text buffer and stream support.  It can also  be used to determine the unicode format of a text file, by calling the DecodeBOM() method in the appropriate ...
Dynamic Library Loader – My first published GitHub project! A few weeks ago, I began a live-streamed coding project to develop a game engine named DarkGlass using Delphi. When I began the project, I knew that it was possible that several useful libraries might drop out of the development process, and so I have been working to separate the concerns of each piece of the code. Today, my first “useful” code library from that project can be considered at release status. The darkDynLib library. Okay, so my opening paragraph has a couple of slight e...

Posted by on in Programming
Media file meta-data on Windows in Delphi. Here’s a little Déjà vu for regular readers of my blog. One of my customers emailed me with an interesting problem this morning. “I need to be able to peek into a video file, specifically a .mp4 file, and determine if it’s PAL or NTSC.” This seemed like a fun challenge, so I thought I’d write a helper class to solve it.. The Problem. The above excerpt is from a blog that I posted a few days ago (here), in which I was able to determine the media file attributes for an mp4 file on Android. I...
Media file meta-data on Android in Delphi. One of my customers emailed me with an interesting problem this morning. “I need to be able to peek into a video file, specifically a .mp4 file, and determine if it’s PAL or NTSC.” This seemed like a fun challenge, so I thought I’d write a helper class to solve it.. The Problem. Ultimately, what determines if an image or video conforms to PAL or NTSC is a combination of the frame rate and the image resolution. PAL has a frame rate of 25 per second, and a vertical resolut...

Posted by on in Programming
Delphi Xlib headers Back in November for CodeRage-12, I demonstrated a partial translation of the Xlib headers for X11. At that time I explained that I’d not completed the headers, but would notify on my blog when I had. Well, I’ve just done a major update to those headers for the sake of my game engine development project DarkGlass. I would still not quite call these headers complete, because there are about 12 functions that I did not translate, and several of the macros remain un-translated. I would ...

Posted by on in Programming
Delphi PodCast – Delphi Game Engines In case you missed it, here’s the Delphi podcast for Feb 27th 2018 – Delphi Game Engines (skip to about 9:30 to spare yourself the technical difficulties with the stream)...

Posted by on in Programming
Delphi PodCast – Favorite Coding Books As many of you may already be aware, I am now a regular guest on Jim McKeeth’s Delphi podcast along side David Millington. The pod-casts recently became video streamed, and have adopted a more structured “Themed Episode” format. Catch us Live on Tuesdays at noon CST. In case you missed it, here’s the Feb 19th 2018 episode on our Favorite Coding Books:  ...

Posted by on in Programming
A Birthday Present for Delphi at 23! I decided to write an app to celebrate Delphi’s 23rd birthday and valentines day. Happy Birthday my beloved Delphi! (Best Viewed Full Screen, Source and binary downloads below). http://chapmanworld.com/wp-content/uploads/Downloads/PresentApp/20180214/PresentApp.mp4 The binaries provided here are Debug builds, and should be considered an Alpha version. I intend to put release builds on the app stores as time permits. Present App and Desktop Source Code: Present Present App for Android (AP...

Posted by on in Programming
The Ultimate Developer Keyboard? I never really thought of my keyboard as an important accessory, but rather, as that essential item that you buy for the cheapest price possible and be done with. I mean, a keyboard is a keyboard right? Well, I discovered that your choice of keyboard can make a big difference, and so I wanted to share my story with you… Around six or eight months back, I had to replace a broken keyboard and so I stopped out to the local grocery store with a tech isle, and bought the cheapest keyboard I cou...

Check out more tips and tricks in this development video: