Ardour 4 on Debian Jessie

The Ardour project just announced version four of the digital audio workstation. Debian carries version 3, so I decided to build version 4 myself. Here is a summary from what I learned.

First of all, the Ardour people have written a building page and a list of dependencies. The do carry a set of patches towards some of the packages. These seems to be more or less small fixes, apart from the libsndfile that has a bug fix for handling BWF files.

In addition to the patches libs, the requirements list a whole range of gtk and corresponding -mm packages as well as boost, and varous codecs and such. I decided not to care too much about versions for these packages. Instead, I just took whatever I could find in Debian. The packages installed are:

  • libsndfile1-dev
  • libgnomecanvas2-dev
  • libsigc++-2.0-dev
  • libcairo2-dev
  • liblrdf0-dev
  • libfreetype6-dev
  • libboost1.55-all-dev
  • libfftw3-dev
  • libglibmm-2.4-dev
  • libcairomm-1.0-dev
  • libpangomm-1.4-dev
  • libatkmm-1.6-dev
  • libart2.0-cil-dev
  • libgnomecanvasmm-2.6-dev
  • liblo-dev
  • libraptor2-dev
  • librasqal3-dev
  • libogg-dev
  • libflac-dev
  • libvorbis-dev
  • libsamplerate0-dev
  • libaudio-dev
  • liblv2dynparam1-dev
  • libserd-dev
  • libsord-dev
  • libsratom-dev
  • liblilv-dev
  • libsuil-dev
  • librubberband-dev
  • vamp-plugin-sdk
  • libaubio-dev
  • libjack-dev
  • liblilv-dev

Then it is just a matter of configuring using waf.

./waf configure --with-backend=alsa --prefix=/wherever/you/want/it
make
./waf install

My plan is to use ALSA (i.e. not JACK) and installing libjack-dev meant that Skype got kicked out, so the system needed some love to restore the order.

apt-get autoremove
apt-get remove libjack-dev
apt-get remove libjack0
dpkg --install skype-debian_4.3.0.37-1_i386.deb
apt-get install -f

Despite this little hack, Ardour seems to work nicely and record and play back. I still need to test out some more features to see if everything is in place, but it looks hopeful.

Update! As pointed out in the comments, Debian not only carries a really old version but also version 3.

Posted in Linux | Comments closed

Saving code

As you probably know by now, Gitorious is shutting down. A lot of history sits on that site, and much of the code is no longer maintained. Browsing around, I ran into the maemo-tools that has not been touched since 2013. There are still some useful stuff there, so I decided to save it. All tool repositories has been cloned to the maemo-tools-old organization on github.

As I’m only a happy user, I would love to invite the original maintainers, or other interested developers to come work on it, so if you want an invite to the organization so that you can maintain the code, just drop me a mail at e8johan, gmail, com.

Posted in Embedded, KDE, Linux, Qt | Comments closed

foss-gbg on 3D printers

On Monday, 30/3, the foss-gbg group will meet and hack on 3D printers. Invitation in Swedish – tickets are free.

Välkomna på foss-gbg hackafton!

Vi träffas klockan 17:00 den 30/3 och lär oss om 3D-skrivare.

Vi får besök av Göran Frykberg som kör en 3dhub i Mölndal. Han kommer att snacka om printerteknologier och material. Han kommer även att visa lite bruksprodukter och visa varför 3D-skrivare är här för att stanna.

Vid åttasnåret drar vi vidare och umgås över en öl.

Pelagicore står för lokaler och bjuder på lättare tilltugg under tillställningen.

Gratis biljetter hittar ni på eventbrite . Antalet platser är begränsade, så först till kvarn gäller!

Välkomna!

Göran Frykberg, Johan Thelin och Mikael Söderberg

Posted in foss-gbg | Comments closed

Python and me

I like Python, but I’d love it if it had support for types – even if one of them was a generic duck-typed object or variant.

x = {}
k = "potential key"
v = MyValue() # Clearly not a key
 
if v in x:
  pass # Always fails silently
 

I apparently live and learn.

Update! Apparently I’m stupid while summarizing the error (always copy, never recall). I did not use k in the if statement, rather, I used v which is not a key. This is a programmer error. However, Python does not tell me so, it just does what it asks it to do, i.e. tell me if the not-a-key is a key.

Thanks to Ralk for pointing this out.

Posted in Miscellaneous | Comments closed

QmlBook Making Progress

It has been a long time since the last update of QmlBook was announced – but the project is definitely live and kicking. Jürgen has put in a lot of great work into the contents and gotten the collaborative work over on github started. To simplify the publication, the contents has been moved to github hosting, but you can still use the old qmlbook.org (and qmlbook.com) addresses to get there.

