Pages

Sunday, October 15, 2017

Add folder to Aerodrums playlist with AeroTools

Aerodrums is some fine piece of software, although not cheap (because when you buy the product, you're obviously paying for the software). However it isn't the most feature rich.

Aerodrums playlist 'manager'

One thing that pisses me off is the built in player. It's so basic you can't even add folders to the playlist, instead you must add song by song, what a beginner fail!

For me that I love to jam to lots of songs, this sucks so bad, so I developed this tool.

AeroTool
AeroTool window


This is a little program that lets you add the contents of a folder to the Aerodrums playlist.

This is provided AS IS, probably no update will be made, although you can yell in the comments and I may listen.

DOWNLOAD
https://mega.nz/#!MCAiDJQS!2p0eFfaqFvGB8ZERZ5qKNEBHzEOi9k50-YGqKbe97bk

The operation is so easy, even a Dacia driver can use it. Anyway I'll give some instructions for completeness.

Instructions 

1. Browse the folder where you installed Aerodrums. Usually the default will do and you'll get 'Playlist file found' in the status bar at the bottom.
2. Browse the folder you want to add.
3. Press 'Clear Playlist' to empty you playlist or 'Add folder to Playlist' to do what the button name suggests.

Modify the playlist only when Aerodrums is closed. If you are drumming and want to change it, close the program, modify and open it again, it takes seconds.

Tell me in the comments if this helped you.


Monday, October 2, 2017

Setting up wxWidgets & wxFormBuilder for Visual Studio FOR IDIOTS, NO B$

If you're here I assume you know what wxWidgets is, so let's not waste time.

It hasn't been particularly straight forward the procedure for setting wxWidgets up with my Visual Studio 2012, so I'll tell you how to do it from the ground up until having a gui running, that you'll have made with wxFormBuilder, the easy way, for lazy morons.

1. Compiling the libraries
We'll compile the libraries for our particular version of VS, so we can make sure they work, and because the pre-compiled stuff that you can find in the internet (wxPack) is a heavy pile of  shit with unnecessary gigabytes.

- First download the Windows Installer from the wxWidgets official site http://wxwidgets.org/downloads/ Install it.
- Download and install wxFormBuilder too.
- Go to C:\Program Files (x86)\wxWidgets-3.0.3\build\msw. Obviously, the path may vary if you changed the installation folder.
- Open the right Solution file, don't get fooled with the names:


vc10 means VS2010
vc11 means VS2012
vc12 means VS2013

- Build the project in Debug mode and after completed, in Release mode.
- Done.

2. Check if you fucked something up
- Go to C:\Program Files (x86)\wxWidgets-3.0.3\samples and open the solution file called 'samples'. Let VS upgrade the project if it's made with an old version of VS.
- Right click the project 'minimal' and Debug > Start new instance.
- If it compiles OK and you can see the program window, you did fine.

3. Creating a test GUI
- Open wxFormBuilder and create a test GUI. I'm not detailing this, you need to add a new form, a layout and then it allows you to insert something like a button. 
- Save the project somewhere and generate the code by pressing the gear icon.

This is the tricky part, the following lines are damn golden.

4. Getting wxWidgets to compile in your program
- Create a new project of type 'Win32 Project'. In the second page of the wizard, under 'Additional options', check 'Empty project' and uncheck 'Security Development Lifecycle (SDL) checks'.
- Once created, open the project properties.
- In parallel, open the 'minimal' sample like in point 2, and open its properties.
- Go through the sections and copy each and every damn option that is in bold to your project properties, so both project configurations match. Obviously, options like 'Output directory' aren't meant to be changed.
- Your project should compile now when using wxWidgets in your code.

5. Using a wxFormBuilder GUI in your program
- Move the files generated by wxFormBuilder to a suitable place like your project folder.
- Add the header and the .cpp to your project.
- Use the following example code in your main.cpp (for example) to launch your GUI.

#include <wx/wx.h>
#include "gui\gui.h"


class MyApp: public wxApp {

public:

virtual bool OnInit();
virtual int OnExit() { return 0; }

};

IMPLEMENT_APP (MyApp);

 bool MyApp::OnInit() {

wxFrame* mainFrame = new MyFrame1(NULL);
mainFrame->Show(true);
SetTopWindow(mainFrame);

return true;
}

NOTE 'MyFrame1' is the default frame name if you didn't change it in wxFB.

- Now if you press play, your beloved GUI should appear.

Tell me in the comments if it worked for you.

Monday, July 31, 2017

Trimming a broken cymbal

What happens when a super cheap cymbal is treated like it is not, is portrayed in the following picture.

Don't think I hit my cymbals like an animal. This is a very cheap cymbal that came with my first drum set, it feels like aluminum/aluminium and has no brand nor anything written. It was cracked badly but no crack was too far from the edges, there was sort of a healthy area in the middle.

Since the material seemed very thin, I thought trimming the cracked area was plausible.

1. Marking the healthy zone
I used a sharpie attached to a compass to mark a cutting line. I thought I could use the existing grooves in the cymbal to avoid using they compass, but the resulted to be spiral around the center, not circular.

2. Trimming
I used a Dremel like tool with a metal cutting disc to do the job (see the pic below). This is a slow process, first I cut half of the cymbal and then the other half because the tool gets burning hot and I had to let it rest for some time. Eventually I needed 3 and a half cutting discs for the labour. It's fine, they are very cheap in Ebay.

This was the result (metal dust included):


3. Finishing
For the last step, I filed the edges although they weren't too bad. I used a file accessory for the tool, but a manual file can be used as well.
File accessory and metal cutting disc
The result after cleaning a bit:


Conclusion
I'm satisfied with the result and I will try to put this cymbal to work again.

Epilogue: About doing this with a quality cymbal
After doing this procedure, I thought about repeating if in the future I need to save a thicker, harder cymbal. My opinion is that it could be done, but definitely a lot of patience and discs would be necessary. I believe that dividing the job in several parts, allowing the tool to rest, is possible to complete a cut in a standard quality cymbal.

Thursday, July 27, 2017

Drumming gear tips for beginners

In the following paragraphs I'll be speaking about my personal advise for (poor) beginners regarding to drumming gear. If you or your son/daughter want to enter the drumming world, this may be useful.

1. At first, buy cheap and second hand
In your first steps, buy the cheapest set you can get, don't even think about buying new, go second hand.

Everyone wishes to be a drummer, but drumming isn't for everyone. The market is full of beginner sets second hand almost new from people that got them and played it for less than a month.

You really don't need more than a basic kit that sounds like crap to learn and play with your friends. Check that it has at least one cymbal besides the hi hat. Example of crappy generic brand 2º hand kit:

Photo stolen from here
This set was for sale on eBay for $143.

2. Don't upgrade your crappy drum set
Maybe you thought about adding a couple of cymbals to your set (you'd need a pair of stands too), or maybe you read that replacing the heads with quality ones you'll get a decent sound. Don't waste any money on your starter set, you will regret it. Little upgrades can cost you lots of money if put together and you'll end up with a piece of crap no matter what you do. I can't emphasize how important this is. Better save for the next point.

After practising a lot with your crappy kit (months or years) so you can play songs feeling confident then it's time for the next step.

3. Get some decent kit
At this point, you can upgrade your gear to something low-mid range (depending on your budget) that allow you to play gigs for money, record stuff or just develop your skills further. Don't buy generic brands, doesn't matter how fancy they look, trust famous ones. Second hand market is a great idea, good deals can be found. Drums and cymbals are robust instruments, they can take lots of abuse, don't be afraid of getting a 5 or 10 years old kit if rust isn't involved and the model gets good opinions.

One piece of advise, try to get rid of your old set. Maybe you can get half what you paid for it to invest later, it can be useful for other beginner and also, it won't take up space.

4. Upgrade your set to taste
Just some words here. From now on, try to get good quality upgrades that you can keep and use in future kits. For example, if buying a hi hat stand, get a strong good brand one. Don't buy disposable stuff anymore.

Hope you find this useful.

Wednesday, July 5, 2017

Marvell SDGOB-0892 Wifi card pinout

In this post I'll show you the correct pinout for the SDGOB-0892 wifi card. TIME WASTE DISCLAIMER: Be warned I eventually don't get this to work as a wifi dongle despite the pinout being right.




I found this Marvell card in an HP inkjet printer, it uses a USB 2.0, so it's possible to connect it to a PC. Seems like in the internet there are some variants with different pinouts, but not this one.

Model Number: SDGOB-0892
FCC ID: B94SDGOB0892
IC: 466D-SDGOB892




- 1 and 8: VCC 3.3 V
- 2, 5 and 7: GND 0 V
- 3: D+
- 4: Not connected
- 6: D-

After wiring, I couldn't make it work on Windows 8.1, I got unrecognised USB. In Linux it was recognised fine:



But this wasn't enough for it to work. I guess it was a driver problem. I spent hours looking for the right one with no luck and left this at this point. Hope it helps somebody.

Friday, May 26, 2017

Add CURL in Visual Studio (C++) easy, not bullshit, works

Looking for something that fixes your day because you are having a nightmare with CURL or libcurl? Tired of finding just stupid tutorials in the internet that never work or are crazy complex? Lets cut the bullshit.

I'm not telling you what CURL is now, but I'll tell you this shit is tricky to implement. I'll try to show you from the very beginning. In my case I used Visual Studio 2012, C++ and CURL 7.54.0.

To start, I'll tell you, you can't download from the official website (nor from fucking anywhere, as it seems) what really needs to implement CURL. What you get are the files for building the other files that are the good stuff. I had to build mine ones so I'll give you a link to download them, though I don't really know if these work for everyone (I presume they do). Anyway, I'll show you how to build your own ones, so jump to the implementation part if you use my stuff.


Building

This is to build the files you need to import to your project.
First, download the zip from the CURL site, get the file from the section "Source Archives".

https://curl.haxx.se/download.html

1. Extract them somewhere and go to the folder "winbuild". Copy the path to that folder.
2. Go to your programs and find "VS2012 x86 Native Tools Command Prompt" or you equivalent.
3. Run it and cd to the path to the point 1. For that, write: cd pasteHereThePath and press enter.
4. Now write the following: nmake /f Makefile.vc mode=static VC=12
5. Change the number 12 for the number of your Visual Studio version. E.g. VS 2015 then VC=15. Press enter

Now it should start the building. Wait.

In the folder where you extracted the zip file, a new folder called "builds" must have been created. Follow this paths to find the results of the build:
builds/libcurl-vc12-x86-release-static-ipv6-sspi-winssl/include here is the "curl" folder
builds/libcurl-vc12-x86-release-static-ipv6-sspi-winssl/lib here is the .lib file

6. Get the "curl" folder and the .lib file called "libcurl_a.lib". Forget every other file.

Implementing

Now that you have the folder and the .lib (I recommend moving the file into the folder), put then somewhere reasonable for your project (I assume you already created a VS project), for example in the project root folder.

To get VS to work with the new files, we must tune some options:

1. In the "Solution Explorer", right click in your project and click "Properties".
2. Go to "Configuration Properties" -> "VC++ Directories". In the fields "Include Directories" and "Library Directories" add the path to the curl folder and to the .lib respectively. If you followed my advise, the folder must be the same for both. It's also a good idea to use relative paths or macros, but now it's not time to go into details.
3. Go to  "Configuration Properties" -> "Linker" -> "Input". In the field "Additional Dependencies" add the name of the .lib file: "libcurl_a.lib"
4. Go to  "Configuration Properties" -> "C/C++" -> "Code Generation". In the field "Runtime Library"select "Multi-threaded DLL (/MD)".
5. Click OK and move on.

There you have it, after all this, you must be able to create a .cpp file and include "curl.h" without trouble. Here are examples of code, by the way: https://curl.haxx.se/libcurl/c/example.html

Tell me in the comments if this was of any help to you.