LINUX.ORG.RU

Сообщения wingear

 

modx - как передать параметр в сниппет до начала отправки страницы?

Форум — Web-development

Сегодня впервые столкнулся с modx - необходимо отправить в браузер другой css, если клиент - мобильное устройство. Клиент нормально детектится, на адрес вида sitename/m перенаправляет. Захотел сделать сниппет, или принимающий булев параметр, или считывающий какую-нибудь глобальную переменную $mobile, и, исходя из этого, отдающий десктопный или мобильный css. Вид клиента детектится в index.php. regClientCSS пробовал, но, во-первых, не работает, а, во-вторых, нужно не добавить, а заменить css. Не пойму, как передать параметр в сниппет. Нагуглил только это, но оно должно, видимо, где-то в другом месте выполняться: http://modx-cms.ru/dokumentatsiya/dokumentacziya-evo/razrabotka/programmirovanie/modx-api/runsnippet.html

 , ,

wingear
()

Чем пожать видео для андроида?

Форум — Mobile

Для проверки программы нужно перевести видео в формат, воспроизводимый на android 2.3.7(Motorola xt720) с помощью стандартного компонента videoView. Сейчас воспроизводится только сжатое старой нокией h264 320x240. Пробовал так, пробовал в kdenlive выставлять настройки экспорта - android - черный экран без сообщений об ошибке. Не понимаю, что не так?

 

wingear
()

Не получается запустить activity ни одним из способов

Форум — Development

Сначала пробовал сделать свое действие и запускать по интенту:

private static final String OPEN_FILE = "com.syjgin.subed.OPEN_FILE";
...
Intent fopIntent = new Intent();
fopIntent.setAction(OPEN_FILE);
startActivityForResult (fopIntent, 1);    	
<activity
            android:name=".FileOpenDialog"
            android:label="@string/choose_file" 
            android:exported="true">
            <intent-filter>
                <action android:name="com.syjgin.subed.OPEN_FILE" />
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
Activity расположена в файле FileOpenDIalog.java. При попытке вызова завершалось с сообщением, что отсутствует Activity, которая может обработать такой Intent. Попробовал явно указать класс:
fopIntent.setClass(getApplicationContext(), FileOpenDialog.class);

После этого валится с «Unable to instantiate activity component info». Как будто в манифесте не объявлена Activity, но вроде бы всё правильно объявил. С чем такое м.б. связано?

 

wingear
()

Подскажите идею для приложения под андроид

Форум — Talks

Ситуация следующая: с работы уволился, но, против ожиданий, в армию, похоже, не возьмут. Денег осталось в лучшем случае на месяц, может, что-то с фрилансом выйдет, может - и наоборот. Больше месяца назад в одной наиболее адекватной местной конторе не взяли на С++, но предложили сделать законченное приложение под андроид - тогда возьмут стажером в соответствующий отдел. Попробовал сделать на libGDX давно придуманную игру, но стало ясно, что нет ничего хуже частично замаскированного openGL - похоже, я как-то не так использовал предоставляемый библиотекой класс камеры, всё искажалось, а переписать её с нуля, не отказавшись от библиотеки, по-моему, невозможно. После этого хотел сделать уведомлялку о сообщениях на лоре, но не получалось залогиниться здесь из-за того, что проверочный код сервер воспринимал как неправильный, хотя httpClient'ом отсылал, вроде бы, тоже самое, что и браузер при логине. Наконец, сегодня захотел сделать хотя бы анонимный лор-клиент, но в форме отправки сообщения тот же самый csrf, с которым, видимо, будет та же ошибка. Попробую переписать нотификатор с android HttpClient вместо default, но чую, проблема не в этом.

Что можно успеть за неделю сделать на андроид, при условии, что хотя бы 1,5 функции, но работают полностью и приложение решает какую-либо реальную задачу?

 , , will code for food

wingear
()

apache httpClient - не могу залогиниться на ЛОРе

Форум — Development

При отправке постом того же, что отправляет браузер, ругается, что «Доступ запрещен. Причина: Неправильный код защиты CSRF. Возможно сессия устарела». Сначала получаю этот csrf get-ом, потом отправляю логин, пароль и его постом. Попробовал добавить кукис с ним же, но у браузера то, что отправлено и то, что в cookies, отличается. Наверное, его надо как-то иначе получать. Не понимаю.

