No internet connection
  1. Home
  2. Macro and Script Help

Samply.app: Improved UI interactivity with Developer Tools

By Nathan Salefski @nathansalefski
    2023-10-17 22:47:24.167Z

    Title

    Samply.app: Improved UI interactivity with Developer Tools

    What do you expect to happen when you run the script/macro?

    Automating Samply is extremely clunky and some things simply do not work.

    Are you seeing an error?

    Cannot find UI element

    What happens when you run this script?

    Hey everyone!

    I'm not sure if anyone else uses Samply.app but it's an incredible way to quickly send clients mixes and keep track of revisions. The issue I'm facing is automating processes inside it are pretty clunky and don't work exactly how I'd like. I know that the desktop application has the option to toggle developer tools but as someone who knows very little, it's not helping me much. I was wondering if it would in fact be possible to have this more seamlessly integrated with those tools being immediately accessible

    How were you running this script?

    I used a Stream Deck button

    How important is this issue to you?

    3

    Details

    {
        "inputExpected": "Automating Samply is extremely clunky and some things simply do not work.",
        "inputIsError": true,
        "inputError": "Cannot find UI element ",
        "inputWhatHappens": "Hey everyone!\n\nI'm not sure if anyone else uses Samply.app but it's an incredible way to quickly send clients mixes and keep track of revisions. The issue I'm facing is automating processes inside it are pretty clunky and don't work exactly how I'd like. I know that the desktop application has the option to toggle developer tools but as someone who knows very little, it's not helping me much. I was wondering if it would in fact be possible to have this more seamlessly integrated with those tools being immediately accessible ",
        "inputHowRun": {
            "key": "-MpfwmPg-2Sb-HxHQAff",
            "title": "I used a Stream Deck button"
        },
        "inputImportance": 3,
        "inputTitle": "Samply.app: Improved UI interactivity with Developer Tools"
    }

    Source

    const samply = sf.ui.app("com.electron.samply")
    
    const projectsTab = samply.mainWindow.groups.first.groups.first.groups.first.groups.first.children.whoseRole.is("AXWebArea").whoseTitle.is("History").first.groups.first.groups.first.groups.allItems[1].children.whoseRole.is("AXList").first.children.whoseRole.is("AXLink").whoseDescription.is("Projects 󰅂").first
    
    const newProjectButton = samply.mainWindow.groups.first.groups.first.groups.first.groups.first.children.whoseRole.is("AXWebArea").whoseTitle.is("Projects").first.groups.first.groups.first.groups.allItems[2].children.whoseRole.is("AXList").first.buttons.whoseTitle.is("New").first
    
    const createProjectWindow = samply.mainWindow.groups.first.groups.first.groups.first.groups.first.children.whoseRole.is("AXWebArea").whoseTitle.is("Projects").first.groups.first.groups.first.groups.allItems[4].groups.allItems[1]
    
    function main() {
        samply.appActivateMainWindow();
    
        samply.mainWindow.invalidate();
    
        projectsTab.elementClick();
    
        sf.wait({ intervalMs: 150 });
    
        newProjectButton.elementClick();
    
        createProjectWindow.elementWaitFor();
    
        createProjectWindow.groups.allItems[1].textFields.whoseTitle.is("Name").first.elementSetTextFieldWithAreaValue({
            value: "Test"
        });
    }
    
    main();
    

    Links

    User UID: EoVu20w2ZRTvmJvgozc57ZXuAhU2

    Feedback Key: sffeedback:EoVu20w2ZRTvmJvgozc57ZXuAhU2:-NgzocUeqzu6fG2R5WB4

    Feedback ZIP: g0vkibB5aT/SW19T8OuawaF2idIAIeNOWgd2sdLCnnaU1ox3pdHDXmmu6g1GUmUOO08p3z2FTUe9UpDlepJdHmF5zy++08tk+nwI2xUIbSMVRuhXqPPSJwD3lXT+Cw7C91MDlbzypl/7LeesmP/yXCQKVeshUG1XpFFclYkueRys7NKOkp1t56zyvCjVltYNS6o+uDO4Bs58FhLlKq8Jln6coaes0Y4Q+o0Seax8ClYxznzaB7Iu81VzpGgOtnEF10o4uh+SL3AZ6Wg29uPICD3xAZBYP/JO04GiceXSthAeM2QfJ/WndLSQwBrZzqJtdZVUIAmS0TiBrdkm+WF1kj+ugwQgTDq0N+pGVKDj2Rc=

    • 3 replies
    1. Nathan Salefski @nathansalefski
        2023-10-17 22:48:43.830Z

        @chrscheuer I saw this but I am uncertain if this has any relevance here Using an API of another program in Soundflow - AIRTABLE #post-7

        1. In reply tonathansalefski:

          Hi Nathan,

          Improving integration with Samply's app will most likely need the Samply team to work on some things on their end. I do think they wish to do this, but it might help if you reach out as a customer directly to them as well to voice your wish for that :)

          1. Nathan Salefski @nathansalefski
              2023-10-17 23:07:22.080Z

              Funny enough moments ago I just reached out and they informed me that they just finished building an API. Hopefully some improvements can be made once that's made available.