LINUX.ORG.RU

Сообщения dont

 

std::cout вместе с std::wcout

dont@dont ~ $ cat test.cpp
#include <iostream>
int main()
{
std::cout << "Hello char" << std::endl;
std::wcout << L"Hello WCHAR" << std::endl ;
std::cout << "Hello char" << std::endl;

return 0;
}
dont@dont ~ $ g++ -o res test.cpp
dont@dont ~ $ ./res
Hello char
Hello WCHAR
Hello char
dont@dont ~ $ cat test.cpp
#include <iostream>
int main()
{
std::cout << "Hello char" << std::endl;
std::wcout << L"Hello WCHAR" << std::endl ;

return 0;
}
dont@dont ~ $ g++ -o res test.cpp
dont@dont ~ $ ./res
Hello char
Hello WCHAR
dont@dont ~ $ cat test.cpp
#include <iostream>
int main()
{
std::wcout << L"Hello WCHAR" << std::endl ;
std::cout << "Hello char" << std::endl;

return 0;
}
dont@dont ~ $ g++ -o res test.cpp
dont@dont ~ $ ./res
Hello WCHAR
dont@dont ~ $ gcc --version
gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.1)
Copyright (C) 2006 Free Software Foundation, Inc


Локаль ru_RU.utf8.
Куда в последнем примере подевался "Hello char" ?
Что это за поведение такое?

dont
()

vim template

Здравствуйте.
Подскажите пожалуйста, как к виму добавлять шаблоны текста?
Ну к примеру, я хочу добавить шаблон Description. Что-то вроде:

/**
* @file
* @brief
*
* @author
* Created
* Revision
* Company
* Copyright
*/
Либо еще какой-то шаблон. Хочу иметь возможность редактировать эти шаблоны, добавлять новые.
Где об этом можно почитать?


dont
()

SICP Упражнение 1.4

Читаю sicp, пишу на CL.
Не могу въехать, почему процедура из упражнения 1.4 не работает у меня на сбцл. Или я что-то не так понимаю?

(defun a-plus-abs-b (a b)
(if( (> b 0) + -) a b ))

dont
()

rsdn.ru

Поломался?

dont
()

[torrent] Воровство

Скачивания музыки и сериалов с торрентс.ру, лостфильс.тв и подобным им - это воровство?
Страна - Украина, если это имеет значение.

 

dont
()

Проблема с dhcpcd

Здраствуйте.
Ребята, у меня проблема, прошу вашей помощи, идеи уже закончились.
Подключен я к одному из киевских провайдеров, СвитОнлайн(Билайн уже). У них есть бесплатная локалка по дшсп и инет через впн. Начал вчера наблюдать проблемы с получением айпи адреса через дшсп:

localhost dont # dhcpcd -d eth0
Info, eth0: dhcpcd 3.0.17 starting
Info, eth0: hardware address = 00:15:c5:cd:f3:9b
Info, eth0: broadcasting for a lease
Debug, eth0: sending DHCP_DISCOVER with xid 0x7cf6cc28
Debug, eth0: waiting on select for 20 seconds
Debug, eth0: sending DHCP_DISCOVER with xid 0x7cf6cc28
Debug, eth0: waiting on select for 16 seconds
Debug, eth0: sending DHCP_DISCOVER with xid 0x7cf6cc28
Debug, eth0: sending DHCP_DISCOVER with xid 0x7cf6cc28
Debug, eth0: sending DHCP_DISCOVER with xid 0x7cf6cc28
Debug, eth0: got a packet with xid 0x7cf6cc28
Info, eth0: offered 10.25.15.178 from 10.10.10.2
Debug, eth0: sending DHCP_REQUEST with xid 0x7cf6cc28
Debug, eth0: waiting on select for 6 seconds
Debug, eth0: got a packet with xid 0x7cf6cc28
Info, eth0: got subsequent offer of 10.25.15.178, ignoring
Debug, eth0: sending DHCP_REQUEST with xid 0x7cf6cc28
Debug, eth0: waiting on select for 3 seconds
Debug, eth0: waiting on select for 1 seconds
Error, eth0: timed out
Info, eth0: exiting

На Виндовс никаких лагов не наблюдается.
Если руками прописать айпишник 10.25.15.178 и соответствующие маршруты передрать с настроек, полученых виндой, впн поднимается и всё работает. Но как-то мне не нравиться перспектива каждый раз руками прописывать, подглядывая настройки. Звонил в службу поддержки, сказали нет настроек для моей ОС, но настройку серверов перепроверят;-)

