• THX1138

    For clarification, I'm talking about this: https://www.unifiedremote.com/remotes/scroll-wheel

    I found this in the GitHub repository which might enable me to infer how it works and replicate it: https://github.com/unifiedremote/Remotes/tree/master/Main/Scroll Wheel

    Is it even possible to use this in custom remotes?

    posted in Q&A read more
  • THX1138

    I became aware of a limitation of the use of a typical touchscreen-based remote control in some situations when compared to a traditional remote comprised of physical dials and buttons, in that with the tactile sensations of typical controls, you can operate the controls whilst viewing the main display which forms an efficient feedback loop, informing subsequent adjustments to the controls.

    For many situations this might not be of any real consequence but for controlling photo and video editing applications, it's an important consideration.

    http://nofilmschool.com/sites/default/files/styles/article_wide/public/uploads/2013/02/apple-Final-Cut-Pro-X-iPad-app-PROCUTX-Pixel-Film-Studios-1.jpg

    You can buy physical knobs and sliders which stick to a touch screen using suckers but they're pretty expensive and/or chunky, blocking a lot of the screen off.

    https://static.keymusic.com/products/228608/XL/tuna-dj-gear-rotary-knobs-for-touchscreens-6-pack-2.jpg

    https://c.slashgear.com/wp-content/uploads/2013/01/image000023-820x420.jpg

    My half-baked idea is maybe a removable screen protector film which could have braille-like indentations pressed into it by applying the film to a suitable surface (maybe 3D-printed?). That would provide some tactile feedback but still allow the entirety of the screen to shine through and not be a hassle to set up and remove when using your tablet for something else.

    These touch screen joysticks meant for mobile gaming are cheap but still block some of the screen and would be a hassle to set up and remove each time:

    https://www.aliexpress.com/item/Smartphone-Mini-Mobile-Joysticks-For-Touch-Screen-Phone-Tablet-Game-Controller-R179T-Drop-shipping/32828533767.html

    https://www.aliexpress.com/item/Untra-Thin-Game-Joystick-Controller-Stick-For-Touch-Screen-Mobile-Phone-Tablet-High-Quality/32825639430.html

    posted in General read more
  • THX1138

    Thanks very much for your response, Nathan and sorry for taking this long to get around to responding. I have so many tabs open in my browser and every day I'm losing the battle against them.

    My experience was the same and the multi key shortcuts were not working. I've fixed the remote lua file and I'm looking into how to update the download link now.

    posted in Projects read more
  • THX1138

    When I use landscape mode on my phone, the menu stays closed but on my tablet the menu opens and I can't find a way to close it. Please see the below screenshot to see what I mean. I would like to be able to use that space to expand my custom remote that I'm working on.

    http://imgur.com/3JhbJLX

    My phone is a Samsung Galaxy S5 with Resurrection Remix ROM 5.8.4 (Android 7.x) and my tablet a Tesco Hudl 2 with stock ROM (Android 5.x).

    posted in Layout read more
  • THX1138

    How does the scroll wheel remote work? I'd like to see if I can copy its functionality for my own remote.

    posted in Q&A read more
  • THX1138

    I can't find the layout and remote files in the .ZIP archive. I'm interested in the function of the finger flick sensor button.

    posted in Projects read more
  • THX1138

    I'm working on a remote which can be downloaded here:

    http://s3.amazonaws.com/unifiedremote-community-uploads/40980d27-eaa2-48e3-bcd6-acd66076150a.zip

    The problem is that when the device orientation is changed, the Unified Remote app crashes. This happens for a Samsung Galaxy S5 with Android 7 and Unified Remote 3.10.1 and Tesco Hudl 2 with Android 5 and Unified Remote 3.9.0.

    The Unified Remote server version is 3.6.0.950 (44) and the machine OS is Windows 10 Pro 64-bit.

    Layout

    <?xml version="1.0" encoding="utf-8"?>
    <layout orientation="landscape">
        <grid weight="32" normal="929292" color="242424">
            <row>
                <button ontap="select_tool" image="select_tool.png" scale="fit" />
                <button ontap="shuttle_backward" image="shuttle_backward.png" scale="fit" />
                <button ontap="shuttle_forward" image="shuttle_forward.png" scale="fit" />
                <button ontap="pause" image="pause.png" scale="fit" />
            </row>
            <row>
                <button ontap="hand_tool" image="hand_tool.png" scale="fit" />
                <button ontap="backward_one_frame" image="backward_one_frame.png" scale="fit" />
                <button ontap="forward_one_frame" image="forward_one_frame.png" scale="fit" />            
                <button ontap="play_pause" image="play_pause.png" scale="fit" />            
            </row>
            <row>
                <button ontap="slice_tool" image="slice_tool.png" scale="fit" />
                <button ontap="slice_selected_layer" image="slice_selected_layer.png" scale="fit" />
                <button ontap="toggle_snap" image="toggle_snap.png" scale="fit" />            
                <button ontap="scroll_to_playhead" image="scroll_to_playhead.png" scale="fit" />            
            </row>
            <row>
                <button ontap="rate_stretch_tool" image="rate_stretch_tool.png" scale="fit" />
                <button ontap="decrease_timeline_scale" image="decrease_timeline_scale.png" scale="fit" />
                <button ontap="increase_timeline_scale" image="increase_timeline_scale.png" scale="fit" />            
                <button image="blank.png" scale="fit" />            
            </row>
            <row>
                <button image="blank.png" scale="fit" />
                <button image="blank.png" scale="fit" />
                <button image="blank.png" scale="fit" />
                <button image="blank.png" scale="fit" />            
            </row>
        </grid>
       <button image="blank.png" scale="fill" />
        <grid weight="16" normal="929292" color="242424">
            <row>
                <button image="blank.png" scale="fit" />
                <button ontap="make_composite" image="make_composite.png" scale="fit" />
            </row>
            <row>
                <button ontap="import_media" image="import_media.png" scale="fit" />
                <button ontap="new_plane" image="new_plane.png" scale="fit" />            
            </row>
            <row>
                <button ontap="text_tool" image="text_tool.png" scale="fit" />
                <button ontap="new_text" image="new_text.png" scale="fit" />
            </row>
            <row>
                <button ontap="playhead_to_previous_keyframe" image="playhead_to_previous_keyframe.png" scale="fit" />
                <button ontap="playhead_to_next_keyframe" image="playhead_to_next_keyframe.png" scale="fit" />            
            </row>
            <row>
                <button image="blank.png" scale="fit" />
                <button image="blank.png" scale="fit" />            
            </row>
        </grid>
       <button image="blank.png" scale="fill" />
        <grid weight="8" normal="929292" color="242424">
            <row>
                <button image="media.png" scale="fit" />
            </row>
            <row>
                <button image="effects.png" scale="fit" />
            </row>
            <row>
                <button image="controls.png" scale="fit" />
            </row>
            <row>
                <button image="history.png" scale="fit" />
            </row>
            <row>
                <button image="blank.png" scale="fit" />
            </row>
        </grid>
     </layout>
    

    Remote

    local kb = require("keyboard");
    local keyboard = require("keyboard");
    -------------------------------------------------------------------------------------------------
    [email protected] Moves the playhead backward by one frame
    actions.back_one_frame = function()
        kb.stroke(",");
    end
    
    [email protected] Decreases the scale of the timeline by one increment
    actions.decrease_timeline_scale = function()
        kb.stroke("Ctrl+-");
    end
    
    [email protected] Moves the playhead forward by one frame
    actions.forward_one_frame = function()
        kb.press(".");
    end
    
    [email protected] Selects the hand tool
    actions.hand_tool = function()
        kb.stroke("h");
    end
    -------------------------------------------------------------------------------------------------
    [email protected] Increases the scale of the timeline by one increment
    actions.increase_timeline_scale = function()
        kb.stroke("Ctrl++");
    end
    
    [email protected] Opens the dialogue to create a new Composite Shot from the selected media
    actions.make_composite = function()
        kb.stroke("Ctrl+M");
    end
    
    [email protected] Opens the dialogue to create a new plane layer
    actions.new_plane = function()
        kb.stroke("Ctrl+Alt+A");
    end
    
    [email protected] Opens the dialogue to create a new text layer
    actions.new_text = function()
        kb.stroke("Ctrl+Alt+T");
    end
    [email protected] Pauses playback
    actions.pause = function()
        kb.stroke("k");
    end
    
    [email protected] Toggles playback/pause
    actions.play_pause = function()
        kb.stroke("space");
    end
    
    [email protected] Moves playhead to next keyframe
    actions.playhead_to_next_keyframe = function()
        kb.stroke("alt+.");
    end
    
    [email protected] Moves playhead to previous keyframe
    actions.playhead_to_previous_keyframe = function()
        kb.stroke("alt+,");
    end
    [email protected] Selects the rate stretch tool
    actions.rate_stretch_tool = function()
        kb.stroke("x");
    end
    
    [email protected] Scrolls view of timeline to the playhead
    actions.scroll_to_playhead = function()
        kb.stroke("v");
    end
    
    [email protected] Selects the select tool
    actions.select_tool = function()
        kb.stroke("v");
    end
    
    [email protected] Decrements preview and trimmer playback between -8x, -4x, -2x, -1, 1x, 2x, 4x and 8x speeds
    actions.shuttle_backward = function()
        kb.stroke("j");
    end
    
    [email protected] Increments preview and trimmer playback between -8x, -4x, -2x, -1, 1x, 2x, 4x and 8x speeds
    actions.shuttle_forward = function()
        kb.stroke("l");
    end
    [email protected] Slices selecte layer at position of playhead
    actions.slice_selected_layer = function()
        kb.stroke("ctrl+shift+d");
    end
    
    [email protected] Slices clicked layers at position of cursor
    actions.slice_tool = function()
        kb.stroke("c");
    end
    
    [email protected] Toggles snapping for layers and clips on timeline
    actions.snap_toggle = function()
        kb.stroke("s");
    end
    
    [email protected] Selects text tool for making or editing text layers
    actions.text_tool = function()
        kb.stroke("t");
    end
    

    posted in Android read more
  • THX1138

    This remote causes Unified Remote to crash when the device orientation is changed between portrait and landscape. This problem happens on two different devices running Android 5.x and 7.x so I'm confident it is reproducible.

    Hitfilm Pro and Express 2017 remote

    An in-progress remote to simulate a selection of commonly-used keyboard shortcuts in the video compositor and editor called Hitfilm Pro and Hitfilm Express 2017. The keyboard is configured to use the default shortcuts for these functions. If you have changed the shortcuts from their defaults then you will need to adjust the remote.lua file accordingly (it should be pretty obvious after a couple of minutes scrolling through).

    The shortcuts to the Media, Effects, Controls and History tabs are non-functional because there are no keyboard shortcuts for these at this time but I have made a feature request and will update the remote if this wish gets granted (or else remove the buttons).

    Screenshot_2017-08-20-19-52-51[1].png

    Features

    • Timeline zoom in button
    • Timeline zoom out button
    • And more..!

    Requirements

    Unified Remote (paid version)
    Hitfilm Pro or Express

    Setup

    See: https://www.unifiedremote.com/tutorials/how-to-install-a-custom-remote

    Todo

    • Will make the Media, Effects, Controls and History tabs functional if FX Home add keyboard shortcuts to those tabs
    • Am looking into the possibility of some kind of scrubbing bar at the bottom to allow scrubbing the timeline like a fancy shuttle/jog controller
    • Trying to find out why Unified Remote crashes when change screen orientation

    Download

    Hitfilm.zip

    posted in Projects read more
  • THX1138

    When I use landscape mode on my phone, the menu stays closed but on my tablet the menu opens and I can't find a way to close it. Please see the below screenshot to see what I mean. Is there a way to get that menu to collapse? I would like to be able to use that space to expand my custom remote that I'm working on.

    http://imgur.com/3JhbJLX

    My phone is a Samsung Galaxy S5 with Resurrection Remix ROM 5.8.4 (Android 7.x) and my tablet a Tesco Hudl 2 with stock ROM (Android 5.x).

    posted in Q&A read more
  • THX1138

    The orientation="landscape" option for the layout tag doesn't seem to do anything for my remote on Android; it just displays in portrait. Nathan the moderator says it doesn't work for him either.

    The app is up-to-date and my ROM is Resurrection Remix 5.8.2 (Nougat).

    posted in Android read more

Internal error.

Oops! Looks like something went wrong!