Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - xtermin8r

Pages: [1] 2 3 ... 21
1
hi xtermin8or

I m asking you about this old topic because i can't see the old pics.
Great work on that interface, i saw it on YT.

I would love to figured out how you can parse on an RSS your voxlog.txt or if there is a way on rainmeter of keeping the voxlog on a notes box or something.

If i'm OT any mod can please tell me.

Thanks in advantage.

Hi
Ill post some info for you soon.

2
WAY Off Topic / Re: The xtermin8r has returned
« on: August 18, 2015, 10:42:09 AM »
Welcome back. Where did you go?  :P

I took a break from everything and decided to explore and experiment with virtual worlds.

3
WAY Off Topic / The xtermin8r has returned
« on: August 17, 2015, 11:36:02 AM »
hi everyone
im back.

Snap - The Ex-Terminator - 1992 (Rare)

4
Integration Ideas / Re: Voxcommando Speech to Milkdrop Visualisation.
« on: August 25, 2014, 01:36:27 PM »
below is my method to enable line in for winamp by using command line parameters : Simple

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 1.9.5.6-->
<command id="1169" name="Line In" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>Launch.Hidden</cmdType>
    <params>
      <param>E:\Appz\Media Players\Winamp_5.66\winamp.exe</param>
      <param>linein://</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <phrase>Line In</phrase>
</command>


 

5
Integration Ideas / Re: Voxcommando Speech to Milkdrop Visualisation.
« on: August 24, 2014, 06:05:37 PM »
I think the burning question is, how do you get milkdrop to respond to the TTS audio.

terribly sorry, i thought that video had something to do with the milkdrop osd being displayed.

this is how it's done :

1. Enable line in for winamp by right clicking on the eject button and selecting open url then pasting linein:// as the url.
2. Enable stereo mix

that's it i think.

some info to guide you :
http://vjforums.info/threads/winamp-milkdrop-audio-input.6637/

6
Integration Ideas / Re: Voxcommando Speech to Milkdrop Visualisation.
« on: August 24, 2014, 08:43:43 AM »
Is this through something like VAC to Winamp?  How does one do this?

i dont use vac, i think i used vc or an autoit script to write to a  file called milk2_msg.ini, which resides in the milkdrop visualisation folder, then i refresh the milkdrop visualisation.

i will take a look again and let you know how i did it.

7
XML Exchange / Re: What can I Say a la Siri Style !
« on: July 30, 2014, 11:46:52 AM »
I was planning on doing the same thing but in python.
Thanks.

8
I've installed the v2.0 and for some reason the application won't open.
I can see in Task Manager that the process opens and closes immediately everytime i run it.

Try right clicking on voxcommado.exe and run as administrator.

9
Integration Ideas / Re: Voxcommando Media Player Classic Integration.
« on: July 19, 2014, 10:09:09 PM »
the long awaited video.

&feature=youtu.be

10
Integration Ideas / Re: Voxcommando Media Player Classic Integration.
« on: July 17, 2014, 10:55:07 PM »
artist to m3u playlist, this script scans the musicvideos.xml file created by the 1st script ScanMusicVideos.py and extracts all entries containing artist name and creates a m3u playlist file for mpc.

Code: [Select]
#-------------------------------------------------------------------------------
# Name:        Scan Music VidcArtists to m3u
# Purpose:
#
# Author:      xtermin8r
#
# Created:     18/07/2014
# Copyright:   (c) xtermin8r 2014
# Licence:     To Kill
#-------------------------------------------------------------------------------
from itertools import groupby
import urllib, urllib2
import re
import os
from re import findall
from xml.etree import ElementTree as ET
import sys
import subprocess
import urllib

pathmpc = "E:\Appz\Media Players\MPC-HC.1.7.3.x86\mpc-hc.exe"
pathvc = "E:\Appz\Vox\VoxCommando_1.951\VoxCommando.exe"
m3ufile = open("E:\\Appz\\Vox\\payloads\\Artist_list.m3u", "wb")

xml = "E:\Appz\Vox\Payloads\musicvideos.xml"

#-------------------------------------------------------------------------------
# get comamnd line arguments
#-------------------------------------------------------------------------------
if(len(sys.argv) > 1):
    string1 = (sys.argv)
    # join list as a string
    string1 = ' '.join(string1)
    # regex commandline argument from vc
    string1 = (re.findall('.py (.*)',string1))
    #store match 0
    string1 = string1[0]
