COCKTAIL NATION: EVENINGS AT THE PENTHOUSE

Monday - Friday at 11 PM PST

Background
share close
Monday 11:00 pm 12:00 am
Tuesday 11:00 pm 12:00 am
Wednesday 11:00 pm 12:00 am
Thursday 11:00 pm 12:00 am
Friday 11:00 pm 12:00 am
AD

Join Kooper in the Sydney Penthouse as he spins the very best classic and neo lounge along with the most interesting characters of swank join him for a chat on this weekend podcast.During the week Koop posts his music only Cocktail Nation Evenings at the Penthouse show where you can enjoy cocktail jazz at the end of your day.


COCKTAIL NATION: EVENINGS AT THE PENTHOUSE events


Sorry, there is nothing for the moment.

Rate it
AD
Chat with Deforest
} // --- NEW: Audio Player Logic --- let currentAudio = null; function playAudioFromBase64(base64String) { if (currentAudio) { currentAudio.pause(); } const audioData = `data:audio/mpeg;base64,${base64String}`; currentAudio = new Audio(audioData); currentAudio.play().catch(e => console.error("Audio play failed:", e)); } function toggleRacketeerChat() { const chatIsHidden = rrChatPopup.style.display === 'none'; rrChatPopup.style.display = chatIsHidden ? 'flex' : 'none'; if (!chatIsHidden && currentAudio) { currentAudio.pause(); // Stop audio when closing chat } } async function sendRacketeerMessage() { const query = rrUserInput.value.trim(); if (!query) return; addRacketeerMessage('You', query); rrUserInput.value = ''; try { const response = await fetch(RR_API_URL, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ query: query, sessionId: userSessionId }), }); if (!response.ok) throw new Error('Network error'); const data = await response.json(); // Add the text to the screen addRacketeerMessage('Deforest', data.response); // If we received audio data, play it if (data.audioBase64) { playAudioFromBase64(data.audioBase64); } } catch (error) { console.error('Error:', error); addRacketeerMessage('Deforest', 'Sorry, I seem to be having trouble connecting.'); } } function addRacketeerMessage(sender, text) { const messageElement = document.createElement('p'); messageElement.innerHTML = `${sender}: `; messageElement.appendChild(document.createTextNode(text)); rrChatWindow.appendChild(messageElement); rrChatWindow.scrollTop = rrChatWindow.scrollHeight; } // Voice input logic is the same, but we remove the old speakText function // ... (add the SpeechRecognition code here, but delete the old speakText function) ...