I’ve been doing odds and sods today.
- Play a list of videos on a continuous loop full screen. By using libvlc and the Java wrapper I’ve finally got a full screen player working in less than 60 lines of code which plays a list of video files.
- Write a server and test over the internet. Using just a Java server, the initial test worked which was to accept a connection and send “Hello world!” back. Now that it is running I can expand the server with all the functionality I require. This will be handling the back-end database, media and installations.
- Define a KISS (Keep It Simple Stupid) database for handling devices and media.
- Write a mobile Android app to manage the setup of devices and assigning play lists. This is going to be a big one and a lot of work and I need to be on site when setting up devices and getting them playing without glitches.
- Expand on the software for the media player so that it can update itself from the server with not only media updates, but also software updates.
- Run an outside test live over the internet and update the playlist.
- Get more experience with Blender and video creation. For the most part, I’m more than capable of producing the videos in approximately an hour for everything I need. The more I get familiar with Blender then I can add more effects to the videos which will be a bonus.
- Bully test the server. I already have someone on hand that can test the servers integrity and stability. Pen-testing the server will give me some good pointers to how to make it more secure. I’m also considering the 2 way login.
That’s the plan for the next couple of weeks. Just so long as I get some free time I can move along quite quickly with this with the exception of the bully testing and updating.
Right now, things are looking almost bullet proof. Fingers crossed.
I forgot to add the VPS (Virtual Private Server)
This is proving to be easier than I thought.
The Eclipse GWT project was setup. The parallax3D jar library added. A test AnimatedScene class with some basic geometry tests done. Spin a few of them around.
That’s me done for tonight. Got work in the morning.
I’m hoping I can load in Blender models, or even .OBJ models. If not, I’ll figure something out. Also 3D text I need.
No screeny yet cos of screen tearing.
Tonight I had a full on plan to get my own VPS (Linux based) and setup a Tomcat server ready for my WebGL personal project showcase. I’m planning on porting some old school samples from years ago from both IrrLicht and Dark Basic Pro.
So far, I’ve not made a start as the missus passed her CBT today (Motorbike Compulsory Basic Training) and she is way over excited.
VPS and Tomcat are still in progress.
I also plan on studying this WebAsm too for much faster rendering.
If it chills out tonight, which is highly unlikely, then I’ll make a start.
After faffing about with CopperCube and CopperLicht, which is fun to play around with, I’ve found it quite restricting for the type of demonstrations that I want to do. So I’ve decided to head on back to Parallax3D, bypassing the urge to play with LibGDX again.
LibGDX is good but each LibGDX project has to be a complete GWT module in itself, which means copying over all the GWT stuff again. It probably is likely that I could integrate it into a GWT project and I might try it at some point.
However, Parallax3D just appears to have everything and is a simple Jar file which is added to a GWT project.
So… It’s finding out what mesh files (hopefully wavefront OBJ’s as well) and I’ll be up and running if the weather is bad this weekend.
I also need to FTP this site as my homes Sky router isn’t working with the DNS service.
Enough of this. Time to setup a project on my lappy.
After just over 3 years of programming in Java, I still haven’t sussed out how to actually open up a basic IDE and start a simple UI project from scratch.
This I know from installing Netbeans. Which I’ve used before to create a dedicated server so that client devices can receive images created using Java AWT libraries. That was easy, create a TCP listening thread, accept connections, return renderings of bitmaps in compressed PNG format. Easy.
I’ve also created (which was a UI app) a program that sniffs the UDP broadcast of the IPTV/Digital Signage server (which I wrote), and opens up a custom web interface from the server without knowing the IP address. That was easy with the help of a couple of references from the web. It turned out to be quite a small program in the end and hardly any effort in it.
Even after Android development, writing games and even using FFMpeg to write a media player using the NDK.
I simply just wanted to write (using the accumulated knowledge of Java) a simple multi window/dialog application on my laptop. Wow… It still amazes me how I got through all the previous software developing. Maybe on an evening, I’m just not that focused. But I’m not giving in.
Java may not have the power of C, but it does have a lot that can be used as I’ve mentioned above. I’m finding it simple to handle threading and AWT bitmaps, etc. All I need now is to be able to setup up a display in a window (GL or raster, whichever is the quickest to begin with) and I’ll be happy.
Qt is simple enough for both openGL and normal UI stuff. So now I want to do the same with Java. So far without the UI stuff, I can run anything, ie server side from Java, but UI stuff I’ll just have to persevere with.
I’ll get there. Nighttime coding was something I always used to do. Going to bed when I realised the sun was poking its head up in the morning.
Yes, most definitely it has been some time since I last posted anything on my blog. That’s because this last month I have hardly had any real chill time to myself. Well, I have had some, but it never lasts for long enough.
Anyway, I’ve still been faffing about. I recently purchased CopperCube so that I could delve deeper into WebGL. Plus I’m familiar with Irrlicht, and CopperLicht makes working with 3D graphics a doddle.
I’ve also found that I can actually call myself a full-stack developer considering recent projects I’ve been working on. One project involves a C/C++ TCP/UDP server for communications, A Java TCP server to use Java AWT graphics, GWT for a web interface instead of installing software. The server does many things, too many to mention, but I’m well chuffed with it.
Setting up the server involves freshly installing Linux. Then installing Apache Tomcat. Making a few modifications to the system and then installing the software.
Device connect on the network via ethernet or wifi and will automatically detect the location of the server because of the UDP heart beat. Clever stuff really. Probably not, but all the same, it works great.
I’ve also played around with having a home TCP server which can be made use of from my mobile phone while I am out, my tablet or a PC, as well as a GWT web interface.
After playing around with all of this, there’s lot’s more I want to play with. Maybe Vaadin or similar. Move on to desktop 3D graphics again instead of openGLES 2.
I’ve also finally got myself an i7 laptop with nVidia graphics. Cheap off eBay! So I can develop on the go. That’s if the battery is good in it.
There’s other things over this last month that have tickled my fancy, but I won’t mentioned that here. Tempting though.
Hopefully this weekend I will have a long one as I’m booking Friday and Monday off because I seriously need to relax a little.
Until next time…
Yesterday I played around with a webGL engine and added it to my home hosted servers website. So it will not be available to view all the time.
Here’s a screenshot of it running in the Chrome browser:
As it say on the page, thinking of data in C++ takes some time and some mental planning. Java with its quirks, I finally think I’ve got the knack of it.
Click here: WLGfx@home to view my PCs hosted site.
If it doesn’t load up then my home PC is not switched on.
There’s still quite a bit to do to this site, especially to do with the 3D stuff. I’ve got to setup a decent scene to show off with. Some cool shaders and some decent meshes.
Just so I don’t lose or forget about it, I’ve found a very handy online openGL shader editor…
From basic shaders including texturing and lighting right up to procedural shaders and more.
All I need now is to run a sample project in Qt to test out some of these and then transfer them to GWT and Parallax. Good stuff can now be done.