#-------------------------------------------------------------------------------
# vc stuff
#-------------------------------------------------------------------------------
#DEBUG
#string1 = 'andain'
url = urllib.URLopener()
url.open('http://127.0.0.1:8081/api/tts.speak&&playing music videos by  ' + string1)
#-------------------------------------------------------------------------------

value = []
phrase = []

def ReadXml():
    for child in root:
        global nodup
        c1 = (child.find('value').text)
        if c1 is not None:
            if string1.lower() in c1.lower():
                value = (c1.encode("UTF-8"))
                m3ufile.write(str(value) + "\n")
                #print value
                phrase.append(value)
    return

#MAIN
tree = ET.parse(xml)
root = tree.getroot()
m3ufile.write("#EXTM3U" + "\n")
ReadXml()
m3ufile.close()
subprocess.call([pathmpc, "E:\Appz\Vox\Payloads\Artist_list.m3u"])

vc command to execute the script:

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 1.9.5.6-->
<command id="890" name="Play videos by Artist" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>Launch.Hidden</cmdType>
    <params>
      <param>E:\Appz\Programming\Python26\python</param>
      <param>E:\Appz\Vox\PY\Artist2m3u.py {PF.1}</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>OSD.ShowText</cmdType>
    <params>
      <param>{PF.1}</param>
      <param />
      <param>30</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <phrase>play music videos by</phrase>
  <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">E:\Appz\Vox\Payloads\ArtistVideos.xml</payloadFromXML>
</command>

11
Integration Ideas / Re: Voxcommando Media Player Classic Integration.
« on: July 17, 2014, 09:40:34 PM »
more to follow.

12
Integration Ideas / Re: Voxcommando Media Player Classic Integration.
« on: July 17, 2014, 09:01:36 PM »
Scan music video artists, this script will extract all artist names to an xml from the musicvideos.xml generated by the above script ScanMusicVideos.py,  make sure there is a hyphen between artist and song name.

Code: [Select]
#-------------------------------------------------------------------------------
# Name:        Extract elements from XML
# Purpose:
#
# Author:      xtermin8r
#
# Created:     10/06/2014
# Copyright:   (c) xtermin8r 2014
# Licence:     <your licence>
#-------------------------------------------------------------------------------
import urllib, urllib2
import re
import os
from re import findall
from xml.etree import ElementTree as ET

txtfile = open("E:\\Appz\\Vox\\payloads\\artist_videos.txt", "wb")
xmlin = "E:\Appz\Vox\Payloads\musicvideos.xml"
xmlout = "E:\\Appz\\Vox\\payloads\\ArtistVideos.xml"

#function: get rid of unwanted characters
def cfix(zx):

    f2 = re.sub( '\s+', ' ', zx).strip()
    #Remove Digits
    #f2 = re.sub(r"(^|\W)\d+", "", f2)

    f2 = f2.replace('xDR;', ' ')
    f2 = f2.replace(" -", " ")
    f2 = f2.replace("- ", " ")
    f2 = f2.replace(" - ", " ")
    f2 = f2.replace("-", " ")
    f2 = f2.replace(":", " ")
    f2 = f2.replace("_", " ")
    f2 = f2.replace("5.1", "")
    f2 = f2.replace(".", " ")
    f2 = f2.replace("!", " ")
    f2 = f2.replace("?", " ")
    f2 = f2.replace("@", " ")
    f2 = f2.replace("&#150", "-")
    f2 = f2.replace("1080p", " ")
    f2 = f2.replace("720p", " ")
    f2 = f2.replace("720P", " ")
    f2 = f2.replace("x264", " ")
    f2 = f2.replace("ac3", " ")
    f2 = f2.replace("AC3", " ")
    f2 = f2.replace("DTS", " ")
    f2 = f2.replace("DVD", " ")
    f2 = f2.replace("DvD", " ")
    f2 = f2.replace("VOB", " ")
    f2 = f2.replace("rip", " ")
    f2 = f2.replace("aac", " ")
    f2 = f2.replace("Rip", " ")
    f2 = f2.replace("hd", " ")
    f2 = f2.replace("HD", " ")
    f2 = f2.replace("Hd", " ")
    f2 = f2.replace("Hq", " ")
    f2 = f2.replace("BluRay", " ")
    f2 = f2.replace("Blu Ray", " ")
    f2 = f2.replace("1080i", " ")
    f2 = f2.replace("H264", " ")
    f2 = f2.replace("h264", " ")
    f2 = f2.replace("(", " ")
    f2 = f2.replace(")", " ")
    f2 = f2.replace("]", " ")
    f2 = f2.replace("[", " ")
    f2 = f2.replace("AlbumArtSmall", " ")
    f2 = f2.replace("folder", " ")
    f2 = f2.replace("AlbumArt", " ")
    f2 = re.sub( '\s+', ' ', f2).strip()
    global x
    x = f2
    return x

