2011/07/20

All Images has been converted to PDF!

Скайнердаж оруулсан хуудсууд гэх мэт зургийн файлаар байгаа зүйлсийг pdf рүү хөрвүүлэх шаардлага урьд нь нэлээд таарч байлаа. Үүнийг шийдэхийн тулд OpenOffice-оо нээгээд зургуудаа оруулаад хуудсаа дүүртэл нь сунгаад PDF file format руу хөрвүүлэх бодол хамгийн түрүүнд орж ирэв. Гарын арван хуруунд багтах тооны хуудас бол асуудалгүй. Гэтэл хэдэн зуу, хэдэн мянган хуудсыг гараар бэлтгэнэ гэдэг үнэхээр залхуутай ажил.

Залхуугийхаа хүчээр энэ талаар Google-с хайж үзтэл ImageMagick нэртэй гайхалтай програм байдаг юм байна.

$ sudo apt-get install imagemagick

гээд суулгачихна.

$ cd <зургууд байрлаж буй хавтас>

$ convert *.jpg foo.pdf

гэвэл тухайн хавтсанд байгаа бүх jpg өргөтгөлтэй файлуудыг дарааллаар нь foo.pdf болгож нэгтгэн хөрвүүлнэ. Гайхалтай хялбар биш үү?

Зөвхөн байгаа зургуудыг нэгтгэж pdf болгохоос гадна өнгөнүүдийн элдэв тохиргоо, маск, зургийн хэмжээг шахах, элдэв эффэкт өгөх, эргүүлэх гэх мэт зурагтай холбоотой бүхий л боломжууд өгөгдсөн юм байна. Үүнийг нь

$ convert -h

командаар дэлгэрэнгүй хараарай.

2011/07/10

Ubuntu 11.04 a few problems with sound

Ubuntu 11.04 дээр зарим нэг дууны холбогдолтой програмуудын ажиллагаа асуудалтай байв.

Эхлээд Tuxguitar програмыг ажиллуулаад дууг нь тоглуулах гэтэл дуу нь огт гарахгүй байна. Элдэв ALSA драйвер, сан суулгаад нэмэр байдаггүй. Timidity гэгч midi дууны сан бүхий програмыг суулгаад

timidity -EFreverb=0 -iA -Os

командыг өгч ажиллуулж өгч орхиод tuxguitar-аа нээгээд дуу тоглуулж болж байв.
* * *

gtick хэмээх metronome багажыг ажиллуулах гэтэл

Couldn't start metronome.
Please check if specified sound device
and sample file are accessible.

гэсэн алдааны мэдээлэл гарч ирэв. Google-ээс хайж хэдэн хэдэн хэлэлцүүлгийн сэдвүүдийг нээж үзтэл preference дотроос дууныхаа төхөөрөмжийг /dev/dsp /dev/dsp1 гэх мэтээр өөр өөрөөр зааж өгвөл ажиллана гэнэ. Оролдож үзээд үр дүнгүй. /dev хавтасыг сөхөөд үзвэл dsp нэртэй ямар ч дууны төхөөрөмж алга.

Тэгтэл /dev/dsp нь OSS (Open Sound) гэгч зүйлийн хэсэг байсан ч элдэв шалтгааны улмаас линуксын сүүлийн үеийн хувилбаруудад ашиглагдахаа больжээ. Гэхдээ үүнийг padsp хэмээх багажийн тусламжтай ашиглаж болох гэнэ.

padsp gtick

командыг өгтөл ажиллаж байна. Ашгүй гэж.

2011/05/20

Add a audio track to video with VLC player

Сайн чанарын видео оптик дискүүд (DVD, BluRay) дээр кино бичлэгүүд дотроо олон тооны (хэлний сонголтоор) audio track, subtitle track-уудыг агуулж, үзэгч өөрийн таалалд нийцүүлэн тэдгээрээс сонгож үзэх боломжийг нэлээд сайн хангаж өгч байгаа. Харин түүнийг RIP-лэж авахадаа дүрс, дууг салгаж авсан тохиолдолд хамтад нь тоглуулах шаардлага гарна. Subtitle буюу хадмал орчуулгыг бараг бүхий л төрлийн media player-үүд, codec-ууд дэмждэг болсон. Гэвч audio track-г нэмж зэрэг тоглуулах гэж багагүй оролдсоны эцэст VLC player програмыг ашиглан тоглуулж үр дүнд хүрэв.


$ vlc Beauty\ And\ The\ Beast\ 1991.mkv --input-slave=Beauty\ And\ The\ Beast\ 1991.dts

Харин энэ үйлдлийг GUI орчинд шийдэж чадсан хүн байвал комэнтээр үлдээгээрэй. Мэдлэгт нэмэр болог :)

2011/04/04

getch() like function in Linux GCC/G++

#include <termios.h>
#include <unistd.h>
#include <stdio.h>

int getch(void)
{
    struct termios oldattr, newattr;
    int ch;
    tcgetattr( STDIN_FILENO, &oldattr );
    newattr = oldattr;
    newattr.c_lflag &= ~( ICANON | ECHO );
    tcsetattr( STDIN_FILENO, TCSANOW, &newattr );
    ch = getchar();
    tcsetattr( STDIN_FILENO, TCSANOW, &oldattr );
    return ch;
}

int getche(void)
{
    struct termios oldattr, newattr;
    int ch;
    tcgetattr( STDIN_FILENO, &oldattr );
    newattr = oldattr;
    newattr.c_lflag &= ~( ICANON );
    tcsetattr( STDIN_FILENO, TCSANOW, &newattr );
    ch = getchar();
    tcsetattr( STDIN_FILENO, TCSANOW, &oldattr );
    return ch;
}
int main(){
        char ch;
        ch = getche();
        printf("%c\n", ch);
return 0;
}

2011/02/05

EyeSaver v0.0.1 for linux

Компьютерийн ард удаан суудаг хүмүүс нүдээ амраалгүй хэтэрхий удаан суучих гээд байдаг талтай. Хэдий их ажилтай байсан ч цаг тутам тодорхой хугацаагаар нүдээ амрааж байх ёстойг мэргэжлийн эмч нар сануулдаг ч улайраад суусан үед тэр зааврыг жинхэнэээсээ мартана шүү дээ. Хэхэ.

Ubuntu-ийн баруун дээд буланд гардаг сануулах мэдээлэл (notification)-ийн санг ашиглаад C/C++ хэл дээр нэг жижиг аппликэйшн бичив. Энэ програмыг ашиглахын тулд

sudo apt-get install libnotify-bin


командаар notification-ы санг суулгасан байхад болно.

#include <stdlib.h>
#include <time.h>
void wait ( int seconds )
{
  clock_t endwait;
  endwait = clock () + seconds * CLOCKS_PER_SEC ;
  while (clock() < endwait) {}
}

int main ()
{
  for (;;)
  {
    system("notify-send \"Залуу нүдээ амраагаач ээ!!!\"");
    wait(60*60);
  }
  return 0;
}

Энэ кодыг хөрвүүлж, үүссэн програмаа startup applications-даа оруулаад л цаг тутам нүдээ амраахыг танд сануулна. Хэрэв өөр ямар нэгэн програм (ихэвчлэн social талын үйлчилгээ) notification message харсаар байгаад дөжирчихсөн бол яая гэхэв :P

Github дээр энэ дэндүү бичикхэн проектоо шээрлэлээ. Ийшээ ороод хамдтаа хөгжүүлцгээе.