func (p *NewScreen) EmitMsg(inputtext string) {
	p.lastAction = inputtext
	s := p.Current
	titleLen := len("Title: " + p.mediaTitle)
	w, h := s.Size()
	boldStyle := tcell.StyleDefault.
		Background(tcell.ColorBlack).
		Foreground(tcell.ColorWhite).Bold(true)
	blinkStyle := tcell.StyleDefault.
		Background(tcell.ColorBlack).
		Foreground(tcell.ColorWhite).Blink(true)
	s.Clear()
	p.emitStr(w/2-titleLen/2, h/2-2, tcell.StyleDefault, "Title: "+p.mediaTitle)
	if inputtext == "Waiting for status..." {
		p.emitStr(w/2-len(inputtext)/2, h/2, blinkStyle, inputtext)
	} else {
		p.emitStr(w/2-len(inputtext)/2, h/2, boldStyle, inputtext)
	}
	p.emitStr(1, 1, tcell.StyleDefault, "Press ESC to stop and exit.")
	isMute, err := p.TV.GetMuteSoapCall()
	if err != nil || isMute == "0" {
		p.emitStr(w/2-len("")/2, h/2+2, tcell.StyleDefault, "")
	} else {
		p.emitStr(w/2-len("MUTED")/2, h/2+2, blinkStyle, "MUTED")
	}
	p.emitStr(w/2-len(`Press "p" to Pause/Play, "m" to Mute/Unmute`)/2, h/2+4, tcell.StyleDefault, `Press "p" to Pause/Play, "m" to Mute/Unmute`)
	s.Show()
}
EmitMsg - Display the actions to the interactive terminal.
Method to implement the screen interface
package interactive
import (
	"errors"
	"fmt"
	"net/url"
	"os"
	"strings"
	"time"
	"github.com/alexballas/go2tv/internal/soapcalls"
	"github.com/gdamore/tcell/v2"
	"github.com/gdamore/tcell/v2/encoding"
	"github.com/mattn/go-runewidth"
)
type NewScreen struct {
	Current    tcell.Screen
	mediaTitle string
	lastAction string
	TV         *soapcalls.TVPayload
}
var flipflop bool = true
func (p *NewScreen) emitStr(x, y int, style tcell.Style, str string) {
	s := p.Current
	for _, c := range str {
		var comb []rune
		w := runewidth.RuneWidth(c)
		if w == 0 {
			comb = []rune{c}
			c = ' '
			w = 1
		}
		s.SetContent(x, y, c, comb, style)
		x += w
	}
}