Ejemplo n.º 1
0
 def __exit__(self, exc_type, exc_value, traceback):
     if exc_type != None:
         print('Exception running the Viewer!')
         print('Exc type: {}\nexc value: {}'.format(exc_type, exc_value))
     self = None
     gc.collect()
     ng.shutdown()
Ejemplo n.º 2
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('audiofiles', nargs='*')
    parser.add_argument('--norm',
                        action='store_true',
                        default=False,
                        help='normalizes input audio')
    parser.add_argument('--info',
                        '-i',
                        action='store_true',
                        default=False,
                        help='prints info')
    parser.add_argument('--nogui',
                        action='store_true',
                        default=False,
                        help='commandline mode')
    parser.add_argument('--play',
                        action='store_true',
                        default=False,
                        help='plays on startup')
    parser.add_argument('--action', '-a')

    args = parser.parse_args()

    songs = []
    for audiofile in args.audiofiles:
        # nomix.add_layer(audiofile)
        songs.append(open_song_from_file(audiofile))

    # if args.norm:
    #     for song in songs:
    #         normalize(song)

    if args.info:
        for song in songs:
            print_info(song)
        return

    if args.nogui:
        return

    nanogui.init()
    nomix = NomixApp()
    i = 0
    if songs:
        for song in songs:
            nomix.add_layer(str(i), song)
            i += 1
        nomix.redraw_spect()
    nomix_set_status('[+] Initialized')
    print('[+] starting in gui mode')
    nomix.drawAll()
    nomix.setVisible(True)
    if args.play:
        nomix.engine.play(0)
    nanogui.mainloop()
    del nomix
    gc.collect()
    nanogui.shutdown()
Ejemplo n.º 3
0
def run_detached():
    viewer = Viewer()
    time.sleep(2)  # <-- otherwise I get a SIGSEGV: address boundary error
    h = ng.mainloop(detach=viewer.screen)
    h.join()
    viewer = None
    gc.collect()
    ng.shutdown()
Ejemplo n.º 4
0
def compare_voxel_grids(names, data):
    nanogui.init()

    app = VoxelGridViewer([x for x in zip(names, data)])
    app.drawAll()
    app.setVisible(True)

    nanogui.mainloop()
    del app
    gc.collect()
    nanogui.shutdown()
Ejemplo n.º 5
0
gui.addGroup("Basic types")
gui.addBoolVariable("bool", *make_accessors("bvar"))
gui.addStringVariable("string", *make_accessors("strvar"))

gui.addGroup("Validating fields")
gui.addIntVariable("int", *make_accessors("ivar"))
gui.addDoubleVariable("double", *make_accessors("dvar")).setSpinnable(True)

gui.addGroup("Complex types")
gui.addEnumVariable("Enumeration", *make_accessors("enumvar")) \
   .setItems(["Item 1", "Item 2", "Item 3"])
gui.addColorVariable("Color", *make_accessors("colvar"))

gui.addGroup("Other widgets")


def cb():
    print("Button pressed.")


gui.addButton("A button", cb)

screen.setVisible(True)
screen.performLayout()
window.center()

nanogui.mainloop()
screen = gui = window = None
gc.collect()
nanogui.shutdown()
Ejemplo n.º 6
0
                 [0, 0, 1, 0],
                 [0, 0, 0, 1]],
                dtype=np.float32
            )

            mvp[0:3, 0:3] *= 0.25
            mvp[0, :] *= self.size()[1] / self.size()[0]

            self.shader.setUniform("modelViewProj", mvp)
            self.shader.drawIndexed(gl.TRIANGLES, 0, 2)
        super(TestApp, self).drawContents()

    def keyboardEvent(self, key, scancode, action, modifiers):
        if super(TestApp, self).keyboardEvent(key, scancode,
                                              action, modifiers):
            return True
        if key == glfw.KEY_ESCAPE and action == glfw.PRESS:
            self.setVisible(False)
            return True
        return False

if __name__ == "__main__":
    nanogui.init()
    test = TestApp()
    test.drawAll()
    test.setVisible(True)
    nanogui.mainloop()
    del test
    gc.collect()
    nanogui.shutdown()