sexta-feira, 3 de novembro de 2023

Instalar Embroidermodder no Debian

 Faça como usuário, não como root, use o sudo quando indicado.


$ mkdir embroi
$ cd embroi
$ git clone https://github.com/Embroidermodder/Embroidermodder/
$ cd Embroidermodder

$ git submodule init
$ git submodule update

$ sudo apt-get update
$ sudo apt-get install qt6-base-dev libqt6gui6 libqt6widgets6 libqt6printsupport6 libqt6core6 libgl-dev libglx-dev libopengl-dev
$ sudo apt-get install libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev libxcb-shape0-dev libxcb-xkb-dev
$ sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev
$ sudo apt-get install libxkbcommon-x11-dev libxkbcommon-dev libvulkan-dev libxcb-*

$ vim CMakeLists.txt
Abra o arquivo CMakeLists.txt com o seu editor de texto preferido e substitua o conteúdo (copie e cole) pelo conteúdo abaixo ou apague todo o conteúdo existente e coloque o conteúdo abaixo.

# The Embroidermodder Project
#

cmake_minimum_required(VERSION 3.16)
project(embroidermodder VERSION 2.0.0 LANGUAGES C CXX)

#include(config.cmake)

find_package(Qt6 REQUIRED COMPONENTS Core OpenGL Widgets PrintSupport)

qt_standard_project_setup()

set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 17)

add_compile_options(
-g
-O2
-Wall
)

if(CMAKE_BUILD_TYPE STREQUAL "Debug")

set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_compile_options(
-Wextra
-fprofile-arcs
-ftest-coverage
)

add_link_options(
-fprofile-arcs
-ftest-coverage
)

endif()

add_subdirectory(extern/libembroidery)

qt_add_executable(embroidermodder2 WIN32 MACOSX_BUNDLE
${CMAKE_SOURCE_DIR}/src/cmdprompt.cpp
${CMAKE_SOURCE_DIR}/src/embdetails-dialog.cpp
${CMAKE_SOURCE_DIR}/src/embroidermodder.cpp
${CMAKE_SOURCE_DIR}/src/imagewidget.cpp
${CMAKE_SOURCE_DIR}/src/interface.cpp
${CMAKE_SOURCE_DIR}/src/layer-manager.cpp
${CMAKE_SOURCE_DIR}/src/mainwindow.cpp
${CMAKE_SOURCE_DIR}/src/mdiarea.cpp
${CMAKE_SOURCE_DIR}/src/mdiwindow.cpp
${CMAKE_SOURCE_DIR}/src/objects.cpp
${CMAKE_SOURCE_DIR}/src/preview-dialog.cpp
${CMAKE_SOURCE_DIR}/src/property-editor.cpp
${CMAKE_SOURCE_DIR}/src/selectbox.cpp
${CMAKE_SOURCE_DIR}/src/settings-dialog.cpp
${CMAKE_SOURCE_DIR}/src/statusbar.cpp
${CMAKE_SOURCE_DIR}/src/undo-commands.cpp
${CMAKE_SOURCE_DIR}/src/undo-editor.cpp
${CMAKE_SOURCE_DIR}/src/view.cpp

${CMAKE_SOURCE_DIR}/src/embroidermodder.h

${CMAKE_SOURCE_DIR}/src/core.c
${CMAKE_SOURCE_DIR}/src/object_data.c

${CMAKE_SOURCE_DIR}/extern/tomlc99/toml.c

${CMAKE_SOURCE_DIR}/assets/assets.qrc
)

include_directories(
${CMAKE_SOURCE_DIR}/extern/tomlc99
${CMAKE_SOURCE_DIR}/extern/libembroidery/src
${CMAKE_SOURCE_DIR}/extern/libembroidery/src/stb
${CMAKE_SOURCE_DIR}/extern/libembroidery/src/nanosvg
${CMAKE_SOURCE_DIR}/src
)

target_link_libraries(embroidermodder2 PRIVATE
Qt6::Core
Qt6::Widgets
Qt6::PrintSupport
Qt6::OpenGL
embroidery_static)

if (WIN32)
else(WIN32)
target_link_libraries(embroidermodder2 PRIVATE m)
endif()

set_target_properties(embroidermodder2 PROPERTIES
WIN32_EXECUTABLE ON
MACOSX_BUNDLE ON)

install(TARGETS embroidermodder2
BUNDLE DESTINATION .
RUNTIME DESTINATION ${CMAKE_SOURCE_DIR}/build
)

Salve e saia do arquivo.

$ bash build.sh


Parará um tempo conforme a imagem, aguarde terminar.

$ cd build
$ ./embroidermodder2




Depois pode criar um lançador na área de trabalho com o comando ./embroidermodder2 e o Diretório de trabalho tu coloca /caminho/caminho/Embroidermodder/build e o ícone é à sua escolha.




Feito.

sexta-feira, 18 de agosto de 2023