tree = ET.parse(xmlin)
root = tree.getroot()

#create the root </PayloadsRoot> <PayloadsRoot>
root_element = ET.Element("PayloadsRoot")

global t1
t1 = ""
n1 = 1

for data in root.findall('payload'):
    phrase = data.find('phrase').text
    value = data.find('value').text
    head, tail = os.path.split(value)
    value = ('.').join(tail.split('.')[:-1])
    #remove beginning digits
    value = re.sub('^[0-9]+.', '', value)
    #Remove empty lines
    #split before hyphen
    value = value.split('-', 1)[0]
    cfix(value)
    value = x
    if (value.lower() != t1.lower()):
        if t1 != value:
            if (value != ""):
                #remove beginning digits
                artist = re.sub('^[0-9]+.', '', value)

                #create the first subelemet <payload> </payload>
                pay_element = ET.SubElement(root_element, "payload")
                #create the first child <value> </value>
                child = ET.SubElement(pay_element, "value")
                child.text = str(n1)

                #create the second child <phrase> </phrase>
                child = ET.Element("phrase")

                child.text = artist
                #now append
                pay_element.append(child)

                child = ET.Element("subsetmatching")
                child.text = "true"
                #now append
                pay_element.append(child)

                n1 = n1 + 1
                #txtfile.write(str(artist) + "\n")
                txtfile.write(artist + "\n")
                #print(value)
    t1 = artist

txtfile.close()
def indent(elem, level=0):
    i = "\n" + level*'\t'
    if len(elem):
        if not elem.text or not elem.text.strip():
            elem.text = i + '\t'
        if not elem.tail or not elem.tail.strip():
            elem.tail = i
        for elem in elem:
            indent(elem, level+1)
        if not elem.tail or not elem.tail.strip():
            elem.tail = i
    else:
        if level and (not elem.tail or not elem.tail.strip()):
            elem.tail = i

indent(root_element)
#View xml tree
print ( ET.tostring(root_element) )

output_file = open(xmlout, 'w' )
output_file.write( '<?xml version="1.0" encoding="utf-8"?>'+'\n' )
output_file.write( '<!--A VoxCommando Payload file-->' +'\n' )
output_file.write( ET.tostring(root_element) )
output_file.close()


13
Integration Ideas / Re: Voxcommando Media Player Classic Integration.
« on: July 17, 2014, 08:55:41 PM »
Scan contents of directories and sub directories to xml, click on the link below to download the script.

Code: [Select]
#-------------------------------------------------------------------------------
# Name:        Scan Music Videos
# Purpose:     I need it
#
# Author:      xtermin8r
#
# Created:     21/05/2014
# Copyright:   (c) xtermin8r 2014
# Licence:
#-------------------------------------------------------------------------------
import re
import os
from re import findall
from xml.etree import ElementTree as ET
import urllib, urllib2

# Set the directories
rootDir = "E:\Videos\Music Vids"
rootDir2 = "F:\Videos\Music Vids"
xmlpath = "E:\\Appz\\Vox\\payloads\\musicvideos.xml"
txtfile = open("E:\\Appz\\Vox\\payloads\\music_videos_list.txt", "wb")

