I finally got around to trying to customize SageTV. I've never written any Java before so it's been slow going. I don't have any Java books, but I always "learn" by doing - I figure out enough stuff to make things work.
I started off with the xPL4Java SDK and looked at the example code. I played around with the NetBeans development environment, but I didn't really like it. After getting the samples running, I took a look at the source for the SageInfoPop SageTV Import. It was built using Eclipse IDE, so that seemed like a natural one to use since this is the first thing I wanted to modify.
After about 2 days, I've managed to get xPL running with SageInfoPop. It takes in xPL osd.basic messages, extracts the message, initiates a connection to the SageInfoPop YAC port and sends it the data to display. I really wanted to send it directly to Sage, like SageInfoPop does, but couldn't get my mind around the OOPness to make it happen.
Anyway, I'd like to continue to integrate SageTV & xPL so that I can have full 2 way control of SageTV over xPL. This was a good start.