"﻿Обзор простого видеоредактора для Linux – OpenShot"
Игорь Штомпель



sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EDFBD1F9


sudo apt-get install openshot


------------------------------------------------------------


"Нестандартные GUI-тулкиты. Часть 1: Знакомство с Ultimate++"
Семен Есилевский



$ sudo add-apt-repository ppa:dolik-rce/upp-nightly
$ sudo apt-get update
$ sudo apt-get install upp



#include <CtrlLib/CtrlLib.h>
GUI_APP_MAIN{
}



#include <CtrlLib/CtrlLib.h>
using namespace Upp;

class MyWindow: public TopWindow {
};

GUI_APP_MAIN {
    MyWindow w;
    w.Run();
}



class MyWindow: public TopWindow {
	public:
	MyWindow(){
		Title("Hello world!").MinimizeBox().MaximizeBox()
			.Sizeable().SetRect(0, 0, 300, 300);	
	}
};



class MyWindow: public TopWindow {
	public:
	
	EditDouble val1, val2; 	// Поля ввода для операндов
	Label l1,l2; 			// Подписи для полей ввода
	DropList operation;  		// Выпадающий список операций
	Label l3;  			// Подпись для списка
	Button compute;  		// Кнопка «вычислить»
	Label result; 			// Надпись для результата



QLabel* l1 = new Qlabel(parent); 	//Qt
Label l1;				//U++



#include <CtrlLib/CtrlLib.h>
using namespace Upp;

class MyWindow: public TopWindow {
	public:
	
	EditDouble val1, val2; 	// Поля ввода для операндов
	Label l1,l2; 			// Подписи для полей ввода
	DropList operation;  		// Выпадающий список операций
	Label l3;  			// Подпись для списка
	Button compute;  		// Кнопка «вычислить»
	Label result; 			// Надпись для результата
	
	MyWindow(){
		Title("Hello world!").MinimizeBox().MaximizeBox()
			.Sizeable().SetRect(0, 0, 300, 230);
		
		Add( l1.SetLabel("Первое число").LeftPosZ(10,STDSIZE).TopPosZ(10,30) );
		Add( val1.HSizePosZ(90, 10).TopPosZ(15, 20) );
		
		Add( l2.SetLabel("Второе число").LeftPosZ(10,STDSIZE).TopPosZ(40,30) );
		Add( val2.HSizePosZ(90, 10).TopPosZ(45, 20) );
		
		Add( l3.SetLabel("Операция").LeftPosZ(10,STDSIZE).TopPosZ(70,30) );
		Add( operation.HSizePosZ(90, 10).TopPosZ(75, 20) );
		
		Add( compute.SetLabel("Посчитать!").HSizePosZ(10, 10).TopPosZ(105, 20) );
		
		Add( result.SetLabel("Результат:").HSizePosZ(10, 10).TopPosZ(135, 20) );
	}
};

GUI_APP_MAIN {
    MyWindow w;
	w.Run();
}



operation.Add("+").Add("-").Add("*").Add("/").SetIndex(0);



------------------------------------------------------------



"QLandKarte GT как замена OziExplorer в GNU/Linux"
Александр Дроздов



$ ozi2geotiff <params>



$ wget -O ozi2geotiff.py http://ozi2geotiff.svn.sourceforge.net/viewvc/ozi2geotiff/trunk/ozi2geotiff.py?revision=HEAD



$ python ozi2geotiff.py <params>



$ ozi2geotiff -i karta.map --in-img=karta.gif -o karta.tiff



$ strings karta.img | grep 'RGN'



$ mkgmap --input-file=00000001.img ... --input-file=0000000n.img --tdbfile



#!/bin/sh

use()
{
cat << _EOF_
Use: $0 <out-dir> <1.img> ... [n.img]
_EOF_
}

if [ -z "$2" -o "$1" == "--help" ]; then
  use
  exit
fi

OUT="$1"
IMG=""

shift

cwd=`pwd`
mkdir -p "$OUT"
cd "$OUT"

echo "Work dir: `pwd`"

while [ -n "$1" ]
do
  st=`echo "$1" | grep '^/'`
  if [ -z "$st" ]; then
    in_name="$cwd/$1"
  else
    in_name="$1"
  fi

  int_name=`strings "$in_name" | grep 'RGN' | grep -v 'GARMIN' | head -1 | awk -F'RGN' '{print $1}'`
  out_name="$int_name.img"
  #

  echo "Copy '$in_name' -> '$out_name'"
  cp "$in_name" "$out_name"

  IMG="$IMG --input-file=$out_name"

  shift
done

echo "Run 'mkgmap' and prepare TDB map album"
mkgmap $IMG --tdbfile

echo "Done"



$ chmod +x img2tdb



$ img2tdb <out dir> <file1.img> ... [filen.img]



$ img2tdb /tmp/map-out *.img



$ gpsbabel -i ozi -f track.plt -o gpx -F track.gpx
$ gpsbabel -i ozi -f dots.wpt  -o gpx -F dots.gpx



$ gpsbabel --help



$ ozi2geotiff <OziExplorer file: plt, wpt> <out.gpx>

------------------------------------------------------------

