5/7/2017 – Prepped for Vinyl Overlay

So the white coat of Kilz is down, and I sanded it with 600 grit sandpaper.  I would have loved to wet sand it so that I didn’t have to keep switching sandpaper because it was getting gummed up, but I didn’t want to clean up the mess that would make, so I just burned through the sheets.  (Burn ’em if you got ’em).

Here are a couple of quick pictures of the current state of the playfield.

The vinyl overlay is supposed to come in on Tuesday (5/9/2017), so right now, everything is prepped and ready for that.  One of the most stressful things is trying to apply the overlay, and to get it perfectly aligned.  My wife loves when I ask her to help me with that.

I’ve been spending a lot of time working on the Pinball Framework to support the switch matrix.  I now have everything displaying in the simulator properly, but I can’t simulate switch inputs from the switch matrix yet.  Just need another couple of hours to implement and test it.

So the OPP Pinball Framework is based off Pygame.  Pygame is well, not that great, which is why better frameworks (i.e. MPF) have moved away from Pygame.  Since I’m only trying to emulate early 80s games, I think of it as good enough for me.  I would eventually like to move to MPF, but because of time constraints, I can’t do it on this project.

One of the issues with Pygame is how it deals with sounds.  It is really, really, picky.  Joe hands me most sounds as MP3 files.  I convert them using Audacity and export them as wav files.  If you export them as “WAV (Microsoft) signed 16 bit PCM”, Pygame can’t play them.  (It just makes a clicking sound).  Instead, choose to export them as “Other uncompressed files”, and make sure that the Project Rate (Hz) is set to 44100.  That will make it so the sample will play properly.

Here is a quick Pygame code to play a sound.  I use this to verify samples are working properly so I don’t have to run the whole framework.

#!/usr/bin/env python
import pygame
import time

pygame.init()

# display.set_mode is necessary for Pygame to properly initialize
pygame.display.set_mode((200,100))
pygame.mixer.init()

# Relative path from directory where program is started
soundPlyr = pygame.mixer.Sound("New/musicFile.wav")
soundPlyr.play()

# Sleep so sample will play before closing out Python program
time.sleep(5)

That is about all for today.  I currently think things are on track for being ready for Pintastic in about two months.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s