Spotify + Alsa – (audio) Ads on Slackware

I’ve made some changes on a script I found on the internet these days to “remove” the audio ad when listening to Spotify on Linux (with the official Linux preview). The truth is, this script doesn’t remove the ad, just mute it (and all sound from Alsa on your computer), and unmutes when finished. Just it.

The original script uses PulseAudio to do the magic and let you play another song while the ad is “playing”. But as I hate PulseAudio and don’t want it installed on my system, I came with this “solution”. For me it’s working (Slackware-current 64 bits):

It requires Alsa, libnotify (for notify-send) and, of course, Spotify for Linux version 0.9.10.17.g4129e1c (you can get the latest package for Slackware x86_64 here). Basically, the script starts spotify and waits 15 seconds to check if it is running and get its status via dbus. When it detects an ad, it mutes the Alsa master channel and unmutes when the ad finishes.

I saw that Alsa create a stream for Spotify, but I can’t get this information from command line. If you have some better solution that doesn’t involves PulseAudio, send a patch or comment about it on this post ;)

KWarBots: A New Home

Finally pushed the code of my old (and unfinished) game KWarBots to my github account. Since I was not capable of importing the svn log from the old repo (shame on me), consider this as a new start.

This is just the initial import, the game is broken on the current KDE/Qt environment, so I’ll touch the code to compile soon.

The new repository URL is: https://github.com/rodrigogolive/KWarBots

FL Studio 11 running on Linux (through Wine)

And FL Studio 11 runs pretty good on a Linux machine! Just installed with Wine, and it works out-of-box, without needing to configure anything additional (well, I already had DirectX installed here, I think it’s needed to properly running FL Studio).

screen02

There are just a minor delay on the audio output, nothing that can disturb you when creating sounds. Another drawback is the impossibility to use the ASIO4ALL sound driver. So, for the final mix, I prefer to use a Windows machine and render the output sound there.

Check this simple loop, rendered from this installation:

 

Project ReTouch: First images

Welcome to my new project: ReTouch. The main idea of this project is to use a Meego device as a remote keyboard/touchpad device to control a Linux desktop over wifi or bluetooh.

For this, I’m using Qt4 (and on the future Qt5) to develop both the client and server sides of this application.

 

Main area

The client will just work on the Meego device (grabbing the gestures from a touch area and from a virtual keryboard) and send this information over a connection to the server part, who will be responsible to convert its input and perform these events on the machine.

The application running on the device (currently I’m testing on the QtCreator‘s simulator) is being developed using QtQuick (QML), as you can see on the screenshots:

 

Getting user input User touch areas

 

The server is the more complicated side, as its need to receive the client input and convert to the system signals to emulate real keyboard/mouse events. For this, I’ve done some tests using Xlib, with successful results.

By now, I’m finishing the client’s interface and starting capturing the virtual keyboard events (the touch ones are working well), and finishing projecting the basic connection protocol (its demand some security governance too).

So, stay tuned to future updates :)

ZuperMarketList: A supermarket list app

This is not just yet another market list application, this is MY market list application. Yes, my new (and first) application for Android is almost ready.

In this first version of the app, you will can:
- Create a new list;
- Delete a list;
- Create a new list importing from an existing one;
- Change an item price and quantity;
- Sort the list (A-Z, Z-A, bought items first, unbought items first).

On newer versions you will can:
- Generate a report about how much you spend on the month;
- Assign a place where you bought those items from the list;
- Use a widget to quick see a list;
- Use the application on both portrait and landscape mode (yeap, currently not supported =/)
- Compare how much you paid for an item in another buy, when buying the current list;
- Add already registered items when creating a new list;
- Use tags for the items/lists/places;
- And much more (I hope).

Wait just some more time while I finish this first version.

Take a look on the current screenshots:

App first screen Creating a new list
Sometimes, you need to delete something... An opened list ;)

My zombie Lenovo G550 and bios update problem

I (for unknown reasons) resolved to update the bios, what gave me a lot of problems when it bricked my laptop =/. So, after 4 days on research (and some hours  to do a backup, when no hope was left), I tried a last alternative, that you can follow below, with my commentaries in yellow:


Replace the BIOS.WPH file with your notebook BIOS file, extracted from Lenovo BIOS update webpage. Rename your BIOS file to BIOS.WPH. — I got v2.53

1) Create the CRISIS disk using USB flash drive
2) Make sure your notebook is power off — I also removed the battery and the AC cable
3) Plug in the CRISIS disk to your Lenovo notebook
4) Press “Fn”+”R” key
5) While holding the “Fn”+”R” key — I inserted the AC now — , press power button
6) The notebook should power on and USB stick light showing activity
7) Stop pressing “Fn”+”R” key, after you see USB stick blinking LED
8) Your notebook should automatically restart with working BIOS in 2-3 minutes. — For me, I needed to put the battery again

VERY IMPORTANT: Do not take off your battery!! It seems that before flashing, it verify AC/DC connection and battery level. If one of them is not ok, then reflash is  stopped. — Yes, I know it now

:D And now my lenovo g550 returns from the death o/

Thanks for My Digital Life forum, and you can get Wincris from this link (it contains the lenovo v2.53 bios that I used, but I recommed you to get it from the site, extract and override mine)

Off course, I do not give you a warranty that this method will work for you… just worked for me, and I’m happy by not having to call the service

Good luck!