Trocar Conceitos por Palavras (Raciocínio Metonímico)

   Tudo o que falamos e escrevemos são nossos pensamentos ou raciocínios, mesmo quando falamos ou escrevemos mentiras. Pelo quê uma pessoa fala ou escreve podemos saber se esta pessoa é burra ou não.

   Grosso modo, é o que está no dicionário. O significado é um signo explicado por outros signos, ou seja, é dizer o que é uma palavra através de outras palavras. Não entrarei de novo no “nome das coisas” de Aristóteles que, neste sentido, são os signos. E lembrando, um signo é algo que simboliza alguma coisa; toda palavra é um signo, mas nem todo signo é uma palavra. Uma imagem também é um signo, um cheiro é um signo, um gosto, etc; pois representa, simboliza uma coisa ou várias coisas ao mesmo tempo. Um mesmo signo pode ter vários simbolismos.

   Então, Conceito é aquela imagem mental abstrata, é o que está dentro da nossa cabeça. Repito, esta definição de conceito é para o entendimento deste texto, sabemos que existem outros significados e/ou definições do signo Conceito. Não estou aqui determinando que esta definição de Conceito seja absoluta, é somente para o entendimento deste texto; e também não estou inventando nada, esta definição aqui presente tem por base o dicionário e definições de outros autores.

   Lembrando também a diferença entre significado, sentidos e definição. Significado já vimos. Sentidos de um significado também já vimos, mas nunca é demais repetir: sentidos são significados um pouco mais específicos, os "sentidos" os quais podemos empregar uma determinada palavra são o que alguns autores como Saussure chamava de "significante" e Peirce de "interpretante". Por exemplo: “Aquela pessoa tem inteligência” e “Aquela pessoa trabalha em uma agência de inteligência”. O signo é o mesmo: Inteligência, porém, este signo foi empregado em dois sentidos diferentes. Pelo simples fato de eu dizer que “Aquela pessoa trabalha em uma agência de inteligência” não significa propriamente que estou dizendo que aquela pessoa é inteligente. Simples assim.

   A estrutura das línguas comprova isso e, no caso, da Língua Portuguesa é o que encontramos em qualquer dicionário. Temos sempre o primeiro significado mais próximo do signo (às vezes até numerado, 1, 2, 3, etc), o primeiro é o significado genérico (todo significado é genérico), os outros são os sentidos nos quais podemos empregar o signo. Não me estenderei nesta parte, pois já foi dito isso, mas posso acrescentar que de acordo com o sentido da palavra empregado na frase o referente (o que a coisa é) tem um entendimento um pouco diferente, mas não foge do significado genérico, como vimos anteriormente no exemplo do signo "inteligência".

   Definição é você delimitar a coisa, é você ser mais específico ao dizer o que uma coisa é. Coisa é “tudo o que existe ou possa existir, de natureza corpórea ou incorpórea.” Por exemplo: um lápis é uma coisa corpórea, liberdade é uma coisa incorpórea. Coisa, num sentido mais filosófico pode ser "tudo aquilo que há e tudo aquilo que existe". Tudo o que existe são os objetos corpóreos; tudo que há engloba objetos corpóreos e incorpóreos. Neste sentido, lápis há e existe; liberdade somente há. Uma coisa corpórea se auto-define, pois extraímos as informações dela; uma coisa incorpórea é subjetiva, pois não temos como extrai as informações físicas como quantidade (altura, largura, comprimento, etc), qualidade (cor), etc.

   Lápis: um objeto composto por um bastão de grafite envolto por uma camada de madeira que serve para rabiscar, escrever e desenhar no papel. Este é o significado do signo “lápis” e é genérico porque significa todos os lápis do mundo que tem um bastão de grafite e são envoltos por uma camada de madeira. Caso eu tomar um lápis em específico, por exemplo, um lápis com um bastão de grafite envolto por uma camada de madeira que serve para rabiscar, escrever e desenhar no papel e é pintado na cor verde, tem o formato sextavado e tem um tamanho de 20 centímetros, estarei dando a “definição” deste lápis em específico, estarei delimitando-o (estarei dizendo o que é esta coisa chamada lápis especificamente), pois tem outros lápis que tem um formato cilíndrico, são na cor preta, etc.

   E há o conceito do signo “lápis”, aquela imagem mental abstrata que se forma na sua mente ao perceber a coisa através dos cinco sentidos básicos: tato, olfato, paladar, visão e audição.

   No momento em que você expressa um conceito em palavras (signos) você está ou significando a coisa (com seus vários sentidos) ou definindo-a ou somente falando (ou escrevendo) sobre ela. Percebam, quando eu escrevi “através dos cinco sentidos básicos” e quando eu escrevi “com seus vários sentidos” empreguei o signo “sentidos” em duas formas (sentidos) diferentes e, a partir daí, o entendimento das duas expressões tornam-se diferentes. Na primeira expressão estou falando dos sentidos básicos do ser humano e na segunda expressão estou falando dos sentidos que o significado de um signo pode adotar de acordo com a circunstância. Simples assim e bastante óbvio.

   Muitas vezes não sabemos expressar um conceito em palavras, não sabemos dizer em palavras o que é tal coisa porque não sabemos o significado e seus vários sentidos e, a partir daí, não conseguimos saber o referente da coisa. Signo, significado (e seus vários sentidos) e o referente. O referente é o que a coisa é em si na realidade.

   Muitas vezes é trabalhoso (mas não difícil) significar e/ou definir um conceito em palavras. Existem conceitos objetivos e conceitos subjetivos. Conceitos objetivos, basicamente, partem dos objetos corpóreos, objetos que existem fisicamente no mundo. E conceitos subjetivos, basicamente, partem de objetos incorpóreos que não existem fisicamente, como no exemplo anterior: lápis e liberdade. Não existe um objeto físico chamado liberdade (qual é o tamanho da liberdade, qual é a cor), porém, sabemos o que é liberdade através do seu significado e da sua definição; o significado e a definição vêm do conceito através da observação da realidade.

   Então, resumindo, “conceito” é aquela imagem mental abstrata que está na nossa mente que vem da observação da realidade e quando externamos essa imagem em palavras torna-se ou um significado ou uma definição ou estamos somente falando (ou escrevendo) a respeito dessa coisa sem significa-la ou defini-la, grosso modo, estamos somente falando (ou escrevendo) a respeito dela sem dizer o que é esta coisa.

   Não entrarei aqui, de novo, nas partes que compõem o todo (ou nos particulares e gerais de Aristóteles), mas darei uma breve explanação com relação ao objeto do assunto: Conceito.

   Como vimos, um conceito é uma imagem mental abstrata e traduzimos os conceitos em palavras, pois é dessa forma que o ser humano se comunica basicamente, através da palavra falada e da palavra escrita.

   Um signo (que simboliza uma coisa) é um geral composto de vários particulares (ou um todo composto de várias partes). Por exemplo: Inteligência. Dentro do conceito Inteligência (expresso através do signo gramatical Inteligência) podemos encontrar várias partes através da observação da realidade. A saber: conhecimento, raciocínio, percepção, etc. São partes que compõem o todo chamado de Inteligência. Podemos decompor qualquer coisa em suas partes através da observação da realidade. Isso é, de certo modo, natural, faz parte do ser humano, nascemos assim, é assim que entendemos e compreendemos as coisas.

   O processo às vezes se dá partindo dos particulares (ou de um particular em específico) e vamos para o todo; e às vezes partimos do todo e vamos decompondo-o em partes, indo e voltando das partes para o todo e vice-versa. Por exemplo, ao consultar o dicionário em busca do significado de um signo (uma palavra neste caso) estamos partindo de uma parte que compõe o todo porque o significado é genérico e não explica especificamente o que é a coisa (o referente). A partir daí temos que raciocinar e investigar mais coisas (partes) para chegar ao entendimento do que é a coisa em si. É um processo natural do ser humano. Um sentido específico de um significado não nos dá um referente absoluto posto que temos de analisar as várias partes que compõem o todo.

   Continuando no exemplo do signo Inteligência (ou poderia tomar qualquer outro signo), mas vamos continuar neste. Inteligência: “faculdade de conhecer, compreender e aprender.” Este é o significado. Inteligência: “capacidade de compreender e resolver novos problemas e conflitos e de adaptar-se a novas situações.” Este é um sentido do signo Inteligência, tirado do dicionário. Dependendo do dicionário temos seis ou sete sentidos um pouco diferentes do significado genérico de Inteligência, mas não completamente diferentes.

   Esta é a base para sabermos o referente, o que é a coisa em si na realidade, além do conhecimento intuitivo e da percepção.

   Como já foi dito, um dicionário não é o “bam bam bam” do entendimento, mas é a base, é onde está a convenção da língua e da linguagem. Quando não se sabe o significado (e os sentidos) de um signo torna-se impossível exprimir em palavras o referente, torna-se impossível expressar o conceito.

   E como já foi dito, a língua e a linguagem são convenções e não tem como ser diferente. Todos nós temos que ter o mesmo significado e sentidos dos signos, pois isso nos dá a base para sabermos o referente na realidade e a realidade é uma só para todos.

   Um bom exemplo neste sentido são as diferentes línguas existentes no mundo. Um Brasileiro por falar a Língua Portuguesa, de certo modo, tem uma mentalidade um pouco diferente de um Alemão que fala a Língua Alemã. Porém, o entendimento básico das coisas é o mesmo. Por exemplo, uma árvore é uma árvore em qualquer lugar mundo não importando em qual língua eu expresso o signo “árvore”. O referente é o mesmo, o conceito “árvore” basicamente é o mesmo. Liberdade, esperança, igualdade, fraternidade, correr, dormir, comer, pular, etc, o conceito básico é o mesmo em qualquer lugar do mundo não importando a língua que se fala.

   O problema é quando se trocam conceitos por palavras.

   Agora tomarei como base o livro de Arthur Schopenhauer “Sobre a Quadrúplice Raiz do Princípio de Razão Suficiente” que é a tese que deu o título de Doutor a Schopenhauer em 1813. Óbvio que tal título de Doutor na época era diferente do título de Doutor que temos hoje em dia, principalmente no Brasil.

   Página 49: “Aristóteles... demonstra cuidadosamente no sétimo capítulo do segundo livro dos Segundos Analíticos que a definição de uma coisa e a prova de sua existência são duas coisas diferentes e eternamente separadas, pois pela primeira tomamos conhecimento do que é pensado, por meio da outra, porém, de que algo assim existe; e como um oráculo do futuro, profere ele a sentença: ‘a existência não pertence à essência de uma coisa; pois existência não é uma propriedade’. Isso significa: A existência jamais pode pertencer à essência das coisas. – Ao contrário disso. O quanto o senhor von Schelling venera a prova ontológica pode ser verificado a partir de uma longa nota da página 152 do primeiro volume de seus Escritos filosóficos de 1809. Mas algo ainda assim mais instrutivo pode ser verificado ali, a saber: que basta matraquear atrevidamente, fazendo ares de grandeza, para lançar poeira nos olhos dos alemães. Mas que até um patrono tão inteiramente deplorável como Hegel, cuja inteira filosofastria era propriamente uma monstruosa amplificação da prova ontológica, tenha querido defende-la contra a crítica de Kant, é uma aliança da qual se envergonharia a própria prova ontológica, por mais que não seja muito de se envergonhar. – Apenas não se espere de mim que fale com apreço de pessoas que levaram a filosofia ao desprezo.”

   Coloquei este trecho para mostrar que a “troca de conceitos por palavras” vem de longe.

   Agora pulo para a página 107: “Amiga – disseram-lhe-, as coisas andam mal para ti, muito mal, desde o dia de teu fatal encontro com o velho cabeça-dura de Königsberg [Kant]; tão mal como para tuas irmãs, a prova ontológica e físico-teológica. Mas, tem coragem: nós não te abandonamos por isso (tu sabes, somos pagos para isso). Entretanto, não há outra coisa a fazer: deves mudar de nome e de vestimentas; porque se te chamarmos por teu nome, todos fogem de nós. Incógnita, porém, nós te tomamos pelo braço e te reconduzimos novamente para entre as pessoas; apenas, porém, como dito, incógnita: isso dá certo! Primeiramente, pois: daqui para diante, teu objeto portará o nome: “o absoluto”; isso soa exótico, decente e nobre – e nós sabemos melhor do que qualquer um o quanto se pode impingir aos alemães com aparências de nobreza – qualquer um sabe o que se entende por essa palavra, e ainda se crê sábio por isso.... O absoluto, exclamas (e nós contigo), ‘que diabos, isso tem de ser, senão não existiria absolutamente nada!’ (e com isso bates com o punho sobre a mesa). Mas de onde procederia ele? ‘Estúpida pergunta! Já não disse que é o absoluto?’ – Isso dá certo, podes crer, dá certo! Os alemães estão habituados a aceitar palavras no lugar de conceitos: para tanto nós os temos adestrado desde a juventude – olha só a hegelianada, que outra coisa é senão um palavrório vazio, oco, e ainda por cima nauseabundo? E, no entanto, que esplêndida carreira fez essa criatura filosófica ministerial! Para isso, não foi preciso senão que alguns companheiros venais entoassem a glória daquela ruindade – para que sua voz, na cavidade oca de mil cabeças estúpidas, encontrasse um eco que ainda hoje ressoa e se propaga. E eis que assim logo se fez de uma cabeça vulgar, sim, de um vulgar charlatão, um grande filósofo. Portanto, toma coragem! Além disso, amiga e protetora, nós te secundamos também por outra razão: com efeito, sem ti não podemos viver” – O velho critiqueiro de Königsberg criticou a razão e cortou-lhe as asas? Pois bem, inventamos então uma nova razão, da qual ninguém tinha ouvido falar até aquele momento; uma razão que não pensa, mas intui imediatamente, que intui idéias (uma palavra distinta, criada para mistificação) em carne e osso; ou também uma razão que apreende, que apreende imediatamente aquilo que tu e os outros apenas queriam demonstrar; ou ainda – para aqueles que só admitem pouco, mas que também com pouco se satisfazem – o presente. E assim, damos conceitos populares de há muito inoculados por inspirações imediatas dessa nova razão, criticada à exaustão, degrademo-la, chamemo-la entendimento, e mandemo-la passear.”

   O que Schopenhauer está dizendo é que trocaram conceitos por palavras. Razão agora se chama entendimento. E o que é entendimento? Ora, entendimento é razão! E o que é razão? Ora, tu és burro? Razão é entendimento! Não entendes uma coisa tão simples assim? Entendimento é razão e razão é entendimento... está explicado.

   A amiga Prova Cosmológica agora chamemos de Absoluto! E o que é o absoluto? Ora, o absoluto é o infinito! E o que é o infinito? Ora, tu és burro? Infinito é o absoluto, cara!

   Não precisamos mais significar as coisas, basta colocar outra palavra no lugar, seja esta palavra um sinônimo ou não.

   Isto dá certo, pode crer!

   O mundo é o finito e o absoluto é o infinito. E o que é o finito? Ora, tu és burro? Já falei que o finito é o mundo!

   E podemos colocar também uma expressão no lugar de qualquer coisa esdrúxula que inventamos sem base nenhuma na realidade, como por exemplo: Politicamente Correto!

   Temos também vários outros chavões imbecis: "consciência de classe", "pensamento crítico", "lutas de classes", "estado democrático de direito", "liberal na economia, conservador nos costumes", "desvelamento do ser", "não é crime, é doença", "racismo estrutural", "dívida histórica", "a culpa é do sistema", "crise climática", "desenvolvimento sustentável", "sociedade igualitária", "combate à pobreza", "direitos dos trabalhadores", "isolamento social", "classes sociais", "direitos humanos", "os fins justificam os meios", "discordo do que você diz, mas defenderei até a morte o seu direito de dizer", "responsabilidade fiscal", "regras democráticas", "aquecimento global", "reformas estruturantes", "vacinação em massa", "manter a governabilidade", "linha da pobreza", "estruturas de poder", "combustível fóssil", "implodir o sistema", "tirania da maioria", "disparidade de gênero", "liberdade de mercado", "milícia digital", "nome social", "ação afirmativa", "isso será um avanço", "isso será um retrocesso", "nunca ouvi falar, mas não tem cabimento", "imperativo categórico", "democracia representativa", "dinheiro público", "desconto antecipado", "redenção democrática", "direitos dos trabalhadores", "compre agora e economize dinheiro", "a exceção é o que confirma a regra", "o Brasil não é para amadores", "consulta o pai dos burros", "pedantismo gramatical"... e por aí vai.

   É a gosto do freguês, o freguês escolhe seus chavões prediletos para repetir como um papagaio. Daria para escrever um livro somente com essas expressões. Um glossário. Aliás, já existem dicionários e glossários de, por exemplos, Marx, Gramsci e Heidegger, além de vários outros. Para ler e entender (se for possível) autores desta cepa, deste estilo de escrita oco, vazio, nauseabundo; primeiro você tem de entender a linguagem própria deles para depois começar a entender do quê eles estão falando. E muitas vezes estão falando de nada; palavras bonitas, mas vazias de conteúdo; muitas vezes sem significado e na maioria das vezes sem referente. Eles usam palavras já existentes na língua e inventam um significado novo saído da cabeça maluca e/ou maligna deles e isso bagunça o referente, você já não sabe mais do que se está falando, mas fica tentando adivinhar e chama essa adivinhação de "interpretação de texto".

   Mas vamos nos deter em analisar como exemplo a expressão "politicamente correto", pois a análise se estende para todas as outras expressões.

   O que é “politicamente correto”? Qual o significado dessa expressão?

   Partirei do básico. Politicamente vem de política: “arte ou ciência de governar”, significado genérico. “Derivação: sentido figurado. habilidade no relacionar-se com os outros, tendo em vista a obtenção de resultados desejados”.

   Politicamente: “ocupar-se de política; fazer política”.

   Correto: “que se corrigiu”. “possuidor de bom caráter; digno, honrado (diz-se de pessoa)”.

   Não coloquei todos os sentidos de “política”, “politicamente” e “correto”, mas já dá para entender.

   Politicamente Correto é alguém que é correto na política?

   É alguém que tem uma política correta?

   É alguém possuidor de bom caráter na política?

   Ou é outra coisa?

   São significados diferentes. Alguém que é correto na política obrigatoriamente é um político. Alguém que tem uma política correta não necessariamente é um político, pode ser um cidadão ali que tem uma política de vida e segue ela. São coisas diferentes.

   Então o que é politicamente correto? Ora, inventemos um significado qualquer que nem significado é. Politicamente correto agora é “evitar certas palavras preconceituosas com relação a grupos de sexo, raça, gênero ou sei lá mais o quê”. Ou mais, faremos dossiês, artigos acadêmicos, livros inteiros tentando explicar o que é “politicamente correto” (somos pagos para isso).

   Daremos mil “significados” de politicamente correto. Ganharemos pela quantidade e não pela qualidade. Eu vou citando você e você vai me citando, a nossa patota vai se auto-promovendo, assim teremos milhões de citações acadêmicas. O que importa a verdade? O que importa a realidade? Verdade e realidade são coisas ultrapassadas, são retrocessos, não é um avanço, não são coisas progressistas.

   Mas voltando. “Evitar certas palavras”... quais palavras devo evitar? Existe uma lista de palavras que devo evitar?

   Ora, tu és burro? As palavras que tu deves evitar são as palavras preconceituosas em relação aos grupos ali!

   Mas o que é “preconceituoso”? Não é um conceito subjetivo?

   O que decorre disso na realidade é que se alguém me falar alguma coisa que eu não goste (vai do meu capricho), eu digo que é politicamente incorreto. Pronto: acrescentei mais uma palavra (ou expressão) na tal da lista que não existe! E o absurdo não pára de crescer.

   Quando dizem que “politicamente correto” é uma forma de censura eu concordo, mas o estrago vai mais além: causa emburrecimento.

   Trocar conceitos por palavras ou expressões inventadas dá nisso: emburrecimento geral.

   E podemos ver que na expressão “politicamente correto” foram juntados dois signos que não dá para juntar. Um altera o significado do outro. A partir daí não há base na realidade e temos que inventar alguma coisa para significar em palavras o que é isso. É como a frase: "A pedra da bola pegou fogo". Ortograficamente e sintaticamente está correta, mas semanticamente não tem sentido nenhum. E num texto e/ou discurso temos que, obrigatoriamente, preencher os três: ortografia, sintaxe e semântica.

   Com palavras bonitas, mas vazias de conteúdo estamos fora da realidade. Trocamos conceitos por palavras esvaziadas de significados, de sentidos e de definições, e por isso não captamos mais o referente.

   Passamos a falar por chavões, palavras vazias, signos sem significados e, por conseguinte, sem referente. Nos distanciamos da realidade, vivemos em um mundo de ilusão onde não nos entendemos mais. Falamos a mesma língua, mas não falamos a mesma linguagem.

   Língua é a Língua Portuguesa, a Língua Inglesa, a Língua Francesa, etc.

   Linguagem engloba a língua, todo signo tem um conceito, um significado, uma definição e, de acordo com seu sentido, tem seu referente que forma a mentalidade de uma nação que fala a mesma língua.

   Caso eu fale “politicamente correto” e isso enseja várias adivinhações de acordo com a cabeça de cada um, temos confusão, não nos entendemos mais. Nesta hora precisa de um supremo sabedor da verdade para nos dizer o que significa isso, sendo que o supremo sabedor da verdade também não sabe o que é, então ele junta palavras bonitas, mas vazias de conteúdo e você sai repetindo isso por aí.

   Falamos a mesma língua, mas não falamos a mesma linguagem. E assim vamos emburrecendo.

   Êêê, vamos todo mundo ficarmos burros, assim teremos igualdade... que, aliás, “igualdade” é um conceito subjetivo.

   Ficaremos todos iguais na burrice, mas sempre tem uns que são “mais iguais do que os outros”.

   Uma população burra é fácil de controlar, mas a burrice leva à violência, uma pessoa burra só sabe resolver as coisas na base da violência (seja ela física e/ou psicológica), isso é fato.
   E não confundam esse tipo (sentido) de burrice com a falta de conhecimento; esta é justificável, aquela burrice é o que se chama de astúcia maligna - a caricatura satânica da inteligência - que leva à baixeza moral e à baixeza intelectual.

   A estultice, a estupidez de quem pensa que pode controlar uma população burra, drogada e promíscua é equivalente à burrice dessa mesma população.

   Mas tudo em prol da “revolução”, da revolução surgirá o novo ser humano!

   Dos escombros da humanidade surgirá o novo ser humano... não sei como.

   Mas posso imaginar: esse novo ser humano que surgirá virá do caos que leva à ordem.

   E assim vamos trocando conceitos por palavras: “do caos vem a ordem” é um chavão de tamanha estupidez e é errado em tantos níveis que até é difícil explicar. Mas vamos repetindo isso através da grande propaganda que todo mundo acredita que do caos vem a ordem... e vamos promovendo o caos, vamos promovendo a destruição esperando a reconstrução a partir dos entulhos que restaram da burrice. Vamos juntar os entulhos para formar uma pilha de escombros e vamos dar a esse conceito um novo nome: sociedade igualitária. Uma expressão esvaziada de tudo.

