LINUX.ORG.RU

Сообщения dont

 

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

Форум — Development

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

Форум — Development

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

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


dont
()

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

Форум — Development

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

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

dont
()

rsdn.ru

Форум — Talks

Поломался?

dont
()

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

Форум — Talks

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

 

dont
()

Проблема с dhcpcd

Форум — General

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

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

Форум — Development

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

>>>

dont
()

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

Форум — Development

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

>>>

 

dont
()

[Lisp] Slime

Форум — Development

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

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

>>>

 

dont
()

pptp и dns

Форум — Desktop

Ребята, подключился я тут к свитОнлайну.
Инет у них через впн, настроил я свой 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

Форум — Talks
dont
()

ffmpeg trouble

Форум — Development

Стоит задача:
Нужно нарезать скриншотов с видеофайла, отступив от начала некоторый процент файла и от конца.
Проблема заключается в том, что при обработке 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 из аудиофайлов

Форум — Development

Мне необходимо достать теги из разного рода музыкальных файлов и запихнуть это все в юникодовскою базу.
Сейчас использую 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
()

Опять вим

Форум — General

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

>>>

dont
()

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

Форум — General

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

>>>

dont
()

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

Форум — Development

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

>>>

dont
()

[ffmpeg] AVFrame to jpeg file

Форум — Development

В общем, есть задача нарезать скриншотов с видео файла.
Все как бы получилось, но вот проблемка есть с тем, что файлы исходные нужно сохранять в 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

Форум — General

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

>>>

dont
()

omniCppComplete и IComplete

Форум — Development

Дошли наконец-то руки, настроил, работает вроде не плохо пока что.
Насколько я понял он не должен предлагать варианты сигнатуры функции и перегруженые функции.Вот кусок документации, все что он делает:
* 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

Форум — General

Настроил себе 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 подписка на новые темы