2015-10-12

Qt: Dynamic Copy File in the Thread example, requires Wraparound class


  • Wraparound class


ThreadCopyFile::ThreadCopyFile(QObject *parent) : QObject(parent)
{
    qDebug() << this << "Created";

    this->v_thread = new QThread();
    this->v_copyFile = new CopyFile();
     

    connect(v_thread,SIGNAL(started()),v_copyFile,SLOT(Copy()));
    connect(v_copyFile,SIGNAL(done()),v_thread,SLOT(quit()));
    connect(v_thread,SIGNAL(finished()),this,SLOT(finished()));

    this->v_copyFile->moveToThread(this->v_thread);
    this->v_thread->start();

}

ThreadCopyFile::~ThreadCopyFile()
{
    delete this->v_thread;
    delete this->v_copyFile;
}

public slots:


void ThreadCopyFile::finished()
{
    qDebug() << this << "Finished";
    this->~ThreadCopyFile();
    qDebug() << this << "Destroyed";
}



  • Class for actual work


CopyFile::CopyFile(QObject *parent) : QObject(parent)
{
    qDebug() << this << "Created";


}

CopyFile::~CopyFile()
{
    qDebug() << this << "Destroyed";
}


signals:


    void done();

public slots:

void CopyFile::Copy(void)
{

    QString src = "/media/data/torrent/linuxmint-17.2-mate-32bit.iso";
    QString dst = "/tmp/linuxmint-17.2-mate-32bit.iso";

    if(QFile::exists(dst))
    {

        qDebug() << "file exists";

        if(QFile::remove(dst))
        {
            qDebug() << "Files removed";
        }
        else
        {
            qDebug() << "Files  fail to remove";
        }
    }

    qDebug() << "Copy File started";

    if(QFile::copy(src,dst))
    {
        qDebug() << "Copy File finished";
    }
    else
    {
        qDebug() << "Copy File fail";
    }

    emit done();
}



UI runs on other thread, everything work nicely :)


2015-10-10

Update Linux Kernel on Mint or Ubuntu


for upgrade you need three packages, depending on you architecture:

linux-headers ... ... ... amd64.deb
linux-headers ... ... ... all.deb
linux-image   ... ... ... amd64.deb

if you use Ubuntu based Linux distro, you can pick one of these: 


for example:

$ sudo update-grub


If for some reason you want to downgrade the kernel, it loads the newest kernel by default, so just uninstall new one (three packages that I mentioned) and it will load second on the list after reboot. Make sure you have at least one kernel installed! :)




2015-10-02

GIT ANNEX on RASPBIAN JESSIE

https://github.com/tradloff/git-annex-RPi

Problem:

git-annex: error while loading shared libraries: libgnutls.so.26: cannot open shared object file: No such file or directory
fatal: 'annex' appears to be a git command, but we were not
able to execute it. Maybe git-annex is broken?

Solution:

sudo ln -s /usr/lib/arm-linux-gnueabihf/libgnutls.so /usr/lib/arm-linux-gnueabihf/libgnutls.so.26


2015-09-19

QT UI for youtube-dl








Downloads

There is some obvious things should be fix'ed, but is't usable right now... and more convenient then terminal.

 



2015-06-27

Linux Mint 17 on Laptop Acer Aspire-E5-571G PART4



  • Using Microphone

Run 
$ alsamixer 
Press F6 select sound card...  Set Mic Boost to 20 and disable Auto-Mute M (use arrow buttons)




Check audio device for capture audio from mic, by

$ cat /proc/asound/devices

  1:        : sequencer
  2: [ 0- 8]: digital audio playback
  3: [ 0- 7]: digital audio playback
  4: [ 0- 3]: digital audio playback
  5: [ 0- 0]: hardware dependent
  6: [ 0]   : control
  7: [ 1- 0]: digital audio playback
  8: [ 1- 0]: digital audio capture
  9: [ 1- 0]: hardware dependent
 10: [ 1]   : control
 33:        : timer

Try record for 20 seconds

arecord -f cd -D hw:1,0 -d 20 test.wav

It worked for me, I able to hear myself. 

Graphical "Sound Preferences" looks like not handle the device properly. To use mic with graphical apps you probably have to select the capture device manually.

  





2015-06-13

Internet connection sharing with Raspberry Pi via Ethernet

My laptop is connected to internet via WiFi and I want to connect raspberrypi via Ethernet cable. I want to be able connect to raspberrypi via ssh and I also want for raspberrypi to be able access the internet. I have basic understanding about networks. And I think this task should event easier then setup a router. Bud it is not! Unless you know exactly what to do! You can find tips with a million terminal commands... You  can study advanced networks... bridging or nat and then run dhcp server... If you running a server this is all great! On a laptop you do not need all this...


Click Edit!

Change to "Shared to other computers"



Just my local network connection information, no voodoo magic!

First time I set this up! It did not work! Solution is: RESET laptop after configuration is done!

To find out raspberrypi IP:

rolas@Aspire-E5-571G ~ $ cat /var/lib/misc/dnsmasq.leases
1434209461 b8:27:eb:75:89:01 10.42.0.79 raspberrypi ff:eb:75:89:01:00:01:00:01:1c:dd:60:6a:b8:27:eb:75:89:01


https://www.youtube.com/watch?v=ZK-JHfJqmkY