segunda-feira, 14 de agosto de 2023

Instalar OBS Studio e VLC no Slackware 15

À MODA [QUASE] SLACK

   Tomem essa instalação como uma forma de aprendizado, pois os pacotes instalados aqui tem um padrão que será praticamente o mesmo no Slackware em relação à SlackBuilds e as instalações de um modo geral.

   O OBS Studio (Open Broadcaster Software) é um software livre e de código aberto para gravação de vídeo e transmissão em tempo real.
Ele captura e mistura vídeo/áudio em tempo real de alto desempenho, com cenas ilimitadas nas quais você pode alternar através de transições personalizadas sem interrupções.

   Primeiro faremos [quase] à moda Slack (só para os fortes... ou teimosos)!
A vantagem é que assim você escolhe a versão que quer instalar ou instala o programa mais atual possível.

   A sequência de instalação de pacotes com SlackBuild praticamente será a seguinte não importando o programa (software, pacote, etc) a ser instalado:

1 - Logue como root;
2 - Atualize o sistema;
3 - Baixe sempre primeiro o SlackBuild (pacote.tar.gz);
4 - Descompacte-o;
5 - Entre na pasta descompactada;
6 - Baixe o fonte (source);
7 - Execute o SlackBuild;
8 - Copie o pacote para a pasta;
9 - Instale o pacote tgz criado.

   Estritamente à moda Slack é você mesmo escrever os fontes, compilá-los e instalá-los.

   Na segunda parte tem uma maneira mais fácil (para os fracos).
   O programa instalado é o que está nos repositórios, geralmente é de uma versão anterior à mais atual.

   A instalação é para 64 bits, mas é só mudar o arquivo se teu sistema for 32 bits que o procedimento é o mesmo.
   Maiores informações e pacotes você encontra aqui:

