Build better products with our product team
This idea is for android devices only since ios devices don't have a system back button. When it's pressed, currently it kills the app. Please bring up the album/folder panel instead, or go to the parent folder directly. Thanks
Please make analyzing Warp Stabilizer on a nest go faster It relatively takes a long time to analyze. Sometimes I do not have a choice but to put WS on a nest instead of the clip.
At the end of the project, I begin the media management process via Premiere's Project Manager window. Unfortuntaely in its current state, the window is of a fixed size, limiting the amount of sequences you can see at one time to about 7. When you have to back up multiple sequences (different resolutions, etc), it would be great to be able to resize the window, specifically bigger, so that you can see and select a lot more sequences. Thank you.Premiere 25.2.12021 MacBook ProApple M1 ProSequoia 15.3.2
Would it be possible to let us upload our favourite smart materials to cloud storage? That way, if something happens to our compute, like if it becomes corrupted— we could reinstall Substance and still have access to all our smart materials on our adobe cloud. Right now, for example, I want to continue my project on a Mac in another building, but I’m not sure how to transfer my smart materials from my Windows 11 PC to the Mac mini.
Load in any edited video to premiere and have premiere auto detect cuts and find similar shots to compose a new cut based on it. A random (roll the dice) feature as well to cycle through different shots selected for those cuts. Practical example: I'm taking over a project that has had multiple sizzles or versions exported but the project file was lost. Import the cuts and have premiere find those shots for me so I can reconstruct it. Creative example: Take creative pacing and shot selection from a montage sequence. Find happy accidents by randomizing cuts.
Why?For plan renderings, I currently use tree/forest scatter brushes with layer styles applied, but this method doesn't look as great due to not having the shadow in the tree canopy. I thought about having a pattern overlay that incorporates trees canopy shadows, but then you have to get precise with tree brush placements on the edge of forests to match up with the texture and if needing to change the shadow direction, the pattern overlay would need to be rotated too and the forest border would need to be refined.General SolutionCreate a tool that can scatter trees on individual layers so bevel and emboss can be applied to each canopy vs an entire forest canopy mass. Downside is it's processing intensive and if there are significant design updates, the quickest thing would be to delete all trees and run the script again so the script needs to be efficient to run on your average laptop. There would be a "forest area" layer that is just a solid fill for where trees should be scattered/spawned so that border can be easily selected to run the script. What I've done so farUsed AI to create scripts and experimented with different methods to try and get desired results with optimization. I first tried to randomly place trees as smart objects, but couldn't get the script to respect a pre-selected forest area very well and it was very slow. Then tried a grid sample approach if a point was in the selected area to spawn trees, this was slow and I let my pc process overnight, but never saw results. Lastly, switched to a stamp method (see attached image and script) which works alright but it didn't achieve the desired density and was relatively slow since it has to open and close a tree.png for every tree placement which could be hundreds of times, which is not ideal and some trees are too overlapped. I tried improving it to increase density, reduce overlap, and even open all the tree .pngs first and/or add them to the same .psd and reference them for better performance but couldn't get those options to really work. Another solution would be to have an array of trees with realistic shadows vs dropshadows that are connected to a dynamic border, but I haven't seen anything like that in Photoshop to know if that's feasible. Disclaimer: the trees and the effects below are just a quick draft to see if it's possible to work with a script (tree .png's are attached). If someone here can improve this script or Adobe creates a better workflow for this, then I'll create much better looking trees and effects. #target photoshop // Define the resolution parameter (pixels/inch) var resolution = 200; // Default to 200 DPI, user can modify // Define the server path var serverPath = "C:\\Vegetation\\Trees\\Plan"; // Define the tree file names var treeFiles = ["Tree01.png", "Tree02.png", "Tree03.png", "Tree04.png", "Tree05.png", "Tree06.png"]; // Load .png files from server function loadPNGsFromServer(serverPath, treeFiles) { var pngPaths = []; for (var i = 0; i < treeFiles.length; i++) { var fullPath = new File(serverPath + "\\" + treeFiles[i]); if (fullPath.exists) { pngPaths.push(fullPath); } else { alert("File not found: " + fullPath.fsName); } } return pngPaths; } // Scatter .png files within a preselected area function scatterPNGsInArea(pngPaths, scale, treeDensity, resolution, minSizeFeet, maxSizeFeet) { var docRef = app.activeDocument; try { if (docRef.selection && docRef.selection.bounds && docRef.selection.bounds.length > 0) { var selectionBounds = docRef.selection.bounds; var xMin = selectionBounds[0].value; var yMin = selectionBounds[1].value; var xMax = selectionBounds[2].value; var yMax = selectionBounds[3].value; var width = xMax - xMin; var height = yMax - yMin; var area = width * height; // Convert min/max sizes from feet to pixels var minSizePx = (minSizeFeet / scale) * resolution; // Convert to pixels var maxSizePx = (maxSizeFeet / scale) * resolution; // Convert to pixels // Calculate tree count for specified density var avgSizePx = (minSizePx + maxSizePx) / 2; var effectiveArea = area * (treeDensity / 100); // Density as percentage var treesPerRow = Math.max(1, Math.floor(Math.sqrt(effectiveArea) / avgSizePx)); var treeCount = Math.min(1000, Math.max(100, Math.floor(treesPerRow * treesPerRow))); // Increased density by 10x var placedTrees = 0; for (var i = 0; i < treeCount; i++) { try { var randomIndex = Math.floor(Math.random() * pngPaths.length); var fileRef = pngPaths[randomIndex]; var treeDoc = app.open(fileRef); // Ensure the tree document is at the correct resolution treeDoc.resizeImage(undefined, undefined, resolution, ResampleMethod.NONE); treeDoc.selection.selectAll(); treeDoc.selection.copy(); treeDoc.close(SaveOptions.DONOTSAVECHANGES); docRef.paste(); var layerRef = docRef.activeLayer; // Random size within min/max range var sizePx = minSizePx + (Math.random() * (maxSizePx - minSizePx)); // Resize the layer using percentage scaling (base size is 100px) var scaleFactor = (sizePx / 100) * 100; // Percentage relative to 100px layerRef.resize(scaleFactor, scaleFactor, AnchorPosition.MIDDLECENTER); // Get dimensions for positioning var newWidth = layerRef.bounds[2].value - layerRef.bounds[0].value; var newHeight = layerRef.bounds[3].value - layerRef.bounds[1].value; // Random position ensuring the entire tree stays within bounds var xPos = xMin + (newWidth / 2) + Math.random() * (width - newWidth); var yPos = yMin + (newHeight / 2) + Math.random() * (height - newHeight); layerRef.translate(xPos - layerRef.bounds[0].value, yPos - layerRef.bounds[1].value); // Random rotation var rotation = Math.random() * 360; var idTrnf = charIDToTypeID("Trnf"); var desc3 = new ActionDescriptor(); desc3.putEnumerated(charIDToTypeID("FTcs"), charIDToTypeID("QCSt"), charIDToTypeID("Qcsa")); var idOfst = charIDToTypeID("Ofst"); var desc4 = new ActionDescriptor(); desc4.putUnitDouble(charIDToTypeID("Hrzn"), charIDToTypeID("#Pxl"), 0); desc4.putUnitDouble(charIDToTypeID("Vrtc"), charIDToTypeID("#Pxl"), 0); desc3.putObject(idOfst, charIDToTypeID("Ofst"), desc4); desc3.putUnitDouble(charIDToTypeID("Angl"), charIDToTypeID("#Ang"), rotation); executeAction(idTrnf, desc3, DialogModes.NO); placedTrees++; } catch (e) { alert("Failed to place tree " + (i + 1) + ". Error: " + e + "\nContinuing with next tree."); continue; } } docRef.selection.deselect(); alert("Successfully placed " + placedTrees + " trees in the selected area."); } else { alert("No valid selection found. Please draw a selection with the Marquee Tool (M) before running the script."); } } catch (e) { alert("Error processing selection.\nError: " + e + "\nPlease ensure a selection exists and try again."); } } // Main function function main() { var pngPaths = loadPNGsFromServer(serverPath, treeFiles); if (pngPaths.length === 0) { alert("No valid tree files found. Check the server path and file names."); return; } // Create a dialog for setting parameters var dlg = new Window("dialog", "Tree Scatter"); dlg.orientation = "column"; dlg.alignChildren = "left"; dlg.add("statictext", undefined, "Resolution (DPI):"); var resolutionInput = dlg.add("edittext", undefined, "200"); resolutionInput.characters = 5; dlg.add("statictext", undefined, "Scale:"); var scaleInput = dlg.add("edittext", undefined, "100"); scaleInput.characters = 5; dlg.add("statictext", undefined, "Minimum Size (feet diameter):"); var minSizeInput = dlg.add("edittext", undefined, "15"); minSizeInput.characters = 5; dlg.add("statictext", undefined, "Maximum Size (feet diameter):"); var maxSizeInput = dlg.add("edittext", undefined, "50"); maxSizeInput.characters = 5; dlg.add("statictext", undefined, "Density Percent:"); var densityInput = dlg.add("edittext", undefined, "95"); densityInput.characters = 5; var scatterButton = dlg.add("button", undefined, "Scatter Trees"); scatterButton.onClick = function() { var resolution = parseFloat(resolutionInput.text); var scale = parseFloat(scaleInput.text); var minSizeFeet = parseFloat(minSizeInput.text); var maxSizeFeet = parseFloat(maxSizeInput.text); var treeDensity = parseFloat(densityInput.text); if (isNaN(resolution) || isNaN(scale) || isNaN(minSizeFeet) || isNaN(maxSizeFeet) || isNaN(treeDensity)) { alert("Please enter valid numerical values for all fields."); return; } if (resolution <= 0 || scale <= 0 || minSizeFeet <= 0 || maxSizeFeet <= 0 || treeDensity <= 0 || treeDensity > 100) { alert("Resolution, scale, sizes, and density must be positive numbers; density must be 0-100."); return; } if (minSizeFeet > maxSizeFeet) { alert("Minimum size cannot be greater than maximum size."); return; } scatterPNGsInArea(pngPaths, scale, treeDensity, resolution, minSizeFeet, maxSizeFeet); dlg.close(); }; dlg.show(); } main();
I’d love to see a built-in way to add or edit lens metadata in Lightroom for images shot with analog cameras or with uncoded lenses on digital bodies (e.g. third-party lenses for Leica M). Right now, the only options are clunky third-party tools or workarounds that aren’t integrated into my Lightroom workflow. This feature would be a huge help for photographers who regularly shoot film or use third-party glass on digital cameras. I’m not looking for anything overly complex—just a simple way to tag lens make, model, and focal length. Perhaps Adobe could add a metadata field to indicate when EXIF data was changed manually. I know some folks enjoy hacking EXIF data with command-line tools or plugins, but I’m not that kind of geek. I'd really appreciate a user-friendly solution within Lightroom Classic or Lightroom CC. Thanks for considering it!
Feature to copy/paste modified transition Effects after changing the direction/duration/location parameters. Of course, the user would like to use the same Effect with the same parameters across multiple clips, for example text. If the user made a transition between two dummy clips for copy/pasting, only every other transition would be in place... Thanks!
really, guys? it is great that you've implemented this feature (that Lr classic lacks so much), but not considering the border in the dimension of the rendered file is so dumb. the app even warns you of that, like it is easy to calculate the right size based on the slider unit of whatever. you don't even need ux research to find that this is a bad decision.
I'm not a professional and have only used Lightroom for less than a year. I do love the redesign and I want to use it but I don't like the auto-sync. How hard would it be to implement an option that prevents auto sync and instead enables manual sync? My idea is to add a manual sync option in the settings and when you want a photo to be uploaded to the cloud you should be able to click on the cloud button and hit "Sync" or "Upload". Taking away people's ability to choose doesn't just scare away the pros but also the beginners. Also, some advanced features from the original Lightroom need to be added. One of them is the export function. The new export function is terrible. I only see "Small, Full Size, and Custom". The original Lightroom has a lot more export functions.
I can hardly believe it if so. It is presumably trivial to add and yet is potentially an impediment to migrating from Classic to Cloud. I have tens of thousands of photos with text in the caption field and I use it being empty as a distinguishing mark on whether I have fully finished identifying what is in the photo (bird names in this case).
I think it would be great to have the ability to see multiple artboards on a screen in the preview mode when I share a file with my team. Sometimes we are comparing two or three different designs and would like to see them all on one screen rather than having to scroll between them. Or sometimes with social media posts we have a carousel post that looks better when seen all together rather than seperatly.
I would love to see a configuration item added to Lightroom Classic. It would allow the user to *exclude* source disk drives from consideration from the import dialog. This would be a performance benefit. When I click the Import button, I then have to wait about 30 seconds before I even have a chance to select a source drive for the import. This is not because I have a slow system; rather, it's because I have several USB-connected external drives. Many of them are backup drives which are normally sleeping, and it takes them a moment to wake up upon first access. I'll *never* want to import files from them, so I'd love to be able to tell Lightroom to permanently ignore drives F through J, for example. Alternatively, if it's easier to implement, it would be acceptable to turn this around and make it an *include* list, indicating to Lightroom which of my drives should be considered candidates for import sources. Either way would work, and would improve my workflow and efficiency.
Hello Adobe Team,I recently subscribed to Adobe Firefly to create realistic agricultural animations for our spraying technology.One specific animation I want to create is:A single water droplet falling from above — exploding mid-air into microdroplets — and then dispersing over a leaf’s surface.This effect is crucial for visualizing how our electrostatic low-volume sprayer works, and it would be a fantastic way to communicate its precision and efficiency to our customers.However, I haven’t found a way to animate such mid-air breakup or fluid behavior within Firefly.Is there a way to simulate this effect, or is a feature like this under development?If Firefly can’t handle this currently, would you recommend combining it with other Adobe tools (e.g., After Effects, Substance 3D)?Thank you for your amazing work — looking forward to seeing what Firefly evolves into!Best regards,
It would be nice that with all these features and all this stuff on the cloud that photoshop would also be able to backup your preferences somehow and save them. Instead everytime I have to re-install photoshop, for any number of reasons, if I don't manually back it up myself then it's all lost. I recently had to re-install windows, didn't have the option to back anything up, and now my settings are gone forever. Seems pretty stupid that this isn't already a thing considering how many people have had problems not having their preferences saved or retrievable after looking through posts.
Adobe, please acknowledge that US English is not standard English. I am fed up of having to correct words like "colour" because of your "English - auto-detected" setting, which imposes US English. Premiere Pro has the Brazilian and European versions of Portuguese, so it is possible for you to automate writing captions in different versions of the same language. Please enable this in version 26, it would save a lot of time when editing videos.
I’d love to see a feature similar to the Essential Sound panel, but for color correction. The idea is to select multiple clips and apply automatic adjustments based on user-defined parameters (such as target brightness, contrast range, or other measurable criteria). Each clip would be analyzed and corrected individually to meet the specified targets—ensuring consistency in perceived brightness, rather than simply applying identical exposure settings.Much like the Essential Sound panel lets users define presets and batch-adjust audio levels, this Essential Color panel could allow the same workflow for visual consistency. For instance, if two clips are visually similar, the tool should bring them to the same brightness level, not merely apply the same numeric exposure value.This would be a major time-saver. It would also help decouple color correction from the editing timeline—something I currently workaround with adjustment layers, which can be clunky and error prone.(Note: The existing auto color correction tools haven't delivered usable results for me so far—they often produce inconsistent or unnatural adjustments.)
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.