Может кто чего посоветует?

>>>

dont
()

Перевод Practical Common Lisp

http://pcl.catap.ru/doku.php?id=pcl
Поломался?

>>>

dont
()

[Slime] Подсветка синтаксиса

Очередной тупой вопрос от нуба лиспа и емакса.
Как осуществить подсветку синтаксиса для лиспа в емаксе?

>>>

 

dont
()

[Lisp] Slime

Ребята, есть ли возможность в слайм просматривать историю команд?

Не пинайте сильно, если не правильно выразился, сегодня только первый день смотрю на него. Грубо говоря, я хочу в приветствии
CL-USER>
прокручивать историю стрелками вверх и вниз.

>>>

 

dont
()

pptp и dns

Ребята, подключился я тут к свитОнлайну.
Инет у них через впн, настроил я свой pptp следующим образом
dont@localhost ~ $ cat /etc/ppp/options.pptp
lock
usepeerdns
require-pap
nobsdcomp
nodeflate
noaccomp
nopcomp
defaultroute
noipdefault
mtu 1000
mru 1000
ipcp-accept-local
ipcp-accept-remote
noauth

Ну и еще там парочка файликов с паролями и т.д., не столь важно.
Локальный интерфейс eth0 у меня через дшсп.
Локальный интерфейс на ура получает днс-сервера, а пптп клиент мой ни в какую не определяет днс серверов.
В итоге в resolv.conf'e только локальные днсы.
Как это лечиться? В какую сторону смотреть?

>>>

dont
()

googlefight

dont
()

ffmpeg trouble

Стоит задача:
Нужно нарезать скриншотов с видеофайла, отступив от начала некоторый процент файла и от конца.
Проблема заключается в том, что при обработке mpeg файлов ф-я avcodec_decode_video выдает предупреждения
[mpeg1video @ 0x2afbbda34e90]current_picture not initialized
[mpeg1video @ 0x2afbbda34e90]warning: first frame is no keyframe
и скрин получается заквадраченым.
Для avi-видео - все в порядке, никаких предупреждений. 
Размыто только себе представляю, что есть разные типы фреймов, и если находимся не на ключевом фрейме, будут такие проблемы. Но как это решить, ума не приложу. 

Вот мой код, который по теме:

    int startPercent = one->getVideoIndenBegin();
    int endPercent = one->getVideoIndenEnd();
    int screensNumber = one->getScreenShotCount();

    int64_t start_pos = m_pFormatCtx->start_time +((int)( m_pFormatCtx->duration * startPercent * 0.01) );
    int64_t end_pos   =  m_pFormatCtx->start_time + (m_pFormatCtx->duration -  (int)( m_pFormatCtx->duration*endPercent*0.01) );
    int64_t step = (end_pos - start_pos) / (screensNumber );

    int64_t target_frame = start_pos;

l1:

    if(0 > av_seek_frame(m_pFormatCtx, -1, target_frame, AVSEEK_FLAG_BACKWARD))
        one->log().error("1:Can't seek to %d frame",target_frame);

    target_frame+= step;

    avcodec_flush_buffers(m_pCodecCtx);
    while(av_read_frame(m_pFormatCtx, &m_packet) >= 0)
    {
        // Is this a packet from the video stream?
        if(m_packet.stream_index==m_videoStreamNum)
        {
            // Decode video frame
            avcodec_decode_video(m_pCodecCtx,m_pFrame,&m_frameFinished,
                m_packet.data, m_packet.size);

            // Did we get a video frame?
            if(m_frameFinished)
            {
              m_pFrameCodecCtx->qmin = m_pFrameCodecCtx->qmax = 3;
              m_pFrameCodecCtx->mb_lmin = m_pFrameCodecCtx->lmin = m_pFrameCodecCtx->qmin * FF_QP2LAMBDA;
              m_pFrameCodecCtx->mb_lmax = m_pFrameCodecCtx->lmax = m_pFrameCodecCtx->qmax * FF_QP2LAMBDA;
              m_pFrameCodecCtx->flags |= CODEC_FLAG_QSCALE;

              m_pFrame->quality = 4;
              m_pFrame->pts = i;

              int szBufferActual = avcodec_encode_video(m_pFrameCodecCtx, m_pBuf, numBytes, m_pFrame);
              if(szBufferActual < 0)
              {
                      one->log().error("avcodec_encode_video error. return value = %d",szBufferActual);
                      return -1;
              }
              if(++i <= screensNumber)
              {
                  /* Write JPEG to file */
                  if(!saveFrame(frameName,m_pBuf,szBufferActual,i))
                    return false;
                  else
                  {
                    minute++;
                    av_free_packet(&m_packet);
                    goto l1;
                  }
              }
              else
                  break;
            }
        }
        av_free_packet(&m_packet);
    }




 