Abra o terminal e logue como root.
$ su -

Verificando a versão do OpenGL, necessário para o OBS Studio:
# glxinfo | grep "OpenGL" <<< o OpenGL deverá ser maior ou igual a 3.3, senão você deverá atualizar o OpenGL.

OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 630 (KBL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.3.5

Atualizando o sistema:
# slackpkg update

Salvaremos tudo na pasta obs_studio criada em /opt:
# cd /opt
# mkdir obs_studio
# cd obs_studio

   Siga as instalações na ordem: faac, jack, luajit, libfdk-aac, mbedtls, rtmpdump, x264, nlohmann_json, vlc, obs-studio.


FAAC
Este é o único que será diferente dos outros.
# wget https://github.com/knik0/faac/archive/1_30/faac-1_30.tar.gz
# tar -xzf faac-1_30.tar.gz
# cd faac-1_30
# ./bootstrap
# ./configure
# make
# make install

Deverá terminar:
make[2]: Saindo do diretório '/opt/obs_studio/faac-1_30'

make[1]: Saindo do diretório '/opt/obs_studio/faac-1_30'

Caso der ERROR em algum momento você deverá refazer o processo e caso o error persistir você deve ler a mensagem de erro e tentar solucioná-lo, pois não é o escopo do artigo.
Você pode olhar dentro do arquivo INSTALL que estão ali todos os comandos para compilar o pacote.

Voltando um diretório:
# cd ..


JACK
E seguindo na ordem, agora o pacote JACK:
# removepkg jack2 <<< removendo alguma provável instalação anterior
# removepkg jack

Download do pacote jack.tar.gz para facilitar e não precisar alterar arquivos:
# wget https://slackbuilds.org/slackbuilds/15.0/audio/jack.tar.gz

Descompactando:
# tar -xzf jack.tar.gz

Entrando no diretório:
# cd jack

Baixando o pacote dos fontes, necessário para a compilação:
# wget https://github.com/jackaudio/jack2/archive/v1.9.21/jack2-1.9.21.tar.gz
# ls <<< para conferir se o arquivo foi baixado

Compilando:
# ./jack.SlackBuild

Deverá terminar dizendo que o pacote tgz foi criado:
usr/share/dbus-1/services/
usr/share/dbus-1/services/org.jackaudio.service

Slackware package /tmp/jack-1.9.21-x86_64-1_SBo.tgz created.

Copiando para a pasta jack o pacote tgz criado:
# cp /tmp/jack-1.9.21-x86_64-1_SBo.tgz . <<< no final tem um ponto (.) separado do tgz por um espaço em branco, significa que o arquivo deve ser copiado para o diretório no qual se está.
# ls

Instalando:
# installpkg jack-1.9.21-x86_64-1_SBo.tgz

Terminará:
Executing install script for jack-1.9.21-x86_64-1_SBo.tgz.
Package jack-1.9.21-x86_64-1_SBo.tgz installed.

Você pode conferir dentro do diretório /usr/bin que foram criados uns 40 arquivos jack.
As instalações são rápidas, o que demora são as compilações.


LUAJIT
# cd ..
# wget https://slackbuilds.org/slackbuilds/15.0/development/luajit.tar.gz
# tar -xzf luajit.tar.gz
# ls
# cd luajit
# wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz
# ./luajit.SlackBuild

Terminará:
Slackware package /tmp/luajit-2.0.5-x86_64-2_SBo.tgz created.

# cp /tmp/luajit-2.0.5-x86_64-2_SBo.tgz .
# installpkg luajit-2.0.5-x86_64-2_SBo.tgz

Terminará:
Executing install script for luajit-2.0.5-x86_64-2_SBo.tgz.
Package luajit-2.0.5-x86_64-2_SBo.tgz installed.

De novo, caso quiser conferir em /usr/bin.


LIBFDK-AAC
# cd ..
# wget https://slackbuilds.org/slackbuilds/15.0/libraries/libfdk-aac.tar.gz
# ls
# tar -xzf libfdk-aac.tar.gz
# ls
# cd libfdk-aac
# wget https://github.com/mstorsjo/fdk-aac/archive/v2.0.2/fdk-aac-2.0.2.tar.gz
# ls
# ./libfdk-aac.SlackBuild

Terminará:
Slackware package /tmp/libfdk-aac-2.0.2-x86_64-1_SBo.tgz created.

# cp /tmp/libfdk-aac-2.0.2-x86_64-1_SBo.tgz .
# ls
# installpkg libfdk-aac-2.0.2-x86_64-1_SBo.tgz

Terminará:
Executing install script for libfdk-aac-2.0.2-x86_64-1_SBo.tgz.
Package libfdk-aac-2.0.2-x86_64-1_SBo.tgz installed.


MBEDTLS
# cd ..
# wget https://slackbuilds.org/slackbuilds/15.0/libraries/mbedtls.tar.gz
# ls
# tar -xzf mbedtls.tar.gz
# cd mbedtls
# wget https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.16.8/mbedtls-mbedtls-2.16.8.tar.gz
# ls
# ./mbedtls.SlackBuild

Terminará:
Slackware package /tmp/mbedtls-2.16.8-x86_64-1_SBo.tgz created.

# cp /tmp/mbedtls-2.16.8-x86_64-1_SBo.tgz .
# installpkg mbedtls-2.16.8-x86_64-1_SBo.tgz

Terminará:
Executing install script for mbedtls-2.16.8-x86_64-1_SBo.tgz.
Package mbedtls-2.16.8-x86_64-1_SBo.tgz installed.


RTMPDUMP
# cd ..
# wget https://slackbuilds.org/slackbuilds/15.0/multimedia/rtmpdump.tar.gz
# tar -xzf rtmpdump.tar.gz
# cd rtmpdump
# wget http://ponce.cc/slackware/sources/repo/rtmpdump-20210219_f1b83c1.tar.xz
# ls
# ./rtmpdump.SlackBuild

Terminará:
Slackware package /tmp/rtmpdump-20210219_f1b83c1-x86_64-1_SBo.tgz created.

# cp /tmp/rtmpdump-20210219_f1b83c1-x86_64-1_SBo.tgz .
# ls
# installpkg rtmpdump-20210219_f1b83c1-x86_64-1_SBo.tgz

Terminará:
Executing install script for rtmpdump-20210219_f1b83c1-x86_64-1_SBo.tgz.
Package rtmpdump-20210219_f1b83c1-x86_64-1_SBo.tgz installed.


X264
# cd ..
# wget https://slackbuilds.org/slackbuilds/15.0/multimedia/x264.tar.gz
# tar -xzf x264.tar.gz
# cd x264
# wget https://sources.liwjatan.org/x264/x264-git_20210613_5db6aa6c.tar.lz
# ls
# ./x264.SlackBuild

Terminará:
Slackware package /tmp/x264-git_20210613_5db6aa6c-x86_64-1_SBo.tgz created.

# cp /tmp/x264-git_20210613_5db6aa6c-x86_64-1_SBo.tgz .
# installpkg x264-git_20210613_5db6aa6c-x86_64-1_SBo.tgz

Terminará:
Executing install script for x264-git_20210613_5db6aa6c-x86_64-1_SBo.tgz.
Package x264-git_20210613_5db6aa6c-x86_64-1_SBo.tgz installed.


NLOHMANN_JSON
# cd ..
# wget https://slackbuilds.org/slackbuilds/15.0/libraries/nlohmann_json.tar.gz
# tar -xzf nlohmann_json.tar.gz
# ls
# cd nlohmann_json
# wget https://github.com/nlohmann/json/archive/v3.11.2/json-3.11.2.tar.gz
# ls
# ./nlohmann_json.SlackBuild

Terminará (este demora um bocado):
Slackware package /tmp/nlohmann_json-3.11.2-x86_64-1_SBo.tgz created.

# cp /tmp/nlohmann_json-3.11.2-x86_64-1_SBo.tgz .
# installpkg nlohmann_json-3.11.2-x86_64-1_SBo.tgz

Terminará:
#
Package nlohmann_json-3.11.2-x86_64-1_SBo.tgz installed.


VLC
Caso você já tiver o VLC instalado aconselho a desinstalar e depois instalar este.
# cd ..
# wget https://slackbuilds.org/slackbuilds/15.0/multimedia/vlc.tar.gz
# tar -xzf vlc.tar.gz
# cd vlc

Agora vamos precisar mexer no arquivo vlc.SlackBuild para evitar o erro "configure: error: Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.":
# vim vlc.SlackBuild <<< usei o vim, use teu editor preferido.

Acrescente as duas últimas linhas (--disable-lua \ e --enable-luajit=2.0.5 \) na seguinte posição do arquivo, por volta da linha 134:
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--mandir=/usr/man \
--docdir=/usr/doc/vlc-$VERSION \
--localstatedir=/var \
--build=$ARCH-slackware-linux \
--enable-qt=5 \
--enable-merge-ffmpeg \
--disable-upnp \
--disable-libplacebo \
--disable-lua \
--enable-luajit=2.0.5 \
$wayland \

Salve e saia do arquivo.

# wget https://get.videolan.org/vlc/3.0.18/vlc-3.0.18.tar.xz
# ls
# chmod +x vlc.SlackBuild
# ./vlc.SlackBuild

Ignore as mensagens em rosa e azul e os "warning".
O VLC também demorará um bocado, aguarde terminar.

Terminando como abaixo é porque deu tudo certo:
Slackware package /tmp/vlc-3.0.18-x86_64-1_SBo.tgz created.

# cp /tmp/vlc-3.0.18-x86_64-1_SBo.tgz .
# installpkg vlc-3.0.18-x86_64-1_SBo.tgz

Terminará:
Executing install script for vlc-3.0.18-x86_64-1_SBo.tgz.
Package vlc-3.0.18-x86_64-1_SBo.tgz installed.


OBS Studio
# cd ..
# wget https://slackbuilds.org/slackbuilds/15.0/multimedia/obs-studio.tar.gz
# tar -xzf obs-studio.tar.gz
# cd obs-studio

Aqui precisa dos dois fontes:
# wget https://cdn-fastly.obsproject.com/downloads/cef_binary_4638_linux64.tar.bz2
# wget https://sourceforge.net/projects/slackbuildsdirectlinks/files/obs/obs-studio-c58e511813c33e93da7637d50aa431ae0cddda0c.tar.gz
# ls
# chmod +x obs-studio.SlackBuild
# ./obs-studio.SlackBuild

Demorará um bocado e terminará:
Slackware package /tmp/obs-studio-29.1.3-x86_64-1_SBo.tgz created.

# cp /tmp/obs-studio-29.1.3-x86_64-1_SBo.tgz .
# installpkg /tmp/obs-studio-29.1.3-x86_64-1_SBo.tgz

Terminará:
Executing install script for obs-studio-29.1.3-x86_64-1_SBo.tgz.
Package obs-studio-29.1.3-x86_64-1_SBo.tgz installed.

E está terminado, done, feito!


Figura 01


   Para qualquer SlackBuild aconselho a fazer esse procedimento, pois é mais garantido e menos sujeito a erros.
   Todo e qualquer SlackBuild aconselho a realizar esse procedimento, não importando a versão dos arquivos.
   Os sources (aqueles pacotes que tem o número da versão, logo abaixo de "Source Downloads") não tem o arquivo SlackBuild, por isso para facilitar baixamos os dois pacotes, pois o pacote "Download SlackBuild" é o que tem o arquivo Slackbuild.

   Você pode acessar o link
https://slackbuilds.org/repository/15.0/multimedia/obs-studio/
e baixar os pacotes com cliquezinhos do mouse, mas tenha o cuidado de organizá-los numa pasta.
   Optei pelo procedimento acima porque ficou mais organizada a sequência.


MANEIRA FÁCIL

Verificando a versão do OpenGL, necessário para o OBS Studio:
# glxinfo | grep "OpenGL" <<< o OpenGL deverá ser maior ou igual a 3.3, senão você deverá atualizar o OpenGL.

OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 630 (KBL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.3.5

# slackpkg update
# cd /opt

Escolha se for 15.0
# wget http://www.slackware.com/~alien/slackbuilds/obs-studio/pkg64/15.0/obs-studio-28.1.2-x86_64-1alien.txz

Ou se for current
# wget http://www.slackware.com/~alien/slackbuilds/obs-studio/pkg64/current/obs-studio-28.1.2-x86_64-1alien.txz

# upgradepkg --install-new obs-studio-28.1.2-x86_64-1alien.txz

Aparecerá algo parecido como abaixo:

+==============================================================================
| Installing new package ./obs-studio-28.1.2-x86_64-1alien.txz
+==============================================================================

Verifying package obs-studio-28.1.2-x86_64-1alien.txz.
Installing package obs-studio-28.1.2-x86_64-1alien.txz:
PACKAGE DESCRIPTION:
# obs-studio (software for video recording and live streaming)
#
# OBS-studio is software for video recording and live streaming.
# It allows to create scenes made up of multiple sources including
# window captures, images, text, browser windows, webcams,
# capture cards and more.
# The interface makes it easy to transition between scenes and has
# a powerful audio mixer with per-stream filters.
# OBS supports all major streaming platforms.
#
# See also: https://obsproject.com/
Executing install script for obs-studio-28.1.2-x86_64-1alien.txz.
Package obs-studio-28.1.2-x86_64-1alien.txz installed.

Depois, se for Xfce, vá em Aplicações > Multimídia > deverá estar OBS Studio.


Figura 02



Referências