A while back, I wrote a script to do a live screencast of your desktop to a smart TV. I am planning to continue development on that in order to make it more user-friendly. I will update this post with my progress.
Many modern TVs (and set-top boxes, gaming consoles, etc.) support DLNA streaming. Suppose you have a PC that stores all your music, downloaded podcasts, video podcasts, photos, and so on. You can run some DLNA media server software on your PC and stream your entire media collection to your TV over your home network. No more carrying around USB sticks, it’s all in your home cloud.
On GNU/Linux, I am using MediaTomb as my DLNA server. It’s nothing fancy (it’s a file server, after all), and it just works.
Okay, this takes care of media files stored on your PC. But can we do more? Is it possible to stream a live capture of your desktop to the TV?
Let’s say you’re watching a Flash video in your browser, and there’s no way to download the video file. Or, you’re watching a live event being streamed via Flash or whatever. It would be kinda cool to be able to stream that to your TV via DLNA. And it’s possible—not trivial, mind you, but I’ve seen it working at least once…
To build a debug version of exactly the package that is installed in your Debian-based GNU/Linux distribution (tested on Ubuntu 10.10):
apt-get source rhythmbox
This does not require “root” access. It will simply download the source package to the current working directory.
To build the package, you might need developer libraries of dependency packages:
sudo apt-get build-dep rhythmbox
To configure the package so that it builds a debug version that does not replace the installed package, I used:
./autogen.sh --prefix=/home/devel/rhythmbox-0.13.1/install CFLAGS="-g -O0"
All that is left to do is run make:
make -j 4
make -j 4 install
I used the Hugin panorama photo stitcher and did some post-processing using GIMP. Hugin should be available in the repositories of your GNU/Linux distro, and it’s dead simple to use.
These are four pictures I took at the intersection of Grote Halstraat, Hoogstraat, and Gravenstraat in The Hague with a camera phone. I made sure that the pictures have enough overlap. (The Hugin tutorial recommends 20% to 30% overlap.)
Originally published: June 1, 2005
Table of Contents
- A Minimal Project
- Editing Automake-based Projects with KDevelop
- Adding Doxygen Support
- A More Complex Example
- Topics Not Covered
This article presents several simple Automake/Autoconf-based projects. I assume that you know what Automake, Autoconf, and
configure are, and that you know how to install a software package from sources (i.e., you know how to invoke
"configure & make & make install"). (If you don’t, you can still follow the instructions to create a very small project to play around with.) This article does not contain lengthy explanations or detailed background information. Rather, I present a few examples that (hopefully) get the ideas across.
Some of the topics for which examples are presented:
- Doxygen support
- Multiple subdirectories
- Flex/Bison support
- Libtool Convenience libraries
- KDevelop Automake Manager
Originally published: May 27, 2005
Table of Contents
- Building Manually on the Command Line
- Adding SWIG to Autoconf
- Adding SWIG to Automake
- An Example Project
In the article Python Extensions In C++ Using SWIG, I describe how to extend Python with C++ code. That article also contains instructions for building SWIG extension DLLs on Windows. This article contains instructions for using GNU Automake and Autoconf to build SWIG extensions as shared objects on GNU/Linux.