Ir ao conteúdo
  • Cadastre-se

Jota Fernandes

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Tudo que Jota Fernandes postou

  1. Está encontrada uma solução. Simples, como (quase) sempre são. Cabo RCA -> 1/4'' ligado do Record Out do amplificador externo para o line in do Mic, no laptop. A qualidade do som continua ótima [de 24bits (por USB via mesa) passou para 16bits a 48000hz (via Mic)] mas nem se nota, em live streaming. Pelo meio, no sistema operativo, um mapeamento do som do Mic para um AudioMeeter Virtual ASIO driver (input). No OBS, bastou mapear o output do AudioMeeter para um novo device Mic. É qualidade de CD e funciona! O OBS e o Rekordbox finalmente não se queixaram.. De qualquer forma, a Pioneer podia reescrever o driver de forma a ser compatível com mais software...
  2. Boas, Consegui alguns avanços. Já tenho som no VoiceMeeter Banana vindo do Rekordbox, mas agora não o consigo rotear para o OBS Studio. Podem verificar aqui os avanços: https://forums.pioneerdj.com/hc/en-us/community/posts/360060976371-Need-help-with-Windows-Rekordbox-VoiceMeeter-OBS-Studio-Live-Streaming Alguém tem sugestões, pf? Obrigado.
  3. OK, eu vou direto ao assunto: Objetivo: tentar fazer um simples live streaming usando o Rekordbox, uma mixer DJM-450 e dois CDJs 350, tudo através do OBS Studio em sistema operativo Windows 10. Tentei aplicar, pelo menos 10 vezes e com várias configurações, o tutorial seguinte (perdi a conta após as 10 tentativas..): https://forums.pioneerdj.com/hc/en-us/articles/115004806423 A situação é que este tutorial parece não funcionar com a mixer DJM-450. Há aqui alguma alma viva que já tenha conseguido fazer live streaming com esta mixer, usando o Rekordbox e através do OBS? Ou será que eu falhei todas as 10 tentativas em configurar tudo através do tutorial do link acima? O ideal seria alguém com conhecimento de causa ajustar este tutorial para a mixer DJM-450, postando aqui todos os passos (ou alterações necessárias ao já existente). A seguir vou postar uma série de imagens, de uma forma mais ou menos sequencial, de como eu tenho configurado o meu setup físico e respetivo software. A mixer DJM-450 tem conectados 2 CDJ's 350 e 2 pratos PLX-1000. A saída master 2 liga ao amplificador externo que, por sua vez, contém as ligações para as colunas externas. A imagem 1 seguinte mostra as ligações que tenho (a vermelho as ligações aos CDJ's, a verde as ligações aos pratos, a amarelo a ligação ao laptop e a azul a ligação ao amplificador onde tenho as colunas conectadas). Imagem 1 A imagem 2 seguinte mostra as ligações dos CDJ's (apenas mostro um CDJ aqui, como exemplo, mas é igual para ambos; a verde as ligações à mesa e a vermelho a ligação ao laptop). Imagem 2 A imagem 3 mostra a configuração da mixer para cada canal (a verde estão seleccionados ambos os switches para USB, para serem detectados posteriormente pelo Rekordbox, quando forem ligados ao laptop. Identifiquei o canal 1 a vermelho e o canal 2 a amarelo porque, mais à frente neste post, vou explicar que o comportamento de ambos os canais é diferente do espectável, ou seja, não funcionam como deveriam!). Imagem 3 A imagem 4 seguinte mostra a configuração base dos CDJ's (apenas mostro um CDJ aqui, como exemplo, mas é igual para ambos; a verde o botão que se pressiona para que o CDJ seja identificado no Rekordbox, quando este último estiver a ser executado no laptop). Imagem 4 A imagem 5 seguinte mostra, no Rekordbox, todas as ligações de INPUT, na mixer, que acabei de descrever anteriormente. Imagem 5 A imagem 6 seguinte mostra, no Rekordbox, todas as ligações de OUTPUT, na mixer, que derivam das ligações de INPUT. Imagem 6 A imagem 7 seguinte mostra, no Rekordbox, as definições do driver DJM-450 ASIO que vem out-of-the-box com o software da Pioneer. Imagem 7 As imagens 8 e 9 seguintes mostram, no Rekordbox, as configurações base para o driver DJM-450 ASIO out-of-the-box (de notar que o mixer mode está seleccionado como External. Mostra ainda o mapeamento dos canais de INPUT e de OUTPUT). Imagem 8 Imagem 9 A imagem 10 seguinte mostra, no Rekordbox, as opções de drivers que tenho instalados no laptop e que estão disponíveis para usar no software. Aqui, já tentei diversas configurações, usando o CABLE Input (VB-Audio Virtual Cable), o ASIO4ALL v2 e o VoiceMeteer Virtual ASIO. Não consegui mapear corretamente ambos os canais da mixer com nenhum deles para poder usar no OBS Studio. Aqui começam as dúvidas. O que sugerem com o que está disponível? Imagem 10 A imagem 11 seguinte mostra, no S.O. Windows 10 do laptop, os dispositivos de som disponíveis, que derivam dos drivers que tenho instalados, para serem seleccionados de acordo com o que seja necessário. Também aqui já tentei ativar um de cada vez, com vários setups distintos, mas sem sucesso. Aqui continuam as dúvidas. O que sugerem com o que está disponível? Imagem 11 A imagem 12 seguinte mostra, no Rekordbox, o carregamento de duas músicas (apenas a título de exemplo) para serem tocadas em modo Performance e controladas fisica e externamente pela mixer e pelos CDJ's. NOTA: numa situação normal de atuação, sem live streaming sendo necessário, e seleccionando o driver DJM-450 ASIO out-of-the-box, tudo funciona na perfeição, sem problema algum. Imagem 12 As imagens 13 e 14 seguintes mostram, no Rekordbox, o aspeto uma das configurações possíveis do Audio, quando o driver ASIO4ALL é seleccionado (a vermelho). Os canais de INPUT estão a laranja e os canais de OUTPUT estão na imagem 14. Aqui, não tenho certezas do que escolher e como configurar a ordem dos INPUTS e OUTPUTS de acordo com a minha mixer. Já tentei muitas configurações diferentes, sempre sem sucesso. O Mixer Mode continua seleccionado como External (a verde). A amarelo é mostrada a janela de configuração (settings) do driver ASIO4ALL, que arranca e é mostrada automaticamente no ecrã assim que este driver é seleccionado no Rekordbox. Aqui continuam as dúvidas. O que sugerem com o que está disponível? Imagem 13 Imagem 14 A imagem 15 seguinte mostra, no VoiceMeteer Banana, uma das configurações possíveis e que tentei, sem sucesso. Este software é muito poderoso mas, na realidade, um pouco complexo para iniciar um mapeamento destes. Aqui, só consegui colocar um canal da mixer a retornar som. Como indiquei na imagem 3 acima, quando é carregada uma música no CDJ 1 que está mapeado no canal 1 da mixer (identificado a vermelho nessa imagem 3), esse canal retorna som aqui no A1 do VoiceMeteer. Consigo, inclusivé, controlar o som deste canal através do fader e knobs da mixer, e tudo isso é reflectido aqui, sem problemas. No entanto, quando carrego uma música no CDJ 2 (identificado a amarelo nessa imagem 3) e a tento tocar, o som desse CDJ SÓ SAI NO CANAL 1 da mixer, ou seja, não consigo controlar nada no canal 2 da mixer (fader e knobs). Em resumo, eu tenho os dois canais da mixer (1 e 2) a serem mapeados para um único canal 1, e apenas podem ser controlados por este canal 1!! É como se o CDJ 2 só servisse para fazer play e o som sair pelo canal 1, o que não deveria acontecer. Na mixer, de notar que só vejo leds verdes (relativos ao volume da música, quando foi dado play) apenas no canal 1. No canal 2 não sai nada, não mostra nada, não consigo controlar nada. Imagem 15 As imagens 16 e 17 seguintes mostram, no VoiceMeteer Banana, as opções que tenho disponíveis para mapeamento do Hardware Out A1 (imagem 16) e A2 (imagem 17). Já experimentei várias, em ambos, (WDM Cable, ASIO DJM-450 e ASIO4ALL), com várias configurações, sempre sem sucesso. Aqui continuam as dúvidas. O que sugerem com o que está disponível? Imagem 16 Imagem 17 A imagem 18 seguinte mostra, no Voicemeteer Banana, uma das configurações possíveis que tentei, também sem sucesso. Estão identificados os locais que fui tentando alterar, a roxo, a amarelo, a verde e a vermelho. Todas estas tentativas foram baseadas no tutorial do link que indiquei no início deste post. Relembro que esse tutorial foi criado com base numa mixer DJM900NXS2. Aqui continuam as dúvidas. O que sugerem com o que está disponível? Imagem 18 A imagem 19 seguinte mostra, no OBS Studio, os possíveis devices de Audio que podem ser preenchidos, consoante a configuração necessária. Imagem 19 A imagem 20 seguinte mostra, no OBS Studio, os drivers disponíveis no laptop, e que podem ser seleccionados aqui para mapear o device necessário. Também aqui tentei vários: CABLE Input(VB...), Voicemeteer(VB...VAIO), Line(PIONEER), etc. Em nenhum tive sucesso, como seria de esperar pois, se no VoiceMeteer não consegui mapear corretamente ambos os canais da mixer de forma independente, logo aqui não teria sucesso. A não ser que alguém saiba como conseguir por isso a funcionar sem usar o VoiceMeteer, se é que é possível... Há possibilidade de simplificar o processo aqui? Remover software/drivers da equação para simplificar? Ou então, o que deverá ser mapeado aqui, de acordo com o que já foi dito anteriormente e com o que tenho disponível? Imagem 20 As imagens 21, 22 e 23 seguintes mostram, no OBS Studio, uma tentativa de configuração, com uma nova entrada (device) denominada "ASIO Driver" com todas as opções e propriedades disponíveis para configurar e seleccionar. Na imagem 23 podemos abrir o Control Panel do driver ASIO4ALL. Aqui continuam as dúvidas. O que sugerem com o que está disponível? Imagem 21 Imagem 22 Imagem 23 A imagem 24 seguinte mostra, no Windows, as versões dos drivers que instalei no laptop até ao momento. Na realidade, tentei instalar/desinstalar algumas vezes, sempre com direitos de administrador. Imagem 24 Este é o cenário. Posso estar a complicar, não sei. Tentei seguir o tutorial que indiquei em cima, recomendado pela Pioneer, mas não funcionou para a minha mixer. Já pesquisei muito mesmo (há uma semana que ando nisto) e chego sempre à conclusão que parece ser possível, mas que é complicado, não tendo visto nenhuma solução específica para esta mixer. Não sei mais o que fazer pois, sinceramente, esgotei as minhas tentativas para tentar resolver isto. Obrigado pelo vosso tempo, se puderem ajudar. Cumps, J Amorim
  4. Oi Adriano, Muito obrigado pelo seu tempo e ajuda. Realmente o seu código está bem claro e ajudou. Tenho que refazer um pouco a forma como desenhei a aplicação para aplicar o que você sugeriu. Valeu a ajuda!
  5. Olá a todos, Estou a programar algo que abre um JFrame inicial contendo um painel. Nesse painel eu programei alguma animação que opera em alguns botões. Assim que eu clico num botão, abre um segundo JFrame que contém componentes swing e que vão servir para efeitos de formulário. O que pretendo é que quando clico nesse botão, o JFrame inicial feche e apenas o segundo JFrame (do formulário) fique visivel. Vou tentar disponibilizar a estrutura base principal do código que tenho, para não ser muito pesado colocar tudo aqui: public class DBLauncher extends JFrame { //Constructor public DBLauncher() throws IOException { super("Database Launcher v1.0"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(706, 768); setLocation(350, 50); setResizable(false); DBPanel panel = new DBPanel(); Container container = getContentPane(); container.setLayout(new BorderLayout()); //Use BorderLayout container.add(panel, BorderLayout.CENTER); //Insert e center panel on BorderLayout } private class DBPanel extends JPanel implements MouseListener, MouseMotionListener { //Constants... //Variables... //Constructor private DBPanel() throws IOException { //Panel constants... //Panel variables... ... ... this.setOpaque(false); this.setFocusable(true); this.addMouseListener(this); this.addMouseMotionListener(this); Thread thread = new Thread(() -> animate()); thread.start(); } public void delay(int milliseconds) { try { Thread.sleep(milliseconds); } catch (InterruptedException e) { } } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.setColor(new Color(100, 100, 100, 230)); //Define panel's transparent background using Color(r, g, b, a) where the "a" value = alpha channel g2.fillRect(0, 0, getWidth(), getHeight()); for (CustomShapeButton mainShapeButton : shapeButtons) { mainShapeButton.paintComponent(g2); } for (CustomShapeButton mainShapeWireFrame : shapeWireFrames) { mainShapeWireFrame.paintComponent(g2); } } @Override public void mouseClicked(MouseEvent me) { for (int i = 0; i < shapeButtons.size(); i++) { Shape shape = shapeButtons.get(i); if (shape.contains(me.getPoint())) { switch (i) { case 0: ... ... ... case 11: { musicButtonPressed = false; tvButtonPressed = false; gamesButtonPressed = true; booksButtonPressed = false; techButtonPressed = false; try { CardInsert ci = new CardInsert(); ci.setVisible(true); //É aqui que estou a criar a nova instância do segundo JFrame que aparece no ecrã (formulário). //É também aqui que deveria fechar a instância do JFrame inicial onde estão os botões, certo? Não estou conseguindo aceder à instância aqui para fazer dispose() ou setVisible(false), por exemplo. } catch (InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException | ClassNotFoundException ex) { Logger.getLogger(DBPanel.class.getName()).log(Level.SEVERE, null, ex); } System.out.println("Clicked on shape number " + i + " that represents the cards button!"); break; } } } } } public synchronized void animate() { while (true) { if (musicButtonPressed == true) { animateShapeButtonMusic(); ... ... delay(35); repaint(); } } } //Animate methods ... ... //Método main public static void main(String args[]) throws IOException { //Aqui estou a criar uma instância da classe inicial DBLauncher (JFrame inicial) DBLauncher dbl = new DBLauncher(); //Aqui digo que essa instância tem que estar visivel, por defeito, sempre que executo o programa pela primeira vez dbl.setVisible(true); } } } Já tentei instanciar objetos não estáticos dentro do método main, mas também já estava à espera que desse o erro comum "Cannot reference static methods from non-static....". Como posso resolver esta simples questão de fechar o JFrame inicial e mostrar outro, após clicar num botão dele? Como devem imaginar, no segundo JFrame vou querer fazer o mesmo: fechar ele próprio quando clicar no botão Menu Principal e voltar a abrir o JFrame inicial... Se calhar estou a complicar. Será que posso apenas "limpar" (ou substituir) o painel do JFrame inicial assim que clico no botão, preenchendo esse painel com os objetos swing que estão no segundo JFrame? Obrigado a todos desde já. Joaquim Amorim

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...