#function: get rid of unwanted characters
def cfix(zx):
    global x
    f2 = re.sub( '\s+', ' ', zx).strip()
    f2 = f2.replace(" -", " ")
    f2 = f2.replace("- ", " ")
    f2 = f2.replace(" - ", " ")
    f2 = f2.replace("-", " ")
    f2 = f2.replace(":", " ")
    f2 = f2.replace("_", " ")
    f2 = f2.replace("5.1", "")
    f2 = f2.replace(".", " ")
    f2 = f2.replace("!", " ")
    f2 = f2.replace("1080p", " ")
    f2 = f2.replace("720p", " ")
    f2 = f2.replace("x264", " ")
    f2 = f2.replace("ac3", " ")
    f2 = f2.replace("AC3", " ")
    f2 = f2.replace("DTS", " ")
    f2 = f2.replace("DVD", " ")
    f2 = f2.replace("DvD", " ")
    f2 = f2.replace("VOB", " ")
    f2 = f2.replace("rip", " ")
    f2 = f2.replace("aac", " ")
    f2 = f2.replace("Rip", " ")
    f2 = f2.replace("hd", " ")
    f2 = f2.replace("HD", " ")
    f2 = f2.replace("Hd", " ")
    f2 = f2.replace("Hq", " ")
    f2 = f2.replace("BluRay", " ")
    f2 = f2.replace("Blu Ray", " ")
    f2 = f2.replace("1080i", " ")
    f2 = f2.replace("H264", " ")
    f2 = f2.replace("h264", " ")
    f2 = f2.replace("(", " ")
    f2 = f2.replace(")", " ")
    f2 = f2.replace("]", " ")
    f2 = f2.replace("[", " ")
    f2 = f2.replace("AlbumArtSmall", " ")
    f2 = f2.replace("folder", " ")
    f2 = f2.replace("AlbumArt", " ")
    f2 = re.sub( '\s+', ' ', f2).strip()
    x = f2
    return x

#create the root </PayloadsRoot> <PayloadsRoot>
root_element = ET.Element("PayloadsRoot")


def Scan(rootDir):
    for dirName, subdirList, fileList in os.walk(rootDir):
        for fname in fileList:
            if not fname.endswith (".jpg") :
                #create the first subelemet <payload> </payload>
                pay_element = ET.SubElement(root_element, "payload")
                #create the first child <value> </value>
                child = ET.SubElement(pay_element, "value")
                child.text = dirName +"\\" + fname
                #create the second child <phrase> </phrase>
                child = ET.Element("phrase")
                #get the filename without the extension
                fname = ('.').join(fname.split('.')[:-1])
                #Call function get rid of unwanted characters
                cfix(fname)
                fileName = x

                #Debug : Display file names
                #print(fileName)

                #Write filename to text file
                txtfile.write(str(fileName) + "\n")

                #now append
                child.text = fileName
                pay_element.append(child)

                child = ET.Element("subsetmatching")
                child.text = "true"

                pay_element.append(child)

def indent(elem, level=0):
    i = "\n" + level*'\t'
    if len(elem):
        if not elem.text or not elem.text.strip():
            elem.text = i + '\t'
        if not elem.tail or not elem.tail.strip():
            elem.tail = i
        for elem in elem:
            indent(elem, level+1)
        if not elem.tail or not elem.tail.strip():
            elem.tail = i
    else:
        if level and (not elem.tail or not elem.tail.strip()):
            elem.tail = i

#Main
#Call function Scan directory
Scan(rootDir)
#Another directory to scan
#Scan(rootDir2)
txtfile.close()

indent(root_element)
#Debug : View xml tree
#print ( ET.tostring(root_element) )

output_file = open(xmlpath, 'w' )
output_file.write( '<?xml version="1.0" encoding="utf-8"?>'+'\n' )
output_file.write( '<!--A VoxCommando Payload file-->' +'\n' )
output_file.write( ET.tostring(root_element) )
output_file.close()

#Send tts command to vox over http
url = urllib.URLopener()
url.open('http://127.0.0.1:8081/api/tts.speak&&scan has completed,sir')

14
Integration Ideas / Re: Voxcommando Media Player Classic Integration.
« on: July 17, 2014, 08:51:56 PM »
All mpc commands for vc, click on the link below to download them.


15
Integration Ideas / Re: Voxcommando Media Player Classic Integration.
« on: July 17, 2014, 05:02:17 PM »
Hi lja
I'll try uploading a video tonight, integration is complete, if you want to try it then download what's needed.

Pages: [1] 2 3 ... 21