HttpGet getChecksum = new HttpGet("http://www.linux.org.ru/login.jsp");
BasicCookieStore cookieStore = new BasicCookieStore();
BasicHttpContext localContext = new BasicHttpContext();
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
HttpResponse response = lorClient.execute(getChecksum,localContext);
StringBuilder body = inputStreamToString(response.getEntity().getContent());
String start = "name=\"csrf\" value=\"";
String end = "\">  <label>Имя:";
String csrf = body.substring(body.lastIndexOf(start) + start.length(), body.lastIndexOf(end));
HttpPost request = new HttpPost("http://www.linux.org.ru/login.jsp");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
nameValuePairs.add(new BasicNameValuePair("nick", userName));
nameValuePairs.add(new BasicNameValuePair("passwd", password));
nameValuePairs.add(new BasicNameValuePair("csrf", csrf));
request.setEntity(new UrlEncodedFormEntity(nameValuePairs));
BasicClientCookie csrfCookie = new BasicClientCookie("CSRF_TOKEN", csrf);
cookieStore.addCookie(csrfCookie);
HttpResponse response2 = lorClient.execute(request);
Toast.makeText(this, response2.getStatusLine().toString(), Toast.LENGTH_LONG).show();

 , , ,

wingear
()

oglplus - не видятся некоторые методы и ничего не автодополняется

Форум — Development

Сначала просто не было автодополнения, но собиралось нормально. Хотя, вроде, всё, что нужно, подключил:

#ifndef APPLICATION_H
#define APPLICATION_H
#include <iostream>
#include <fstream>
#include <SDL2/SDL.h>
#define GLCOREARB_PROTOTYPES 1
#include "glcorearb.h"
#include <oglplus/all.hpp>
#include <oglplus/shader.hpp>
#include <oglplus/program.hpp>
#include <oglplus/buffer.hpp>
#include <oglplus/context.hpp>

class application
{
public:
    application(std::string appName);
    void end();
    void run();
    bool setupShaders(std::string vss, std::string fss);
    bool setupBuffers();
    std::string loadShader(std::string fileName);
private:
    SDL_Window *window;
    oglplus::Context gl;
    SDL_GLContext context;
    oglplus::VertexShader vs;
    oglplus::FragmentShader fs;
    oglplus::Program prog;
    oglplus::VertexArray arr;
    oglplus::Buffer verts[2];
};

#endif // APPLICATION_H

Но потом стало ругаться на несуществующий метод isCompiled(), хотя в документации он есть, и еще несколько аналогичных ошибок:

bool application::setupShaders(std::string vss, std::string fss)
{
    std::string vsCode = loadShader(vss);
    std::string fsCode = loadShader(fss);
    if(vsCode!="")
    {
        vs.Source(vsCode);
        vs.Compile();
        if(!vs.isCompiled())
            return false;
    }
    else
        return false;
    if(fsCode!="")
    {
        fs.Source(fsCode);
        fs.Compile();
        if(!fs.isCompiled())
            return false;
    }
    else
        return false;
    prog.AttachShader(vs);
    prog.AttachShader(fs);
    prog.Link();
    if(!prog.isLinked())
        return false;
    /*prog.Validate();
    if(!prog.isValid())
        return false;*/
    prog.Use();
}
Чую, придется не валять дурака и использовать openGL без этого фасада, каким бы удобным это ни казалось:(

 oglplus,

wingear
()

glcorearb.h - не видятся функции openGL

Форум — Development

Пытаюсь сделать окно на SDL и оставить только core profile - скачал замену gl3.h. При попытке собрать ругается, что glClear и glClearColor not declared in this scope. Библиотеки прописаны через qmake:

INCLUDEPATH += -I/usr/local/include/SDL2 -D_REENTRANT
LIBS += -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL2 -lpthread -lGL
main.cpp:
#include <iostream>
#include <SDL2/SDL.h>
#include "glcorearb.h"

using namespace std;

int main()
{
    SDL_Window *mainwindow;
    SDL_GLContext maincontext;
    if(SDL_Init(SDL_INIT_EVERYTHING) < 0)
        cout << SDL_GetError() << endl;
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
    SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
    SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 32);
    mainwindow = SDL_CreateWindow("tutorial1", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 512, 512, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN);
    if (!mainwindow)
            cout << SDL_GetError() << endl;
    maincontext = SDL_GL_CreateContext(mainwindow);
    SDL_GL_SetSwapInterval(1);
    glClearColor ( 1.0, 0.0, 0.0, 1.0 );
    glClear ( GL_COLOR_BUFFER_BIT );
    SDL_GL_SwapWindow(mainwindow);
    SDL_Delay(2000);
    SDL_GL_DeleteContext(maincontext);
    SDL_DestroyWindow(mainwindow);
    SDL_Quit();
    return 0;
}

 , ,

