Example #1
0
    global updateAvailableEvent
    updateAvailableEvent.wait()
    returndata = []
    r = {}
    r['changes'] = True
    returndata.append(r)
    return json.dumps(returndata)


def __updateAvailableCallback():
    global updateAvailableEvent
    updateAvailableEvent.set()


def __resetUpdateAvailableEventThread():
    global updateAvailableEvent
    while True:
        updateAvailableEvent.wait()
        updateAvailableEvent.clear()


raumfeld.registerChangeCallback(__updateAvailableCallback)
raumfeld.init()

# Start observing the device list
resetUpdateAvailableEventThread = threading.Thread(
    target=__resetUpdateAvailableEventThread)
resetUpdateAvailableEventThread.daemon = True
resetUpdateAvailableEventThread.start()

run(host='0.0.0.0', port=8080, debug=True)
    """Returns when an update in the DataStructure happened"""
    global updateAvailableEvent
    updateAvailableEvent.wait()
    returndata = []
    r = {}
    r['changes'] = True
    returndata.append(r)
    return json.dumps(returndata)


def __updateAvailableCallback():
    global updateAvailableEvent
    updateAvailableEvent.set()

def __resetUpdateAvailableEventThread():
    global updateAvailableEvent
    while True:
        updateAvailableEvent.wait()
        updateAvailableEvent.clear()
        

raumfeld.registerChangeCallback(__updateAvailableCallback)
raumfeld.init()
print("Host URL: " +raumfeld.hostBaseURL)

# Start observing the device list
resetUpdateAvailableEventThread = threading.Thread(target=__resetUpdateAvailableEventThread)
resetUpdateAvailableEventThread.daemon = True
resetUpdateAvailableEventThread.start()

run(host='0.0.0.0', port=8080, debug=True)
        for room in zone.getRooms():
            print("\tUDN: " + room.UDN + " Name: " + room.Name)
            for renderer in room.getRenderers():
                print("\t\tUDN: " + renderer.UDN + " Name: " + renderer.Name + " Location: " + renderer.Location + " Volume: " + unicode(renderer.volume))
     
    print("Unassigned Rooms:")
    for room in raumfeld.getUnassignedRooms():
        print("Name: " + room.Name + " UDN: " + room.UDN)
        for renderer in room.getRenderers():
            print("\tUDN: " + renderer.UDN + " Name: " + renderer.Name + " Location: " + renderer.Location)
    print("########## This gets updated when the config changes. To QUIT press any key... ##########")
     
    #kueche = raumfeld.getRoomsByName(u'Küche')[0]
    #kuecheZone = raumfeld.getZoneWithRoomName(u'Wohnzimmer')[0]
    #status = kuecheZone.mute
    #print("Mute: {0}".format(status))
    #kueche.mute = not status
    #kuecheZone.play()
    #print("Volume: {0}".format(kuecheZone.volume))
     
    #raumfeld.connectRoomToZone(kueche.UDN)
    

raumfeld.setLogging(logging.WARN);
raumfeld.registerChangeCallback(dataHasBeenUpdated)
raumfeld.init() # or with the host IP: raumfeld.init("192.168.0.10")
print("Host URL: " +raumfeld.hostBaseURL)

# To QUIT press any key...
raw_input()
                      unicode(renderer.volume))

    print("Unassigned Rooms:")
    for room in raumfeld.getUnassignedRooms():
        print("Name: " + room.Name + " UDN: " + room.UDN)
        for renderer in room.getRenderers():
            print("\tUDN: " + renderer.UDN + " Name: " + renderer.Name +
                  " Location: " + renderer.Location)
    print(
        "########## This gets updated when the config changes. To QUIT press any key... ##########"
    )

    #kueche = raumfeld.getRoomsByName(u'Küche')[0]
    #kuecheZone = raumfeld.getZoneWithRoomName(u'Wohnzimmer')[0]
    #status = kuecheZone.mute
    #print("Mute: {0}".format(status))
    #kueche.mute = not status
    #kuecheZone.play()
    #print("Volume: {0}".format(kuecheZone.volume))

    #raumfeld.connectRoomToZone(kueche.UDN)


raumfeld.setLogging(logging.WARN)
raumfeld.registerChangeCallback(dataHasBeenUpdated)
raumfeld.init()  # or with the host IP: raumfeld.init("192.168.0.10")
print("Host URL: " + raumfeld.hostBaseURL)

# To QUIT press any key...
raw_input()
Example #5
0
            cur_meta['class'] == 'object.container.playlistContainer.queue'):
            playlist_items, item_count = browse_children(cur_meta['id'])
        elif cur_meta['class'] == 'object.container.person.musicArtist':
            all_tracks = browse_children(queue_id, 1)[0][0]
            playlist_items, item_count = browse_children(all_tracks['id'])
        elif cur_meta['class'] == 'object.item.audioItem.audioBroadcast.radio':
            playlist_items, item_count = [cur_meta], '0'
        else:
            playlist_items, item_count = browse_children(cur_meta['parentID'])
    except:
        playlist_items, item_count = [cur_meta], '0'
    __browseLock.release()

    return template('playlist', playlist_items = playlist_items, queue_id = queue_id, item_count = item_count, cur_track = cur_track)

raumfeld.registerChangeCallback(discover_active_zone)
raumfeld.debug = True

if os.path.isfile('host_ip')==False:
    raumfeld.init()
else:
    with open('host_ip', 'a+') as f:
        host_ip = f.readlines()[0]
    raumfeld.init(host_ip)

check_title_change_thread = threading.Thread(target=check_title_change)
check_title_change_thread.daemon = True
check_title_change_thread.start()

resetUpdateAvailableEventThread = threading.Thread(target=__resetUpdateAvailableEventThread)
resetUpdateAvailableEventThread.daemon = True