qmlbook-screenshotThe reason for the standstill on the qmlbook.org/com sites, and much of the perceived lack of progress is due to my personal time situation. Small children and family life takes time, as does my work (which is awesome and includes Qt/QML – go Pelagicore). Unfortunately, I’m a bit of an optimist, so I want to, and truly believe that I will have time to work on side projects such as this book. But the 24h/day limit sucks, so sometimes I realize that I fail to do so.

However, this is not a post where I complain over my own situation – instead – I want to thank all the contributors who keep feeding us issue tickets via github! I would also like to thank our readers – it is great to hear from you! And finally, I’d like to thank Jürgen who has put down a lot of work and kept the project moving forward.

It is not my intention to leave this project, I’m just short on time at the moment due to other awesome things in my life (kids, wife, work) – I’ll be back!

Posted in KDE, KDE 4, Qt | Comments closed

Plex and Chromecast

It seems that everyone has their little magic transcoding line for having Plex and Chromecast to play nice, as everyone runs an underpowered server that cannot do live transcoding. My line follows here:

ffmpeg -i big_buck_bunny_720p_surround.avi -c:v libx264 -profile:v high -level 4.2 -crf 18 -maxrate 10M -bufsize 16M -pix_fmt yuv420p -vf "scale=iw*sar:ih, scale='if(gt(iw,ih),min(1920,iw),-1)':'if(gt(iw,ih),-1,min(1080,ih))'" -x264opts bframes=3:cabac=1 -movflags faststart -c:a libfdk_aac -b:a 320k -ac 2 -y big_buck_bunny_720p_stereo.mp4

The key points here are:

  • h.264 for video.
  • AAC for audio, I use stereo as I don’t use the Chromecast for my 5.1 setup.
  • Name the output *.mp4 to get an mp4 container.
  • -movflags faststart to “optimize for streaming”.

There are a number of similar magic lines floating around on the web, including on the plex forum. There is no way to tell which is the original, so I’ll let everyone Google around instead of explicitly giving credit to the thread I found first.

Some comments from my side:

  • Despite the Chromecast docs claiming to support h.264 level 5, the Chromecast.xml shipped with Plex limits the level to 4.2. Beware. This cost me an evening of transcoding.
  • ffmpeg has its own expression language with
    if, gt and min. Bloody amazing. I wonder if it does email.

Also, I learned that Big Buck Bunny consists of 14315 frames…

Posted in Miscellaneous | Comments closed

Hacking in Gothenburg

I just wanted to mention that foss-gbg has started again after the summer break. If you’re in the vicinity of Gothenburg October 28, you are welcome to learn about open hardware and security. Get your free tickets from eventbrite.

Posted in foss-gbg | Comments closed

meta-kf5 usable

Finally I’ve had the time to work over the final issues in meta-kf5. Right now, I build most tier 1 and tier 2 components. I’ve packaged most functional modules and integration modules from these tiers.

When it comes to integration modules, there might be missing dependencies that need to be added – but that should not be too hard to add.

To be able to create useable cmake files, I had to employ a small hack modifying the cmake-files from KF5 before installing and packaging them. This seems to work (i.e. tier 2 builds), but there might be other sed-expressions that are needed.

Also, the autotests are not built as long at Qt5Test is left out form the build. If you would add Qt5Test, I believe that the unit tests will be included in the same package as the libs. I’ll address this as I integrate the autotests into ptest.

Summing up all of this, I’d say that the meta-kf5 layer now is usable!

That is all for now. As always, contributions are welcome! If you find a use for this, I’d be happy to add your project as a reference to the layer!

Posted in KDE, Linux, Qt, Yocto | Comments closed

meta-kf5 – almost there…

So, as of tonight, all but three tier 1 modules from kf5 are built in meta-kf5. The ones remaining are KApiDox, which does not really apply, and KConfig and Sonnet, which both needs to be part built for the native host environment, and part cross compiled. So, any Yocto hackers out there, please have a look at the issues linked to from the meta-kf5 status page.

Posted in KDE, Qt, Yocto | Comments closed

meta-kf5 progress report

The meta-kf5 Yocto  layer is coming along nicely. Most of the modules are proving to be fairly easy to integrate, much thanks to the excellent ground work in meta-qt5, including the cmake_qt5 bbclass.

My plan for the summer vacation was to do one module a day, so around 5 would be ok. Until now I’ve done 9. Only KConfig has been providing any resistance (it does not like QT_NO_SESSIONMANAGER). My current pipe for tier 1 modules has 6 more candidates in it, so hopefully I can say that I’ve done 15 modules tomorrow night.

Right now, I have only one big worry – I have no code using the packages, so it is a bit of a if-it-compiles-it-works mentality right now. This should be fixed by integrating the test cases from the KF5 modules with ptest and building a test image. This is something that I’ll have to look at further along the road.

Posted in KDE, Qt, Yocto | Comments closed
  • July 2015
    M T W T F S S
    « Apr    
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031