wingear
()

libgdx - почему-то камера искажает при вращении

Форум — Development

Сделал helloworld на сабже - камера вокруг сферы. Вроде бы всё правильно, но при вращении сфера превращается в конус, как будто камера проходит вплотную рядом - так происходит независимо от первоначального расстояния между ними. Камера со следующими параметрами:

camera = new PerspectiveCamera(fov,w,h);
	    camera.near = 0.15f;
	    camera.far = 100;
	    camera.translate(0, 30, -30);    
	    camera.lookAt(0, 0, 0);
Вращается так:
if(Gdx.input.isKeyPressed(Keys.LEFT))
			camera.rotate(new Vector3(0.0f,1.0f,0.0f), 0.2f);
		if(Gdx.input.isKeyPressed(Keys.RIGHT))
			camera.rotate(new Vector3(0.0f,1.0f,0.0f), -0.2f);
		if(Gdx.input.isKeyPressed(Keys.UP))
			camera.rotate(new Vector3(1.0f,0.0f,0.0f), 0.2f);
		if(Gdx.input.isKeyPressed(Keys.DOWN))
			camera.rotate(new Vector3(1.0f,0.0f,0.0f), -0.2f);

ЧЯДНТ?

скрин

jar

 , ,

wingear
()

Где сейчас естьTV-out?

Форум — Linux-hardware

Папе понадобилась данная функция, чтобы выводить изображение на телевизор в соседней комнате. Не нашел связной информации о наличии выдоха S-Video у новых карт AMD или Nvidia. У кого это проще настраивается в Linux(там стоит openSuse, но периодически достает тормозами, когда прихожу, думаю обратно поставить gentoo)?

 , ,

wingear
()

Как в libdgx получить последнюю ошибку шейдера?

Форум — Development

Не нашел актуального примера, как на libgdx вывести треугольник в 3d, но, вроде бы, больше ошибок не нашел. Однако при запуске валится с NullPointerException при попытке скомпилить вершинный шейдер и дальше glCreateShader отладчик не идет. Можно как-то получить последнее сообщение об ошибке аналогично GLgetProgramiv в C? Шейдеры:

uniform mat4 combined;
attribute vec4 pos1;
void main()
{
  gl_Position = pos1 * combined;
}
 void main()
 {
  gl_FragColor = vec4(1.0,0.0,0.0,1.0); 
 }
Сам код(переделал из дефолтного проекта):
package com.syjgin.spacecheckers;

import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.PerspectiveCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.Texture.TextureFilter;
import com.badlogic.gdx.math.Vector3;
import com.badlogic.gdx.graphics.Mesh;
import com.badlogic.gdx.graphics.glutils.ShaderProgram;
import com.badlogic.gdx.graphics.VertexAttribute;