>>>

dont
()

metadata из аудиофайлов

Мне необходимо достать теги из разного рода музыкальных файлов и запихнуть это все в юникодовскою базу.
Сейчас использую libextractor, но теги бывают записаны в разных кодировках, если, допустим в мп3 файле, используются одновременно ID3v2 и ID3v1 теги, получаю такие данные:

dont@localhost ~/fun/music/tik $ extract TIK_-_Oleni.mp3
format - 32 kbps, 0 hz, 11m20 stereo
resource-type - MPEG V1
mimetype - audio/mpeg
description - tik: ????? ()
artist - tik
title - ?????
artist - tik
title - Олени

Как видно, теги title и artist повторяются(первые - это ID3v1, вторые - ID3v2). Я не знаю, какой тег title и artist мне использовать. Не знаю, что из них ID3v1, а что ID3v2.
И я не знаю как определить кодировку тегов, что бы перегнать их в утф-8.

И второй вопрос. Подскажите пожалуйста, чем можно вытащить изображение из аудиофайла, те, которые иногда как обложки альбомов идут.

Язык - С, С++ 

Спасибо.

>>>

dont
()

Опять вим

Я нахожусь в хедере, в котором описан c++-класс.
Файлы тегов сгенерены. Могу ли я каким-то хитрым образом перейти на реализаци метода в cpp-файле, аналогично, как  Ctrl+]  переходит на тег в хедер?
Спасибо.

>>>

dont
()

Vim кодировка буферов

Есть консольный вим работающий в konsole.
Открыто множество буферов с текстом разнообразных либ\приложений. Комментарии в некоторых буферах написаны в утф8, в других - кои8.
Локаль утф-ная.
Необходимо для каждого буфера иметь возможность поставить определенную кодировку, не влияя на другие буфера. как это можно сделать? 
Спасибо. 

>>>

dont
()

Обработка изображений

Нужна LGPL либа для обработки изображений в разных форматах.
Нужно только делать ресайз картинки и все, чем проще либа, тем лучше, не нужно зависимостей от каких-то иксовых библиотек и тому подобного.
АПИ на Си или С++.
Спасибо.
 

>>>

dont
()

[ffmpeg] AVFrame to jpeg file

