OAS Playout Development - archive
For latest Updates/News click here.
Playout Development Archive
How the product evolved.....(2006-2007)
30/12/07: Nothing too taxing this year, spent a little time sorting out some of the 64 bit arithmetic inside the OAS Audio Core. My trusty Borland compiler is getting a little long in the tooth these days and whilst it just about does everything I need it to, it's lacking someone in having support for 64bit integer data types. Signficantly more of the new audio formats I'm including support for (WMA, M4a, Flac etc.) all are returning information in 64 bit integers. Thus far I've fudged things into floating point then back again and not worried about it too much however I thought I'd try and do things a bit cleaner and had a trawl on the 'net for some 64-bit math routines (the basic add,sub, mul etc.). Nothing that forthcoming in terms of a complete library however I did find some assembler on a few newsgroups which I managed to add 'C' style code around (and put here as well). That said, I don't think Playout will ever really have to deal with audio that long as to ever exercise the upper 32 bits but you never know....(WAV64 anyone?) Happy new year anyway folks, see you all on t'other side.
18/12/07: Final part of the 3.2 release is just about complete now with the addition of some menu navigation shortcuts for the Voicetrack Segue Editor. This should hopefully speed up the prep time for these shows but I still think in future it may be necessary to improve the redraw rate of the waveforms. There are some help file updates needed but I intend to roll the first beta out over the next week - just in time for the Christmas break.
27/11/07: Still in a process of keeping busy but with non-too taxing stuff, added quite possibly one of the more pointless "features" over the weekend, a track lister to update Windows Messenger "Now Playing" feature with information from Playout. Yep it's gimicky but as Jim has pointed out - dj's love that sort of thing.
Mostly in an effort to stop moping around the house and try and get
on with things, I had another look this past weekend at the flac
codec I mentioned earlier this year - basically its yet another compressed
audio format but with the difference that it is lossless
- in essence meaning it's identical to the original CD quality unlike
MP3 et al which inherently throws data away to achieve compression.
After the usual state of being confused, un-confused then back to confused
again (documentation always seems to miss key things I find), I have
managed to integrate it into Playout's audio core. What did leap out
though, is this is the first compressed format that I noticed has a
sample size with greater precision than 16 bits (theoretical 32, currently
24). Quite why is beyond me (although I'm sure serious hi-fi enthusiasts
will put me right) and my initial versions only accepted the normal
16-bit flavour however I have come across a couple of online record
companies which offer downloads at this sort of rate (and rates
of 80khz to boot) so I've included code to handle this now... just in
25/10/07: Sizeable chunks of last weekend went into properly integrating ASIO driver support into Playout, despite a few (expected) issues down to stopping/starting the driver on the fly, that is now completed as is the new User Profiles feature (at long last). Next job on the list is re-visting the voicetrack editor - there are a couple of additional features I want to add, notably the ability to adjust a track's start cue point away from it's default plus there are a couple of comments raised by users about the time it takes to navigate around the editor. It's a difficult one that because I have to generate waveforms by decoding the MP3 data in realtime which causes a noticable pause everytime you scroll along the page - obviously the larger time view you have the longer it takes which is why I limit the minimum zoom to a 30s view. My thinking is that for the time being introduce a navigation menu which allows quick jumps to say the start/end of tracks (& segues) and postpone coming up with a more elaborate solution for a future date.
14/10/07: Managed to put in a fair few hours this weekend on two fronts - firstly the user profiles is moving along steadily, with the core interface changes in & tested I've been working on the profiles themselves. It's mostly adapting code I wrote 9 months ago but remembering what it all did is the challenging part. Secondly, the next job on the list is to make the ASIO driver integrated into Playout proper, one of the existing issues with it though is that in it's 'release' form its limited to only handling 44khz sample rates so I need some form of resampling software to bolt in. Last time I worked on it I put 'hooks' in to use the libsamplerate software which worked well for me to play with here, the only downside being it's GPL, which as I understand it (but noone outside the FSF seems totally sure it would appear....) means I'd have to release ALL the source code to Playout to use it. So after a bit of hunting around I've located an LGPL one called resample which does the trick just as well. Another job done....
25/09/07: For reasons far to complex to go into here, I found myself this past Sunday sat in a house 17 miles away waiting for paint on a front door to dry - it was planned in advance however so armed with laptop I got to spend a few hours pushing Playout forward. The good news is that the key code changes necessary to properly support the User Profiles feature are now in place and I've checked out the basic functionality of Playout. However since the changes affect nearly every aspect of Playout with regard to it's handling of playlists, categories, voicetrack programmes etc. there is still a fair degree of testing to do to ensure all is well before even starting to upgrade the actual User Profile part of the software.
14/09/07: It has been fairly quiet on the development front recently mostly due to being busy on other fronts (mostly DIY it would seem). However those nice people at Steinberg have signed their part of the ASIO license agreement so I can fully integrate ASIO support in future Playout releases. At present it remains an optional add-on however the folk at Unity101 have been using it recently as it's proving a solution to the stability problems they've been having running Playout on their M-Audio Delta 66 sound cards.
The infamous GoPlay! software has made a brief resurgence (one day I really must get round to finishing off and marketing this properly) as a beta tester told me it was crashing with the latest version of Winamp. Being a Winamp plug-in its a right pain to debug but I have duly tracked down the problem and addressed a couple of other issues which came to light so they can be rolled out again and ignored for another year.
Finally for now (and on a similar theme) I had another BBQ come party this past weekend which is always a good excuse to roll out the Playout online requests again which always proves popular. This year I tidied up the web page from the ghastly orange I used a couple of years ago but it all performed faultlessly even with Jim sticking a couple of gig of dodgy mash ups into it at the same time. More info is on the Technical page.
26/07/07: A new OAS Audio core (0.94) is now available, this reflects the version currently shipping with OAS Playout v3.1x. Mostly it adds improved error handling and detection over prior releases.
Whilst checking the link's I also noticed that Audiocoding's website (http://www.audicoding.com) has disappeared - well it's just a holding page now. The sources for FAAD/FAAC are still around on Sourceforge but there was quite a lot of useful stuff on that site so hopefully this is just a temporary thing.
22/07/07: Had some very good feedback from the folk at Unity101 who've been getting to grips with the voicetracking element within Playout. They've been using it to good effect more and more over the past few weeks and on Friday successfully automatically scheduled a programme to run for the first time - then enter automation mode on completion. Their only minor quibble really is with the segue editor - after inserting a recording the next track has to be repositioned to the end of the segue which involves several mouse 'drags' to achieve and each drag involves decoding a portion of the audio file so the whole process can take some time. It's something I was aware off and was never too happy with during the development and trial period but hopefully I can come up with some improvements during voicetracking development phase 2.
Our Image broadcast may well be the last one for a while - at least from
the home of Image
Communications, Luton where an unfortunate water related incident
has not only caused a degree of damage but also shown up the presence
of asbestos in the ceiling of Jim's fine studio conversion. For those
who've been following my updates for a few years will recall me mentioning
the progress of this over a good few years and if the verdict goes badly
the whole lot may have to be ripped out because of this. Jim's blog
has the latest....
18/06/07: Following last nights efforts, I've done a short write up on how everything went. Possibly the most frustrating thing is my soundcard drivers making a bit of a hash of the recording.
31/05/07: I've made a start (albeit a brief one) on reworking the database software interface inside the main Playout application - it's key to getting the profiles working properly and will, when it's complete be a much cleaner interface to work with. However since it comprises a good dozen routines there is plenty of scope for me to break existing functionality - hence my reluctance earlier this year to touch it and there will be a good deal of beta testing before it going into a release version. It's also really not going to enhance the product in any visible way so not the most exciting work either....
26/05/07: Week 4 of Hastings Rock is underway and it's all gone very well thus far, so much that for the first time since being involved I've not actually set foot in the pub since the broadcast started. In part this could well be down to nothing going wrong and requiring my attention but also with the ssh & VNC links, assorted scripts running to ensure the server processes keep running in place I can pretty much do everything from here. On the Playout front, one minor issue has cropped up which is really only relevant using a MySQL database instead of the usual MS-Access solution. It is possible that (in a small time window) that Playout can load a track for playback whilst at the same time someone else deletes the track from the database (using Playout Manager). During playback, this "orphaned" track can be logged, which when the logs are viewed from Playout Manager, causes the application to crash. It's principally because the MySQL tables don't support - with the Access databases the update of the log with this "invalid" track would silently fail. Whilst a bit of an oddity I don't like to rely on referential integrity rules to ensure consistency so a minor code change is needed to handle these conditions.
On slightly non-related Playout matters, I've been recording the odd show for DJs' from our internet stream, which is fed out in AAC+ - one of the new audio formats I've been most impressed with for excellant near FM quality at 32kbs - using streamripper on the Linux server "toaster". It works quite well however not than many players support "raw" AAC+ and even less dumped from an internet stream so I was looking for software to re-package it into MP4s. The Windows version of MP4Box did the trick nicely, then tried building the Linux version - after the usual tortuous build process it did actually work - but then ran out of memory during the compress and the kernel started killing of processes all over the shop, including the network connections to the studio. Not good. Combined with running dangerously close to running out of disk space think it's high time a disk upgrade was on the cards - that should also give room for more swap space on the server.
06/05/07: Last minute dash to get Hastings Rock on the air is complete, thus far 2 days in no real significant issues (on my side anyway, the sound processor lost a channel last night but that was nothing to do with me!). I was asked (several weeks back) if we could get the 'track now playing' & track history displayed on their page, a job I didn't think would be too difficult - the usual tact has been to include a frame (or iframe) object to the HTML which display the info - but those myspace people certainly know how to lock down any code which might be malicious - what's more annoying is it doesn't simply reject it but just mangles it instead. I was all ready to give up then came up with the cunning plan of getting some PHP code to generate a bitmap mage with the track details embedded in it. the word wrapping was a little tricky but it all worked out quite beautifully (mind you still had to do some MIME type fudging since myspace also scrambles anything with '.php' in it - including images. So now I have a PHP script, pretending to be a .GIF generating a .PNG image... I'm rather pleased with it.
28/04/07: There's been one minor issue with the new user profiles I bolted into Playout some time ago which I'd been meaning to address since it's really the only thing holding up the v3.1 release and this morning I thought I'd finally sort it out. Unfortunately after less than 5 minutes looking at it came across I uncovered what amounts to a fairly major flaw in the whole logic involved in maintaining the profiles. It really all stems back to the original implementation I mentioned back in February and the upshot of it means I really now do need to re-write all the code in this area. Initially I thought of a couple of possible workarounds but it'd all get even more nasty than it is now so I've decided to release Playout v3.1 (which is overdue anyway) without this functionality and work on the re-write in the next few months. A little annoying because that was to be the major update in this release but can't be helped now.
20/04/07:Aside from fighting off some flu type nasty this past week, it's been fairly active these past few weeks - firstly in getting ready for the next Hastings Rock broadcast due to start on 5th May this year, it's mostly sundry stuff making sure everything is backed up, cron jobs setup properly on the Linux server and the latest versions of Playout installed on all the machines (I had hoped to have the finished v3.1 release done by now but it's not quite there so the latest beta is being used). I did track down (hopefully!) the cause of some rather worrying disk errors the Linux server was sporadically generating whilst accessing the removable music disk - sometimes terminally with the FAT disk refusing to mount at all. I'd originally put this down to the disk being a bit iffy despite it passing a full check on a Windows PC but the same problems occuring on the other music disk suggested it was something significant. The obvious change over last year is the kernel upgrade I did recently and then whilst foraging around on the 'net came across the statement that the "old style" - which is precisely how the removable drive is wired up inside the Linux box. Turns out my newer kernel now correctly handles the m/board and enables the drive for UDMA-33 instead of the older, multi-word DMA mode.
The other thing I've been working on in the background is to add a more flexible search engine to Playout - it's something I'd always envisaged doing at some point just never quite spent the time to figure out how best to achieve it. However I've now added a new 'search mode' to the main Load dialog such that wildcard strings can be entered just to find that elusive track.... I've also been having a brief foray into the world of Windows services really to accomodate another idea I've been toying with. There's enough error recovery and redundancy in Playout now to enable it to come up and recover after a power outage or similar "brown out" however it'll normally never get that far because of the logon screen popping up and Playout not being set to run automatically on startup. So the service (it'd need to be a serivce to ensure adequate system permissions) would set the machine up to auto-logon & start Playout in the event of unexpected system crash during automation. And of course restore it after normality has been resumed....
02/04/07: We've just completed 2 weeks of back2back automation testing without any problems and a weekend of automation with the Hastings Rock system with only a couple of minor issues arising - all good news considering the issues which seem to have been cropping up recently. Most of the Hastings Rock comments I've traced down to badly set cue points - whilst the system does do auto cue setting it's not going to be 100% accurate for all tracks and it's those ones which cropped up here (also not forgetting many of these tracks were setup during the _very_ early days of Playout using a modified Access database form front end and that was far from perfect). The only real issue of significant was a noticeable pause between jingles and tracks and this appears to be down to when the system is performing a playlist query to update the track list. I think we've not really seen this one before because it's really a bit of bad timing that the refresh was _always_ occuring on a jingle completing (as opposed to a track fading out where often a delay would be masked by the fade) and the playlist being quite large AND from a slow MySQL server (MS-Access does a lot of local caching so is less noticeable). Either way I think re-ordering the code such that the update occurs AFTER kicking playback of the next track rather than before should alleviate matters.
23/03/07: For some unknown reason the old track slippage problem seemed to have reared it's ugly head in recent times - just to add to all the other annoyances which seem to be occuring right now. Trouble is, it's been a while since I've used the software in anger here and in the process have updated the sound card drivers to the Kx Project ones on my main machince so I'd been kind of ignoring it. However the appearance of it on my new laptop really just confirms it is a problem. The good news is that having spent a few hours yesterday evening staring at debug logs, looks to be fixed. Oddly enough it's been in there since day 1 but I think only really crops up on high end processors where the MP3 decode time is practically insignificant so spends more time hanging around waiting for stuff to play than actually doing anything.... Not sure why it would turn up on my desktop machine but there you go..... Please please let that be the end of it now.
19/03/07: Been a fair few busy days on the Playout front, mostly trying to track down problems raised by the folk at Unity101. Some issues look to be firmly in the "flaky hardware" camp although an issue they had with the last 1s of audio being truncated has been tracked to a change I introduced to support some of the ASIO functionality in the audio core (currently only in the 3.09 release). A slightly more quirky effect has come about in that for some reason they've been running the _same_ playlist simultaneously on two different Playout instances and contention is occuring trying to update records inside the MS-Access database ("[Microsoft][ODBC Microsoft Access Driver] Could not update; currently locked by user 'admin'") being the diagnostic message however I remain unconvinced that even despite this slightly dodgy use of the software the odds of hitting the update of the same record in the playlist is still quite remote. The web doesn't yield that much useful info on this one, the most likely seems to be this "paging" concept Access uses which can lock a range of records. A small retry loop on the update should hopefully alleviate this one.
Their biggest issue however remains in that their new machine appears to get itself into a tight (1s) loop, often requiring a complete reboot to recover and what with everything else I feel partly obliged to prove its nothing in the software. This effect is normally caused by the system being unable to keep the DirectSound buffers supplied with data however there are a couple of places in the audio core which can loop indefinately under error conditions which I've been adjusting to timeout gracefully and report a failure up to the application. I've suggested they run with an older release on another machine for a few days then maybe introduce this new release to try and track down the exact area thats causing a problem but having seen nothing like this since the early days of development there is a very strong possibility it is hardware/driver related specific to their platform (especially since the release they are using, v3.07 is the same one I ran consistently at work over a 2 week period last year without issue). In the meantime I'll put the current 'beta' through a similar round of tests over the next week.
16/03/07: The arrival of my spangly new laptop highlighted a minor anomly within Playout - that of it's screen sizing for non standard displays (most laptops these days seem to be 'widescreen' hence a resolution of 1280x800. Currently releases seem to generate a large grey area to fill the remainder of the screen, an issue I thought would be quite straightfoward to resolve.... but has resulted in me swearing for several hours at the whole logic thats in place (mostly to handle the whole 'enhanced' vs. normal modes and Windows seemingly inability to report consistent screen sizes for different machines). I've put it through a bit of a tidy up & sense check such that it should behave in a much more sensible manner for all screen sizes/font sizes - heh but I've been there before.
The other thing which has cropped up today are further "problems" at Unity101 using the latest release(s) - they seem to be having playback issues on a new machine along with spurious database update issues. I'ts an age old problem - I'm fairly confident nothing new that has gone into the software recently can cause these issues hence it's more likely to be the hardware/software combination of their environment thats at fault but it's being able to definitively prove it. One of the problems in this line of work is that people have a habit of changing more than one thing at once - having changed hardware & software then discovering it doesn't work makes it that much harder to resolve the issue.
09/03/07: It's not been a good week all round on the computer front, my trusty but aging (as in 8 years old) laptop has been slowly dying and my attempt earlier this week to take it apart to reflow the solder on the power connector has finally condemmed it, mostly through poking a screwdriver through the display flexi. A new purchase is therefore in order. I also made my annual futile check to try and get a broadband package for Hastings Rock just for the month without then having to pay excessive disconnection fees afterwards, alas though the situation remains the same as ever. On the Playout front, though I've further enhanced the failure handling & recovery of the software in automation mode following a couple of reported incidents at Unity101 - they're having PC woes right now. Possibly the only positive news is that the webcam I intend to use for Hastings Rock (see last entry) turned up today (a Logitech QuickCam express) and using the SPCA5xxx Linux driver appears to work just fine on toaster although it'll need more extensive hammering to ensure I'm confident that this is a workable solution come broadcast time.
23/02/07: I've spent a fair amount of time this past few weeks on and off attempting to upgrade the on our server machine (''). It's been running a fairly old distro of SuSE Linux (6.4) with a 2.2x kernel and whilst I've upgraded several aspects of it over the years, including newer revisions of the 2.x kernel I really need a 2.4 kernel on there to run newer software and I also want better USB support (2.2x is a bit like Win95 in that respect - later versions knew about USB but didnt make much use of it). The kernel upgrade is straightforward, its more the supporting utils which need updating which make it a little more tricky however it does look to now be working with the 2.4.32 kernel. I think the lack of support for the new features available in the kernel within the distro may well put me off doing a similar process on my main machine (from 2.4 to 2.6) but we shall see. One thing I'm now considering is, , seeing if I can get one working reliably with Linux. My existing Creative cam fails dismally with the experimental epcam driver (does one image okay then either crashes the box or does naff all else) but I've had better luck with a borrowed old Logitech camera so have ordered a new one to see if the aging P266 be up to the job....?
10/02/07: OAS Playout v3.09 is released today. This is mostly a bug fix release prior to the new v3.1 release planned in the next few months. See the for more information on the updates in this new version.
I've put in a fair amount of time this weekend into getting user
profiles working in Playout - despite a couple of false starts it
looks to be now working. On the one hand, since it lives off the back
of the existing 'filtering' capability, the changes to the core software
are minimal however on the flip side since the original 'filter' implementation
was (dare I say it) a bit of a hack anyway (and I still find the odd quirk
to this day), keeping within that implementation makes some of the internal
logic really nasty. However the thought of completly re-arranging the
logic across the whole software to give a cleaner overall solution quite
frankly scares me so it will stay as is for the time being.
27/01/07: I've made a very early start at the next significant(ish) update to Playout which will include support for user profiles. This will hopefully form the basis for Playout v3.1 which I intend to roll out in the next 3-4 months. In the meantime, Playout v3.09 is currently undergoing assorted beta testings - this has a few additions and minor bug fixes over the current production releases but I intend to hold off releasing this one unless someone finds something signficant in the current versions.
Happy new year everyone (especially those who contributed towards Playout
this past year....) . I've made my recent Id3lib unicode mods available
now on sourceforge
plus you can find a ready built binary on my PC
Software page. There are no interface changes so anything which utilises
id3lib on Win32 platforms, this should serve as a drop in replacement.
Unfortunatly with development in Id3lib practially stopped, unless this
changes in the near future an alternative will have to be saught particularly
as the newer Id3v4 tags become more prevalent. I had a quick look at Scott
the other day which looks a possible promising alternative provided a
stable Win32 port is either doable or in existence.
29/12/06: I had moderate hopes of at least starting work incorporating the next "lump" of functionality into Playout, alas it was not to be. Aside from finishing off the ASIO work (and re-grouting the bathroom) I've spent far too much time investigating (and applying fixes) to the ID3 tagging library (Id3lib) to resolve an issue raised by a Hastings Rock stalwart (thanks Nick). In essence, I've used ID3lib within Playout Manager since day one to hande the importing (& writing) of MP3 ID3v2 tags, sadly these days there is precious little ongoing development with ID3lib and we'd (re)discovered issues handling Unicode translations to/from ASCII (possibly newer versions of Winamp or something similar is now writing US/English as unicode which is why this has cropped up). Fortunatly several years back a helpful chap did some work in this arena which never made it into a new formal release, I had to spend a little time making it work for Win32 and there's now a patched version working okay with Playout Manager. Just not a great deal to show for several days messing around.....
17/12/06: As hinted at last time round, I've been delving into the ASIO SDK and it's all gone very well in as much as I've managed to "ASIO enable" OAS Playout using an optional DLL. It's all still very experimental right now (ironically, it re-introduces the 44khz/stereo format limitation for this module since I have to do all the mixing myself) but certainly looks promising as an alternative to the DirectX variant. Several things of note whilst travelling along the way, firstly the extremely useful IASIOThiscallResolver code which allowed me to carry on using my trustly Borland compiler instead of resorting to Visual studio - thanks to those guys.
Of possibly more interest to the world at large though is that in the process of equipping my Creative Labs soundblaster cards for ASIO support, I downloaded and installed the drivers - a third party alternative to the usual Creative Labs jobs. There's some very nifty tools there, including the ability to get independent playback out of the several analogue outputs instead of having them all tied together - more on my updated page. It does mean you can run Playout (even aside from the ASIO stuff) using a single SBLive card and have dual outputs from the card. About time too.
08/12/06: Another fine fine ImageFM broadcast this last Sunday gone, thanks to everyone who listened in and contributed particularly the folk from FTLFM (who let us use their server) and particularly those I forgot to plug whilst I was on air - Trev & Vanburger who also did a stint with us. You can see some entertaining photos here and Mr. Jim has also put the recordings of all the shows on the archive page. I look forward to doing it all again soon.
From a technical perspective, well I
normally do a bit of a write up but Playout performed faultlessly (using
the current v3.07 release) so there seems little point, it was definately
helped by switching to commercial sound cards instead of Jim's nice but
oh so troublesome Gadget Labs card. Instead that was relegated to performing
the relay feed from FTLFM to our cluster and suffered it's usual hiccuping
and drop outs along the way - you'll get the full experience of that if
you listen to any of the recordings. On that note, Jim mentioned to me
over the weekend that those cards do work particularly well with the ASIO
architecture model (something I've never come across before). So mostly
out of mild interest I've downloaded the SDK and may have a brief forage
into seeing if it can be supported as an extension to my OAS
Audio API, which in turn will enhance Playout a bit further.
27/11/06: We are all working feverishly towards the next ImageFM broadcast - more info on the line up this Sunday from 6pm on the official Image FM website - it's updating on a day to day basis so keep popping by. We're also simulcasting with FTLfm who are very kindly letting us use one of their servers for our streaming.
18/11/06: Quick newsflash - our next (long overdue) broadcast is happening on Sunday Decmber 3rd *sometime* in the evening - exact times forthcoming. This will be another elongated effort all from the Luton studios of Image Communications so should be a good one. With that in mind, one of the issues we bump into is that Jim has an NTL broadband connections which doesn't seem to give pre-determined download/upload rates so we've always had stability problems pushing out data at say >96kb/s so I've been playing around transcoding live Shoutcast streams. We're contemplating pushing a HQ AAC+ stream here, then re-encoding for some lower quality MP3 streams (64kb, 24kb) + the AAC+ one to give a good listener selection. It's been a bit fiddly but with a combination of Lame, a slightly modded faad decoder program and a few Linux FIFOs (those are nifty things) I've managed to successfully convert the AAC+ stream into the 2 MP3 streams.
17/10/06: OAS Playout v3.07 is now released - a very minor update really but it addresses a customer raised issue on the stopping sporadically and after more than a week of continuous automation/testing and debug logging I finally managed to replicate it here and apply a fix - which after another week of testing looks to have fixed it.
I revisited the "OAS Requester" software again this past weekend after a initially doing a trial software drop to a few people this time last year then not touching it since. Needless to say it wasn't easy to pick up again but I've incorporated a few suggestions made last year into it and chucked it back out there for further comments. After a brief pub and forum discussion it's also now called GoPlay! but this may well be subject to change in the future. I also initially ventured into the waters of using the installer system (from the people behind Winamp) to build an installer for it. Compared to the InstallShield GUI it's nowhere near as friendly being totally script based but hey it's free and if you're prepared to spend the time figuring out the basics does the job just as well.
I suppose making statements publically like: "Hopefully this
will be the baseline 'v3.0' release" is a bit like saying
"here I am, come hit me with a large plank of wood" since less
than 24hrs after rolling out that release, someone spotted what amounted
to a missing semi-colon but enough to screw up the playlist Rules. Fortunatly
it was quickly fixed but I am worried that the complexity of the package
ever growing opens up more opportunities for minor knock-on effects to
slip through the net.
06/10/06: OAS Playout v3.06 is now released - the major change is the inclusion of the new audio core which removes the 44khz/stereo file format limitation so you can throw pretty much any audio format at it now without an issue. Along with that though are a few more enhancements - I (briefly) ventured into the wonderful world of Extended MAPI whilst trying to get MS-Outlook to transparently (ie. without user prompting) send event nofitication emails via Playout. MS-Outlook is a package I hate with a passion however I've been leaving Playout running on a PC at work over this past week and the only way to get email out of the building is via an Exchange server and Outlook itself and thanks to a nice extended MAPI wrapper (or MapiEx) I managed to get something working very quickly without getting bogged down in the details of this API. There are also a few bug fixes gone in which I picked up along the way.
Hopefully this will be the baseline 'v3.0' release leaving me free for the next major piece of work which will either be back to the 'Requester' program for a bit since I've had a couple of queries and suggestions on that front or/and then onto looking at the Advert Scheduling side of things. Which since winter looms ever closer will be useful.
24/09/06: Mostly the past few weeks or so have been robustness testing the core changes introduced to Playout recently - notably the removal of the 44khz/stereo audio format limitation which I mentioned a few weeks back. As far as the core application software is concerned, despite my worries this has supported pretty much any format that's been thrown at it however a couple of minor issues with the core switching between different formats have been fixed along the way. In addition I've also been finalising a customer requested addition - the generation of some 'additional' playlist statistics and further testing of the failure detection/event notification system. All this will hopefully take the form of an updated release sometime in the next few weeks.
14/09/06: Whilst not directly Playout related, this is the closest thing I maintain as a 'blog' and considering Playout came about because of my passion for not only radio but entertaining & altogether different radio, I would be remiss in failing to mention that tommorow is Terry Garoghan's last stint hosting Juice Brighton's breakfast show. This, rather disappointingly after only a year - more here. Praise indeed be to the bald - breakfast just won't be the same.
02/09/06: It's been a long time coming but finally started looking at removing the audio format limitation of stock '44khz/stereo' which has been with us since day 1. It's proven not to be as bad as I'd feared and have managed playback of a mixture of 48/44hz files. Some further testing and verification is required to make sure there isn't scope to overrun some buffer but it looks good. The mono/stereo switch should now be fairly easy after that except with regard to the Playout Manager application - I know when I tried a prototype mono build that some of the audio processing sections (cue point editors, normalizers etc.) didn't work.
28/08/06: Raining again and this time it _is_ bank holiday weekend. I've been refining and improving Playout's ability to detect (& log) failure conditions - the two key things being loss of the disk (or network drive) holding the audio and/or the database itself. There's a fair bit already in place since the 2.5 releases but the complete stoppage of playout which occurred once overnight on Hastings Rock proved that this wasn't quite sufficient. On the back of this I've now included the ability to generate email notifications "when things go wrong" which should be invaluable for IT/support folk. And when it wasn't raining (yesterday) saw Texas play the Arundel festival - very good they were too...
13/08/06: Anyone would think it's bank holiday weekend based on the prevailing weather so taking advantage of this I've been looking at enhancing the scheduling engine used for the voicetracking software to work with normal playlists - it's not too arduous because voicetracks are in essence "enhanced" playlists anyway. One of the key advantages of this would be to enable pre-recorded programmes to be played out at a given time (interrupting automation mode as necessary then resuming it on completion) and whilst you could do this in a roundabout fashion (by converting it to a voicetrack program) this simplifies things a little.
05/08/06: I suppose it was innevitable given the complexity of the whole voicetracking software that all sorts of little bugs and problems would crop up over time despite me bashing around with it a fair bit. Fortunatly nothing really major has shown up however it has prompted me to roll out an updated release (we're up to 3.03 now) to wrap up the last set. Earlier this morning I spent a fair while looking at something deep inside the audio core which only cropped up when I played segue's from a non-networked drive - clearly some timing thing going on there, I *hate* those... Restructuring the code seems to have sorted it but I'm worried it's not caught the underlying problem.
24/07/06: A freeware/demo version of OAS Playout v3.0 is now available to trial. Since the free version does not have a back end database, this precludes trialing out the more advanced features, such as the new voicetracking engine but it does give a flavour of the package including the new enhanced display modes new in this version.
29/06/06: It's been a fairly quiet few weeks, mostly because the sun's been out and I've been busy with other stuff including being drafted into helping set up our now (infamous) 'Ronnie the Chimp Guess the Score competition' for the World Cup. To avoid getting nobbled by our company's "no use of IT for gambling" clause, we hosted it on an external web server and hot on the heels of my PHP exercises for Hastings Rock put something suitable swish together to support it. The site seems to be performing very well, unlike my performance in the competition which has been, well rubbish to be frank.
On more relevant matters, I've been spending a little time with the fairly tortuous exercise of trying to track down the few annoying-and-hard-to-replicate issues which came out of the , an activity mostly involving me sitting down with assorted print outs and trying to spot anything I missed during development. In addition, a recent customer managed to corrupt one of the config files post installation - that one remains a complete mystery however I've tracked down one or two little things which aren't quite right. Things as they say can only get better.....
27/05/06: Another RSL completed successfully and once again good positive feedback on all fronts - particularly the automated, online "over night requests" (or RoboJock as it quickly became named) where listeners can search the Playout database online and request tracks which are then automatically played out during the overnight period - a bit of a uk radio first there maybe. As usual there are a couple of technical things to go away and ponder, firstly the completly mysterious playback stoppage on the first night but never seen again since. Secondly an incident where one of the pre-recorded overnight shows abortively stopped playback, causing the next loaded track to begin - this happened a couple of times a few years back and at a guess seems to only affect large audio files (as in this being an entire hour show). I also want to enhance the scheduling engine of the main software - this was needed for voicetracking but I can see potential in applying it to normal playlists as well.
I've also been invited to nominate something for the Radio Academy's TechCon Product of the Year 2006, although having looked at the website anyone can enter so it's probably not that much of a privilige.
13/05/06: A last minute schedule change means the planned voicetracked breakfast show for Sunday won't happen, instead I spent a few hours Thursday with one of the Hastings Rock guys putting together a 2hr show which aired last night. I'm pleased (and not more than a little relieved) to say the programme executed seamlessly including entry into automation mode for overnight. This was the first airing of a Playout generated programme ever and the response from the station's committee has been very positive.
09/05/06: In between hanging doors there's been a degree of activity on the Playout front. Firstly Jim came out of the woodwork to query a slight mis-firing of segues in a voicetrack program I sent him - and what's more he was right as well. The net result was I spent a fair degree of time checking & re-checking my logic in the segue editor (which seemed to playback the segue correctly) over the weekend. Oddly enough the track over which the segues were inserted was an AAC/MP4 track so in desperation I transcoded it to MP3 - only to find the segue timing to be bang on - somewhat of a relief because the logic in that editor is a nightmare and after a moment of inspiration on Sunday night tracked it down to an assumption that effectively the AAC is running at a constant bit rate (CBR), however generally it doesn't, it's VBR and is now fixed. All this for half a second slip....
Secondly, sometime ago I mentioned a little utility I was writing to accompany Playout Manager to monitor given directories and automatically upload new or modified tracks into the database. I decided to give it a real trial by running it on one of the Hastings Rock machines so people who are doing pre-recorded shows can upload them through the website and have them automatically loaded into the system ready for playback. In general it seems to work okay, even given the limitations of the samba (Linux) shares although did uncover something of a fairly interesting bug - it kept repeatedly deciding that a file had changed and attempted to re-normalise it. Which due to another bug, resulted in the normalise level set to 0 - hence a complete lack of audio at playback time!
Finally for now, hot news that due to a lack of presenter availability (Hastings Rock again) we're going to try and put together a voicetracked programme on Thursday night for airing this coming Sunday - the breakfast slot 6-9am. So set your alarms for that one.
29/04/06: It's been a totally manic few weeks here, the least of which being the long awaited release of the new Playout version but also gearing up for this year's Hastings Rock RSL. They started today and as you'd expect are using the brand new release. More significantly this year though is that the level of interaction with the system has again gone up a notch. This year, for the first time the database is hosted on a MySQL (Linux) server replicated across the other studio & prep (Win32) machines. This has enabled us to allow key station staff to remotely access the database system via an SSH link using the exising Playout software and also open up the playout database to the world via the web for two things. This year, listeners can request tracks by searching the music database online and have them played automatically during the automation period overnight. Also the station is running an all time "Top 50" chart, listeners can again by searching the music database. The resulant Top 50 is dynamically updated in a Playout playlist ready for the final day of broadcasting.
We have unfortunatly already had one issue where the Playout system stalled overnight at about half two, I have yet to assertain the cause but will be keeping a keen eye on it over the next few days.
12/04/06: OAS Playout v3.0 is now released and available for trial/lease/purchase. Please drop us an email if you wish to take advantage of the free 1 month trial of this product. This is the first release of Playout to include VoiceTrack support and is the major enhancement to the product since the last formal release. A V3 free demo release is not yet available however since the upgrade mostly affects the Playout Manager side of things (which is not included with this version) there is little benefit in providing a new release at this time.
02/04/06: Following on from a very successful trial last weekend (see below) I _was_ planning to launch the new release this weekend however Jim very kindly got around to breaking the voicetracking editor the other day - nothing too drastic to fix but still needs doing. The only issue to come out of last weekend was that the music logging time stamps between midnight and 1am appeared to be all wrong. After a bit of research, tracked this down to a problem with the MySQL ODBC connector I'd been using, upgraded to the latest release and all seemed fine again. However in the process of sorting out the issue Jim raised, discovered the latest ("stable") driver has issues with the way I call it to attach to the database.... So it's been a bit of a frustrating time trawling round looking for answers to that. I have a solution now but if you intend to use Playout on a MySQL server you probably will run into this issue as well so drop me an email and I'll point out what to do. I've also put words to this effect on the page.
25/03/06: I tend to use the Hastings Rock broadcast as a "proving ground" for the next major release of Playout and in line with that every year have a weekend of leaving Playout in automation mode, on a private ShoutCast stream for the station's committee guys to listen to. It's useful for me for robustness testing and they also use it to fine tune the playlists for the RSL. This is the weekend I've adopted for that activity and in addition we're also proving the web based listener request system which will be used for overnights. As last year, we're streaming in the new AAC+ format however I've been trying out Winamp's new AAC DSP plugin - it's free which is rather well timed because I was _that_ close to forking out for another Opticodec license to install on a HRock machine. That also seems to be holding up nicely - thanks Jim for pointing that one out.
All this positive stuff has only slightly been tempered with a mass swearing session trying to persuade my new Playout installer to correctly select the new icons when it installs on the desktop. As it turns out it's not the installer setup but Windows corrupting it's "icon cache" - easily fixed if you know how. Is rather annoying though because odds are anyone else updating a copy will remain with the old icon set instead of my rather flashier new ones.
17/03/06: I'm still not totally convinced about my 'Text Alerts' idea despite coding it up nearly two years ago, this explains in part why I've been reluctant to release the enhanced 1280x1024 display Playout. In brief, this is where in the 1280 mode there is a scrolling message bar (ala the BBC news ticker) across the top of the display - you can see a screenshot here. Whilst it all works well and good (and can be turned off easily) I can't help feeling it's a bit gimicky and the space could be put to better use - quite what I'm not sure. Some comments would certainly be appreciated. In the meantime, I continue to put finishing touches to the V3 release and hopefully soon will put it through some extended hours of testing.
04/03/06: Testing for the V3 release continues - there are still a couple of minor annoying bugs with the voicetrack editor that I'd like to track down, both of the fatal - as in crash - variety and both only occurring obviously under a certain set of conditions that I've yet to fully assertain. I've done two voicetrack programmes, the first time both bugs cropped up - think I've fixed one of them now though - and the 2nd time neither cropped up. Jim has promised to put something together in the near future. I've also left the current release running at work this weekend in automation through Boundschecker - see if there are any nasties in that. Aside from all that, I've been tidying up the web pages for Hastings Rock's Top 50 and overnight request pages - both of which sit on the Playout database.
12/02/06: Future developments page has now been updated to reflect where things are going next especially with the imminant release of Playout V3. I'll be popping up to the studios of Image Communications in sunny Luton sometime in the next few weeks and quite possibly might spend another cheeful few hours playing with the voicetracking side of things to see if I've missed anything obvious and that it all seems robust enough. If all goes well, the roll out will be soon after.
05/02/06: An email arrived the other day via one of the stations using Playout from a listener commenting on a degree of repetitiveness of tracks occurring in their overnight service - in essence an automation service with the music generated from one of my playlist generators. It does of course boil down to random numbers... For the non-technical amongst you, random number generation on computers is fraught with, well basically maths and statistics and other things to strike the fear of glod into you plus there is loads of different ways of doing it. I'd been using the standard Borland 'C' random number generator, which I must admit I'd observed a degree of undue repetitiveness with in the past, so this morning I've been spending the joyous task of seeking out alternatives without getting bogged down in the theory of the whole thing. I've managed to find and try out a few which seem a tad better so we'll see what the station (and it's overnight listeners makes of it).
I've made a start on the next phase of enhancing the automation engine
within Playout. Principally this is to significantly enhance the intelligence
of the system to allow for the selection of tracks sensibly from the two
defined playlists (avoiding close repetitions of the same artist, track
etc.) and injecting jingles & adverts at appropriate intervals - there
will be more on this on the future developments page soon. Initially this
is to support Hastings Rock's overnight system whereby we'll be allowing
listeners to pick tracks to be played overnight whilst also maintaining
a "sustaining" list at the same time. I don't intend for it
to be in the now imminent V3 release though since I'll probably use the
broadcast period in May as a good training ground.
We now have an RSS
feed from this page so you can keep up with the latest development news
going on here - well sort of anyway. Since this page isn't quite up to
it without a chronic bit of re-jigging (it's really just an XMLised version
of the page) you'll find that the links for each entry tend to be, well
sort of randomly picked from any links in a nearby entry and the links
in the text themselves seem to have gone walkabout as well - but hey it's
not bad for free
software now is it and I may do something a bit more clever at some
point. For a good offline reader, Awasu
is pretty smart.
02/01/06: Faster than a speeding thing, the first beta for Playout v3 is released today. With any luck this should simply serve to iron out any remaining quirks. Also, in case you missed it, Jim has put the recordings of our last ImageFM trial on the website - listen, laugh (at us or with us, you decide).