public class Spacecheckers implements ApplicationListener {
  private PerspectiveCamera camera;
  private Texture texture;
  private Mesh sphere;
  private ShaderProgram ourCheckers;
  @Override
  public void create() {    
    float w = Gdx.graphics.getWidth();
    float h = Gdx.graphics.getHeight();
    float fov = 0.45f;
    Vector3 pos = new Vector3(0.0f,2.0f,-2.0f);
    camera = new PerspectiveCamera(fov,w,h);
    camera.lookAt(0, 0, 0);
    camera.translate(pos);
    ourCheckers = new ShaderProgram(Gdx.files.internal("data/vertex.glsl"),Gdx.files.internal("data/fragment.glsl"));
    sphere = new Mesh(true,3,3,VertexAttribute.Position());
    sphere.setVertices(new float[]
        {-0.5f, -0.5f, 0.0f,
        0.5f, -0.5f, 0.0f,
        0.5f, 0.5f, 0.0f});
    sphere.setIndices(new short[] {0, 1, 2});
    Gdx.gl.glClearColor(1, 1, 1, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
  }

  @Override
  public void dispose() {
    ourCheckers.dispose();
    sphere.dispose();
    texture.dispose();
  }

  @Override
  public void render() {    
    ourCheckers.begin();
    ourCheckers.setUniformMatrix("combined", camera.combined);
    sphere.render(ourCheckers, GL20.GL_TRIANGLES);
    ourCheckers.end();
    
  }

  @Override
  public void resize(int width, int height) {
  }

  @Override
  public void pause() {
  }

  @Override
  public void resume() {
  }
}

 , , ,

wingear
()

Fedora не готова для десктопа

Форум — Talks

Маме на работу, где нет сети, нужно было поставить ОС, безопасную для проверок. На субботнем SFD раздавали dvd-болванки с Fedora Remix 17. Решил поставить эксперимент: сможет ли не продвинутый пользователь установить систему на чистый компьютер? Почти сразу она позвонила, испугавшись сообщения об ошибке поиска флоппи-дисковода в консоли. Несмотря на то, что в меню «Language» выбрали «Russian», половина установщика была на английском. Несмотря на то, что диск был чистым(хотя это с её слов), установщик несколько раз предупреждал, что все данные будут удалены. После настроек клавиатуры и времени было предложено выбрать репозитории, но, увидев, что сети нет, установка завершилась с сообщением о невозможности продолжения. Есть некоторая вероятность, что в настройках было что-то не так, вечером посмотрю - системник принесут домой. Но, скорее всего, надо было не лениться и записать на болванку Ubuntu.

 , ,

wingear
()

Motorola xt 720 - чем прошить?

Форум — Mobile

Стоковая прошивка устарела, cyanogen периодически перезагружается на ровном месте и гасит экран после звонка наглухо. Сборка miui не запустилась. Есть еще мод fjfalcona,но он, кажется, заброшен.

 , ,

wingear
()

Если в onsubmit есть хоть что-нибудь, кроме return false, форма отправляется без ajax

Форум — Web-development

Есть hostCMS, которая лично мне не нравится, но необходимо как-то переделать форму для отправки комментариев. Т.к. jquery все равно уже подключено, попробовал подключить плагин для форм.

Сначала делал, как в их руководстве:

$('#addCommentAjaxForm').ajaxForm(function() { 
                alert("test"); 
            }); 

Но ничего не происходило, хотя селектор работал. Поставил в форму onsubmit=«doAjaxSubmit()»

function doAjaxSubmit()
{
var options = { 
    target:     '.comment:last', 
    url:        '.', 
    success:    function() { 
alert("added");
    } 
}; 
 $("#addCommentAjaxForm").ajaxSubmit(options);
return false;
};
При этом функция в success выполняется, но после этого происходит обычный submit. Он происходит, даже если закомментировать ajaxSubmit и вообще в любом случае, кроме onsubmit=«return false». В последнем случае не сабмитится вообще никак

 ,

wingear
()

На фига я перешел на linux?

Форум — Talks

Уведомил работодателя, что хочу уволиться: в октябре в военкомат, а там, независимо от результата, в этом городе держать больше не будет ничего. Обновил когда-то просто так заведенный аккаунт на free-lance.ru, хотел что-то добавить в портфолио, но понял, что лучше ничего, чем то, что есть. Поискал по словам вроде gamedev, стало обидно: в основном требуются флешеры и художники. При этом, до того, как снес винду, как раз занимался action script'ом и рисовал в тогда еще макромедиевской проге. На первых порах было желание сделать на Qt хоть какой-нибудь аналог редактора .fla, но это явно от неадекватной оценки возможностей. Похоже, найти что-то, связанное с плюсами нереально. Вообще все жестко завязано на винду. Это печально