В общем, есть задача нарезать скриншотов с видео файла.
Все как бы получилось, но вот проблемка есть с тем, что файлы исходные нужно сохранять в jpeg формате,а  я добился только сохранения в ppm.
Вот мой код, после инициализации, загрузки кодека и прочей не относящейся к делу лабуды (большая часть кода на основе статьи Martin'a Böhme):
      //Фреймы
      AVFrame *pFrame;
      AVFrame *pFrameRGB;

      pFrame=avcodec_alloc_frame();
      pFrameRGB=avcodec_alloc_frame();

      int             frameFinished;
      int             numBytes;
      
      numBytes = avpicture_get_size(PIX_FMT_RGB24, pCodecCtx->width,pCodecCtx->height);
      uint8_t *buffer = new uint8_t[numBytes];

     int h = pCodecCtx->height;
     int w = pCodecCtx->width;

      // Assign appropriate parts of buffer to image planes in pFrameRGB
      avpicture_fill((AVPicture *)pFrameRGB, buffer,PIX_FMT_RGB24,pCodecCtx->width, pCodecCtx->height);

      // Read frames and save first five frames to disk

      AVPacket        packet;
      i=0;
      struct SwsContext *img_convert_ctx = NULL;

      while(av_read_frame(pFormatCtx, &packet)>=0)
      {
          // Is this a packet from the video stream?
          if(packet.stream_index==videoStream)
          {
              // Decode video frame
              avcodec_decode_video(pCodecCtx, pFrame, &frameFinished,
                  packet.data, packet.size);

              // Did we get a video frame?
              if(frameFinished)
              {
                   if(img_convert_ctx == NULL) //Создаем контекст для конвертирования
                      img_convert_ctx = sws_getContext(w, h,pCodecCtx->pix_fmt, w, h,PIX_FMT_RGB24,SWS_BICUBIC, NULL, NULL, NULL);

		    //Конвертируем	
                    sws_scale(img_convert_ctx, pFrame->data, pFrame->linesize,
                              0, h , pFrameRGB->data, pFrameRGB->linesize);
		    // Сохраняем на диск
	            if(++i<=atoi(argv[2]))
        	              SaveFrame(pFrameRGB, pCodecCtx->width, pCodecCtx->height,i);
		}
	  }
   	av_free_packet(&packet);

	}

Вот так сохраняю в файл:

void SaveFrame(AVFrame *pFrame, int width, int height, int iFrame)
 {
     FILE *pFile;
     char szFilename[32];
     int  y;

     // Open file
     sprintf(szFilename, "frame%d.ppm", iFrame);
     pFile=fopen(szFilename, "wb");
     if(pFile==NULL)
         return;

     // Write header
     fprintf(pFile, "P6\n%d %d\n255\n", width, height);

     // Write pixel data
     for(y=0; y<height; y++)
         fwrite(pFrame->data[0]+y*pFrame->linesize[0], 1, width*3, pFile);

     // Close file
     fclose(pFile);
 }


Подскажите пожалуйста, как я могу запихнуть данные, которые в pFrame->data[0] не в ppm, а в jpeg формат?  Или возможно есть другой способ? 

>>>

 

dont
()

INIT problem

Есть нотик Dell Inspiron 6400. Gentoo Linux. архитектура x86-64.
При выключении тачки, после остановки всех демонов, инит выдает гениальную фразу:
INIT: No more process on this runlevel
И все, ступор. Выключается полностью только когда нажимаешь павер. Ужасно раздражает, никак не могу понять как это побороть. Есть у кого-то какие-то предположени?

>>>

dont
()

omniCppComplete и IComplete

Дошли наконец-то руки, настроил, работает вроде не плохо пока что.
Насколько я понял он не должен предлагать варианты сигнатуры функции и перегруженые функции.Вот кусок документации, все что он делает:
* Complete namespaces, classes, structs and unions
* Complete attribute members and return type of functions
* Complete the "this" pointer
* Complete an object after a cast (C and C++ cast)
* Complete typedefs and anonymous types

Хотелось бы по-больше функционала, есть плугин еще IComplete (http://www.vim.org/scripts/script.php?script_id=1265).
Вот что это чудо умеет:

- Automatic generation of a tags file for the current source file by building a tree of included files.
- Listing members (also inherited ones) of a class
For QString s; s. only non-static members are suggested, for QString:: only static ones.
- Listing all function signatures of overloading methods
- Recognizes return values of methods.
QWidget w; w.rect().topLeft(). // Lists completions for a QPoint
- Uses the scope of the cursor position
- Recognizes, if you are inside a method-definition and completes also private or protected variables for this class. For a global scope, only public members are suggested.
- Works in both console and graphical vim
- Uses a cache system for increased spead.
- Understands namespaces
- Automatic completions after . and ->

http://stud4.tuwien.ac.at/~e0125672/icomplete/ смотрите скриншоты внизу.
Думал уже забить на омниКомплит и поставить IComplete, но тут прочитал на вимовской страничке такое:
* IMPORTANT: Last and final release of icomplete, use OmniCppComplete in future

Зачем закрывать проект, который обеспечивает больший функционал чем тот, на который предлагается переходить? Может кто-то прокомментировать, что-то я не въеду...



>>>

dont
()

mc utf-8

Настроил себе ru_RU.utf-8 на рабочей тачке -все отлично работает, только проблема с мс. Когда логинюсь под любым юзером и запускаю мс - он коряжится, сдвигаются панели и при перерисовке все выглядит ужасно просто. В меню некоторые русские буквы отображаются как 2 квадратика - вобщем полный беспредел. Внизу выдает ошибку ***err [lib/liblow.c(329)] Делаю su <другой_пользователь> все проблемы пропадают как-будто бы по заклинанию.

~ $ cat /etc/env.d/02locale LC_ALL="" LANG="ru_RU.UTF-8" LC_NUMERIC="C" LC_MESSAGES="C"

Дистрибутив - генту.

В чем может быть проблема?

>>>

dont
()

RSS подписка на новые темы