 , ,

wingear
()

Вышел PixelLight 1.0.0

Новости — Игры
Группа Игры

Вчера был представлен релиз кроссплатформенного фреймворка для разработки 3D-приложений PixelLight.

PixelLight может применяться для разработки любого типа приложений, работающих с трехмерной графикой, таких как игры, интерактивные симуляторы или визуализации. Включает в себя гибкую систему графа сцены, позволяющую скомпоновать и визуализировать почти любую трехмерную сцену.

Написан на С++. Основными его достоинствами являются гибкость и расширяемость. Это не только 3D-движок, но еще и законченный фреймворк, позволяющий объединить всё, что необходимо разработчику, не беспокоясь о наличии и версиях внешних библиотек («всё свое ношу с собой»), API или используемой операционной системе. Нижележащие особенности систем и библиотек скрыты за мощной системой компонентов, которая существенно упрощает создание приложений для различных платформ. Этот набор компонентов может применяться для таких аспектов приложения, как рендеринг, звук, физика, сеть, скриптинг и так далее.

( читать дальше... )

Сайт проекта

Linux SDK

Исходный код

>>> Подробности

 , , ,

wingear
()

Библиотека для управления версиями программ изнутри - никто не пробовал такое сделать?

Форум — Talks

Сейчас у большинства свободных программ процесс их обновления никак не оговаривается разработчиком - на сайте выкладываются архивы новых версий, загрузку данных из которых к конечному пользователю организуют мантейнеры пакетов дистрибутивов. М.б. кто-то пытался создать открытую библиотеку(что-нибудь вроде демона, следящего за обновлением), которая позволяла бы приложению унифицированным способом обновляться изнутри(или откатиться на предыдущую и прочие стандартные операции), а не использовать для этого написанные независимо внешние системы вроде пакетных менеджеров? Кажется, это могло бы стать началом конца зоопарка дистрибутивов

wingear
()

С чего начать изучать SEO-оптимизацию?

Форум — Talks

В пятницу повторилось то, что происходило на прошлой работе - директор, видя, что я «ничего не делаю», решил нагрузить дополнительной функцией - за продвижение нашего сайта в поисковиках некая фирма ежемесячно берет достаточно нехилую сумму, теперь это хотят передать мне. Всё равно скоро буду увольняться, т.ч. не страшно. М.б. есть какой-то аналог Кернигана и Ричи в этой области?

 

wingear
()

Есть ли способ добавить в класс константный объект?

Форум — Development

Необходимо сделать несколько заранее определенных массивов со строками, из которых рандомно выбирается их комбинация. Пробовал инициализировать в хидере static const QStringList:

static const QStringList zipcodes={"1","2","3"};

но получается известная ошибка Invalid in-class initialization of static data member of non-integral type QStringList.

Как правильнее это сделать?

 ,

wingear
()

HostCMS - как вклиниться в чужой код?

Форум — Web-development

Нужно сделать плагин, добавляющий поля в форму отправки/редактирования темы на форуме, и потом их отображающий. Не пойму, что в этой cms является аналогом livestreet'овских хуков - в руководстве по модулям фигурирует

function LoadAjaxData(&$admin_forms)
Где admin_forms - объект, предоставляющий данные о формах админ-панели. В документации по API есть класс forums, если я правильно понял, нужно использовать его метод http://www.hostcms.ru/api/HostCMS_5/Forums.html#methodGetTheme, только непонятно, как отследить, что вызвана страница редактирования формы или отправка данных. Никто не работал с данной CMS?

Документация: https://docs.google.com/viewer?url=http://www.hostcms.ru/download/5/HostCMS_v...

 , ,

wingear
()

Почему обновляется до упора?

Форум — General

Почему-то при подключенном оверлее kde при обновлении мира portage пытается поставить kdelibs-9999, и, не найдя какого-то патча, emerge завершается. Можно ли как-то поставить 4.8.4, не дестабилизируя систему всякими 9999? Пока не придумал ничего лучше, кроме как установить список пакетов, предлагаемый по -uDN @world без зависимостей и всех 9999. Или лучше вообще убрать оверлей?

 , ,

wingear
()

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