Problemas con squeezelang-0.2.4

alfax está baneado por "troll"
pues resulta que me es imposible encontrar para descarga el programa 'squeezelang-0.2.4-windows.zip'
creo que fue la última versión. Este programa es una magnífico ripeador y reductor de contenidos en los juegos, no solamente de ps3.

A ver si lo tenéis alguno por ahí.

También quería preguntar a aquellos que lo usen o lo hayan usado, si han podido usar la opción de reducción de vídeos que dice 'dejar pistas de audio' para archivos .bik. Cuál es la sintaxis para decirle al programa que deje en el .bik varias pistas ?
Como ya me lo han pedido por privado varias veces, lo subo aqui
Squeezelang v0.2.4.zip ---> https://www.sendspace.com/file/bmyz0o

Para eliminar pistas de audio primero tienes que identificarlas, y eso lleva su tiempo porque pueden estar colocadas en cualquier posicion (cada una tiene un identificador, que es un numero, y cada desarrolladora de juegos elige ese numero, no sigue ninguna regla fija, cada juego es diferente)
Lo normal es que el numero de pistas de audio dependa de la calidad del juego... los juegos triple AAA (de grandes compañias desarrolladoras) llevan un webazo de pistas de audio para diferentes idiomas (te puedes encontrar hasta 30 pistas de audio para idiomas... como en los "little big planet"), ademas de las pistas de sonido 2.0 y 5.1... pistas especiales para sonido ambiente, FX, banda sonora, etc, etc... todas separadas
En total pueden llegar a ser 40 pistas de sonido diferentes

Para reconstruirlo tienes que extraerlas todas... y dejar solo las que te interesan
pero el problema es que al reconstruirlo cada pista de audio se coloca en una posicion diferente (con lo cual tendria un identificador diferente y el juego la cargaria en vez de la que le corresponderia)
Todo un lio
Yo deje de hacerlo porque es muy dificil identificarlas (tienes que escucharlas todas y imaginarte que es cada una... para los idiomas no es tan complicado... pero cuando es una pista de audio especial por ejemplo para sonidos ambiente, explosiones, o cosas raras que se pueden hacer es muy dificil)
O dicho de otra forma... es muy facil equivocarse y eliminar una pista que en realidad es importante
Ademas el tamaño de cada pista de audio no es muy grande... depende de el contenido de esa pista de audio... si por ejemplo esa pista esta la mayor parte del tiempo en silencio entonces ocupara muy poco y no merece la pena eliminarla
alfax está baneado por "troll"
sandugas, muchas gracias. Había perdido el programa.

Tengo que decirte que la opción de 'dejar pistas de audio' y poner los números de track id que queremos dejar, no funciona. Algo falla dentro del programa ya que si por ejemplo en la parte de BIK Reconversor, cambias la linea a ejecutar y pones esto:

C:\Program Files (x86)\RADVideo\binkmix.exe <ifile> - <ofile> /T3 /#

Verás como sí quita el track id 3 del bik y luego le das a video info y verás como todos los demás tracks están con id de origen.

Me gustaría tratar con el autor del programa ya que claramente está mal hecho esa función, y es una lástima :(

No obstante sandungas, me puedes decir cual es la sintaxis que usas en la opción dejar pistas de audio ? Cómo separas los tracks id que se pretende dejar intactos ? por ejemplo para reproducir los .bik con varios tracks de audio sonando a la vez, muy útil, podemos indicarle esto: 0,1,2,3
Pero a la hora de procesar dejando esos tracks id 0,1,2,3 el programa falla.
Ni que decir tiene que en el N. Proc tenemos que ponerlo a 1, en mi caso arranca con 4. Con número mayor a 4 el programa no encuentra el archivo con el que trabaja.
Pues es interesante esto que dices, porque creo que yo me encontre con el mismo problema... y como tu... llegue a pensar que era un bug, pero no estaba 100% seguro

No recuerdo como lo hacia yo, pero nunca pude hacerlo funcionar corectamente desde squeezelang, asi que intente hacerlo directamente desde el bikconv.exe pero el proceso era larguisimo de hacer :(
Eso que dices de cambiar la linea a ejecutar me lo voy a tener que apuntar... porque parece que por ahi van los tiros... lo que tiene que pasar es que las pistas que dejas al reconstruirlo tienen que mantener su ID original... si tu has conseguido hacer eso entonces el .BIK deberia funcionar perfecto en la PS3 [oki]

El creador del programa se llama @juanmime y esta registrado en el foro, aunque creo que no lo visita mucho y cuando lo visita no es relaccionado con la PS3... quizas ya no tiene PS3
Puedes contactar con el en el foro de "clan dragon rojo" (buscalo asi en google)... es uno de los administradores

Edit:
Link directo al hilo oficial en su foro ---> http://www.clandragonrojo.es/foro/viewt ... =10&t=4903
alfax está baneado por "troll"
sandungas, te aseguro que si usas ese comando en sustitución del que está puesto por el programa en el Bik Reconversor y lo ejecutas, podrás quitar las pistas de audio que quieras manteniendo las que quedan su id original.

El problema es que es poco útil ya que tendrás que quitar una por una y en cada video. No es práctico. Para eso se supone que usamos el programa para que automatice :(

A ver si aparece el creador del programa ya que ese detalle está mal programado.

No obstante este programa es por mi parte totalmente imprescindible. Acabo de ripear los dos juegos Syberia y Syberia 2 versión para la xbox 1, manteniendo inglés y castellano, y me caben los dos en un único dvd de 4,3 GB.
Si, tienes razon, lo ideal es eliminar las pistas de audio en un solo paso... asi el archivo se reconstruye solo una vez
De la otra forma... si quieres eliminar 12 pistas de audio estas reconstruyendo el archivo 12 veces
Aunque por uso de CPU no es un problema, porque al eliminar pistas de audio no se esta recodificando audio ni video, asi que no es estresante para CPU, deberia hacerse rapido

En cuanto a lo que decias antes de elegir el numero de CPU's en el programa... creo que eso solo cuenta cuando haces recodificacion de video o audio
Las demas acciones del programa no requieren potencia de procesamiento

La unica otra opcion que creo que podria depender de CPU es reconstruir los .PSARC
Pero tengo que avisaros que no useis esta funcion, digamos que el soporte de .psarc fue algo que se hizo de forma experimental
En la epoca parecio buena idea... pero mucho tiempo despues me puse a investigar el formato .psarc hasta que entendi perfectamente todos los detalles de como se crean y las diferentes variaciones de .psarc que existen... y os puedo asegurar que la forma de reconstruirlos que usa squeezelang tiene demasiados fallos
No se puede usar en el estado en que esta
alfax está baneado por "troll"
sandungas, entonces rehacer los .psarc y que la consola trague con ellos, es factible ? tenía entendido que solamente el uncharted 3 lo hace. Podrías compartir lo que sabes acerca de ello ?

saludos

Editado: me estoy planteado el programar un pequeño ejecutable para ser lanzado a través de esa línea que he comentado en el squeezelang para realizar la reducción de archivos de video .bik dejando solamente las pistas de audio que nos interesen...
alfax escribió:sandungas, entonces rehacer los .psarc y que la consola trague con ellos, es factible ? tenía entendido que solamente el uncharted 3 lo hace. Podrías compartir lo que sabes acerca de ello ?


La razon de porque en los uncharted se pueden reemplazar los .psarc por una carpeta con los archivos descomprimidos... es porque el formato .psarc que usa naughty dog es muy simple y no usa flags especiales
En todos los juegos de naughty dog usan el mismo formato .psarc (todos los uncharted y el the last of us)... en todos ellos puedes reemplazar los .psarc por carpetas y archivos sueltos [oki]

Para los demas juegos es diferente... aunque para que lo entiendas, resumido en una frase.... pasa lo mismo que con los .BIK
Al reconstruir un .psarc los ID's de los archvivos contenidos dentro del psarc... tienen que ser exactamente los mismos que tenia originalmente

Es demasiado largo de explicar todos los detalles de como reconstruir los .psarc. Y no conozco ninguna programa que lo haga correctamente, aqui no puedo explicarlo, aunque escribi esta pagina
http://www.psdevwiki.com/ps3/PlayStatio ... 28PSARC%29
En la tabla que hay abajo de la pagina, aparecen unos cuantos ejemplos de juegos... todos esos los he reconstruido yo mismo, verificados por mi, los .psarc reconstruidos cargan sin problemas en la PS3 [oki]
alfax está baneado por "troll"
sandungas, pues yo estoy interesado en ver de ripear cosas de los psarc para ligerar el tamaño en algunos de los más grandes juegos de ps3. Veo que tú estás puesto en ello y dices que consigues reconstruirlos para que el juego los acepte de nuevo. Todos los juegos que tienen psarc ?

Si pudieses hacer un tutorial acerca de elllo.... sería genial.

No obstante dices que ripear contenidos de los psarc de los uncharted y the last of use y reconstruirlos de nuevo, funciona en estos juegos ? Necesitaría saber cómo, ya que has comentado con anterioridad que el squeezelang no lo hace bien.
Se puede extraer el contenido de cualquier .psarc... de esos archivos extraidos puedes reemplazar cualquiera de ellos por dummys... luego reconstruyes el .psarc
Eso funciona con cualquier .psarc de cualquier juego

El problema es que hay diferencias entre los distintos tipos de .psarc... tienes que identificar que opciones se usaron cuando se creo el .psarc original para usar las mismas cuando lo reconstruyes
Ademas para reconstruirlo hay que preparar una lista en formato .xml de todos los archivos que van a ser incluidos dentro del .psarc cada uno asociado con si ID (para hacer esa lista tienes que extraer la informacion del contenido del .psarc original)

La razon por la que se reemplazan los archivos por dummies (por ejemplo para reemplazar archivos de audio de otros idiomas reemplazandolos por archivos de tamaño 0 bytes)... es para mantener todos los demas archivos en su posicion original,y con su ID original
Imaginate que tienes una lista con 200 archivos (aunque en realidad pueden llegar a tener miles de archivos)
Si eliminas el archivo en la posicion 13.... el que originalmente era el 14 pasa a ser el 13... y entonces la has cagado... la PS3 ya no podria acceder al archivo 14 correctamente (ni ninguno de los siguientes... a partir del 13 estarian todos desplazados una posicion hacia abajo)

Por eso dije que en concepto es parecido al formato .BIK de video :)
Tienes que imaginartelos como formatos "contenedor" donde cada archivo contenido tiene una ID asociada que es un numero que identifica su posicion dentro del contenedor, y la PS3 accede a el usando esa ID

---------------------------
Pero es que es larguisimo de explicar... no puedo escribir un tutorial aqui porque si fuera facil de hacer ya lo habria escrito en psdevwiki (lo hice en parte cuando escribi esa pagina, aunque esta enfoncado a explicar el formato internamente)
Lo mas dificil es crear ese archivo .xml que sirve de "index"... cuando dentro de un .psarc hay 20 o 30 archivos entonces puedes crear el .xml a mano... pero si el psarc tiene miles de archivos hay que automatizarlo... y el metodo que uso yo para automatizarlo es incluso mas largo de explicar
Hola a los presentes.

Doy señales de vida después de mucho tiempo alejado de la scene y de Squeezelang.

Como comenté a un compañero por mensaje privado estoy más liado que la pata de un romano con varias cosas que me alejan de este mundillo. El reciclado profesional, mis hobbies y la familia tampoco me ayudan a disponer del tiempo que me gustaría. Además de todo esto, también me gusta jugar a los videojuegos, sobre todo por Steam.

Respecto a Squeezlang, he de dar dos noticias, una mala y una buena.

La mala es que me murío el HD Seagate donde tenía el código fuente de la versión 0.2.4. Ese será mi último HD de esta marca que me ha dejado tirado demasiadas veces en los últimos años.

Una vez hecho el reproche, la buena. He podido recuperar un backup de la versión inmediatamente anterior a la 0.2.4.

La he restaurado y modificado un poco para que compile con la última versión de Lazarus. Tengo que repasarlo un poco porque hay controles que no se redimensionan bien, entre otras cuestiones, como consecuencia del cambio de versión de ciertos controles nativos.

En cuanto consiga algún BIK de tropecientas pistas, prometo mirar la extracción de pistas de audio.
Si no recuerdo mal (debo revisar el código), el programa automatizaba la extracción mediante un proceso secuencial quitando pistas una a una).

La idea era elegir la/s pistas deseadas para que el sistema eliminase el resto. Pero como bien apuntáis, el progama podría llevar una lógica negativa, es decir, dime qué pistas quieres que elimine y dejo el resto. Pensé en su momento en una lógica positiva como una buena opción pues lo ideal es detectar las pistas que te interesan (3 ó 4) y que el programa quite el resto (las 15 restantes).

Lo del número de procesos, era con la intención de recodificar los vídeos en N procesos (tantos como hilos simultáneos permita tu procesador). Sin embargo más tarde me di cuenta que la mayoría de los codificadores usan todos los núcleos disponibles, de modo que no existe ganancia alguna y en consecuencia ya no tiene mucho sentido.

Sea como fuere, prometo revisar esta característica para:

1.- Lanzar una versión 0.2.5 procedente de una versión anterior pero muy cercana a la 0.2.4 (creo en esencia que no habrá cambio significativo).

2.- Actualizar el repositorio GitHub (si encuentro las claves, sino creo uno nuevo) con el código fuente para que no vuelva a suceder el desastre. Quiero que cualquiera pueda leer, copiar, modificar, ampliar y mejorar el código del programa, no sólo para continuar la vida del mismo, sino como un ejemplo práctico que incite a los más inquietos a aprender Freepascal (Lazarus). Esa fue una premisa básica que quiero mantener.

Sea como fuere, en su momento concebí Squeezelang como una especie de navaja suiza que permitiera realizar procesos automáticos en masa sobre ficheros. Inicialmente relacionados con el ripe de videojuegos, pero con una flexibilidad suficiente como para más cuestiones (personalmente lo usé para pasar a H264 mis vídeos caseros).

En mi cabeza rondaba la idea del clásico "find --exec" de GNU/Linux.

Es por ello que aún suponiendo que el programa no ripease nativamente ciertos formatos de vídeos, o surgiesen nuevos formatos de ficheros (no necesariamente vídeos) a los que realizar 7 procesos sobre cada uno para conseguir reducirlos, siempre podríamos crearnos un pequeño script por lotes (*.bat) que aunase esas 7 acciones.

Con Squeezlang sólo tendríamos que hacer un filtrado de los ficheros a lozalizar y decirle que sobre ellos se lanzase nuestro proceso por lotes ".bat".

Es más, con un poco de ingenio podríamos realizar un ".bat" más o menos genérico para ese tipo de ficheros y llevarlo encima siempre con Squeezelang para estas lides.

La promesa queda hecha. Ahora me falta el tiempo y localizar un BIK de ejemplo.

Saludos.
alfax está baneado por "troll"
juanmime, la cuestión es que este programa tuyo es mucho más útil de lo que a primera vista podría parecer.
Yo actualmente lo uso para ripear contenidos en juegos, no solamente de ps3, sino de otras plataformas.
Para mi se ha convertido en un imprescindible.

... y se me ocurren varias cosas para mejorarlo o para añadir pequeñas nuevas opciones que serías muy útiles...
Version nueva de squeezelang ?, genial [inlove]

He estado mirando a ver si encontraba algun .bik de esos con mas de 30 pistas de audio con numeros desordenados y numeros intermedios inexistentes, pero no he encontrado ninguno de este tipo
El que mas pistas tenia de los que he mirado asi al azar ha sido un assassins creed con 10 pistas (la 7 es español) te lo mando por MP a ver si te sirve para las pruebas

En cuanto a la siguiente version creo que lo que has dicho es suficiente para ponerlo al dia y con eso yo estoy mas que contento
Si despues de eso te animas a pegarle otro repaso para mejorarlo y sacar un par de versiones mas ya te hare algunas sugerencias (prometo no agobiar) :)
alfax está baneado por "troll"
Sandungas. sabes si se puede reducir determinados archivos, y en la misma pasada, reemplazar algunos otros ?
me refiero a hacerlo todo en la misma operación. Yo creo que esto no se puede hacer, y estaría muy bien la posibilidad de poder hacerlo.
alfax escribió:Sandungas. sabes si se puede reducir determinados archivos, y en la misma pasada, reemplazar algunos otros ?
me refiero a hacerlo todo en la misma operación. Yo creo que esto no se puede hacer, y estaría muy bien la posibilidad de poder hacerlo.

No se puede, lo que tienes que hacer es crear 2 patrones diferentes y guardarlos. Primero aplicas uno, y despues el otro

Yo suelo pasar un tiempo investigando los juegos y voy haciendo varios patrones (y todos ellos pertenecen al mismo juego)
Por ejemplo, uno para eliminar audios de otros idiomas, otro elimina videos extras, otro elimina el modo de juego online, etc....

El soporte multipatron es una de las cosas que le queria sugerir a juanmime (creo que ya lo comente anteriormente en algun sitio)
Como en este ejemplo, todos los patrones pertenecen al mismo juego... se podria guardar toda la informacion junta y dentro del programa mostrar una especie de selector para elegir cual de los patrones se aplica
Y este mismo selector podria usarse para elegir el idioma.... ya que una vez que tienes identificados los idiomas es muy sencillo hacer patrones para los otros idiomas (asi el mismo patron serviria para mi que soy español y para un frances, un italiano, etc...)

Pero como dije antes, no tengo intencion de hacer ninguna sugerencia de momento (en realidad no deberia haber escrito esto), todo a su tiempo despacito y con buena letra :)
alfax está baneado por "troll"
claro, pero lo realmente útil sería poder elegir los archivos encontrados en la búsqueda con los patrones que hayamos puesto, y en la lista resultante, poder elegir cuales son reducidos y cuales reemplazados. A ver si el amigo creador del programa nos puede hacer ese pequeño cambio.

También una sugerencia. Debido a lo útil que es el programa para ripear juegos de otras consolas y no solamente de ps3, la función de 'quitar ps3updat.pup' estaría mejor cambiada a 'quitar archivos de actualizaciones' o algo así.
Y para el caso de la Xbox 1 pues sería quitar los archivos 'xboxdashupdate.xbe, updater.xbe y update.xbe'. En el caso de PSP también sería una carpeta en la que esta el actualizador del firmware.

saludos
Lo mejor que puedes hacer ahora mismo para ayudar es buscar uno de los .bik que pedia juanmime (el mas raro y feo que encuentres con muchas pistas de audio y ordenadas de forma desastrosa)... aprovecha ahora que estas usando el programa para buscarlo y pasaselo por MP
Yo tuve problemas en este PC hace unos meses con los hdds y aun lo tengo en cuarentena, no me fio mucho de el y por eso hace mucho que no uso squeezelang porque no tengo juegos de PS3 aqui ni quiero conectar hdds externos asi que no puedo buscar bien
Segun ha dicho... eso es lo primero que quiere mirar para arreglar lo de las pistas de audio de los .bik... mas adelante ya se vera si quiere hacer mas cosas y si acepta mas sugerencias

alfax escribió:claro, pero lo realmente útil sería poder elegir los archivos encontrados en la búsqueda con los patrones que hayamos puesto, y en la lista resultante, poder elegir cuales son reducidos y cuales reemplazados. A ver si el amigo creador del programa nos puede hacer ese pequeño cambio.

Eso no soluciona el problema que he intentado explicar yo antes, donde se usan varios patrones para el mismo juego separando los contenidos
Por ejemplo... yo puedo hacer un patron para reducir todos los archivos relaccionados con el modo online, y otro patron para dejar solo el audio español, y otro patron para reemplazar los videos extras por dummies de video
Si te paso a ti esos patrones... entonces quizas tu quieres aplicar el de audio y el de videos... pero quieres mantener el online
Entonces estarias aplicando 2 de los 3 patrones que yo te he pasado

Esto es interesante para compartirlos, la idea es juntarlo todo en un archivo y que cada usuario elija que aplicar

Y para complicarlo mas... tambien deberia incluir patrones para todos los idiomas soportados en el juego (para que podamos compartir los patrones entre usuarios de todos los paises)
Estos patrones especificos para cada idioma son faciles de hacer una vez has identificado los archivos de tu idioma es muy facil hacer los patrones para los otros idiomas

alfax escribió:También una sugerencia. Debido a lo útil que es el programa para ripear juegos de otras consolas y no solamente de ps3, la función de 'quitar ps3updat.pup' estaría mejor cambiada a 'quitar archivos de actualizaciones' o algo así.
Y para el caso de la Xbox 1 pues sería quitar los archivos 'xboxdashupdate.xbe, updater.xbe y update.xbe'. En el caso de PSP también sería una carpeta en la que esta el actualizador del firmware.

saludos

En realidad hay un problema con esa funcion, porque borrar el PS3UPDAT.PUP no es correcto (aunque todo el mundo lo hace) pero no esta bien porque la estructura del disco queda con un error

El error esta en el archivo PS3_DISC.SFB... si miras dentro vas a ver una zona (a la mitad del archivo mas o menos) donde aparecen las letras g y u
La mayoria de juegos llevan esas 2 letras porque la "g" significa que el disco contiene un "game" (un archivo ejecutable dentro de la carpeta PS3_GAME, que es el EBOOT.BIN)... y la "u" es un "update" porque la gran mayoria de juegos llevan una carpeta "PS3_UPDATE" (con el PS3UPDAT.PUP dentro)

Es decir, que la forma correcta de eliminar el update es borrando la letra "u" del archivo PS3_DISC.SFB y borrando la carpeta PS3_UPDATE

De esa forma la estructura del disco es perfectamente correcta
Pero para hacerlo de esta forma es necesario que squeezelang modifique el archivo PS3_DISC.SFB... y esto no esta soportado y necesitaria algo de trabajo (habria que añadir funciones para procesar el contenido del PS3_DISC.SFB, identificar la presencia y la posicion de la flag "u", eliminarla, y guardar el archivo)... una vez modificado eso ya puedes borrar la carpeta del update porque para la PS3 es como si no existiera
alfax está baneado por "troll"
si, lo que pasa es que al ser siempre archivos 'bastante peligrosos' todo el mundo opta por borrarlos sin más. Y es lo mejor que se puede hacer. No obstante no estaría de más un editor para ese archivos que dices.

Pero me gustaría saber si el autor del programa le gustaría la idea de expandir levemente el programa para ser usado con juegos de todas las plataformas.
alfax está baneado por "troll"
Sandungas, he releído el hilo de squeezelang y vi que tenías problemas con el tema de quitar cosas por medio de patrón de una selección previa. Al final encontraste la forma de hacerlo ?

Por cierto, aún no se sabe nada de la nueva versión corrigiendo el tema de los archivos .bik ?
alfax escribió:Sandungas, he releído el hilo de squeezelang y vi que tenías problemas con el tema de quitar cosas por medio de patrón de una selección previa. Al final encontraste la forma de hacerlo ?

Por cierto, aún no se sabe nada de la nueva versión corrigiendo el tema de los archivos .bik ?

No recuerdo aquel problema, fue hace mucho, ponme un link a la conversacion

Lo que si te puedo decir es que encontre una forma de hacer busquedas selectivas, incluyendo el nombre de la carpeta en el patron (no recuerdo como se hace ahora, pero su puede buscar en una ruta especifica)
Como en el squeezelang puedes poner 5 lineas de patrones de busqueda... en cada una puedes poner una ruta de carpetas diferente, asi haces busquedas selectivas

Y lo de una version nueva yo no se nada nuevo, lo ultimo que se es lo que hablamos aqui
alfax está baneado por "troll"
en este hilo... hilo_actualizado-lanzado-squeezelang-0-2-2-reductor-de-juegos_1576531
estabas tratando de encontrar una forma de quitar ciertos patrones de una selección....
Si es que veo el hilo pero no me entero de a que te refieres, sobre todo porque hay un cansino (con un avatar de mario rasta) que escribe mensajes muy largos y se hace muy pesado leerlos [fiu]
alfax está baneado por "troll"
aaaa ver, concretamente aquí planteabas el tema.. viewtopic.php?p=1724186500
Ok ya se a que te refieres... era solo una sugerencia, no se puede hacer desde el programa
El ejemplo que puse no se entiende demasiado bien, es que es complicado explicarlo mejor, pero la idea era usar las cadenas de busqueda regex de forma selectiva (primero realizar una busqueda y luego realizar otra busqueda sobre los resultados de la primera busqueda)

Eso complica el programa y no se como representarlo en el interface (habria que hacer como un submenu desplegable o algo asi)... aunque en realidad como esta todo basado en las expresiones regex se supone que el programa es capaz de hacerlo

-----
La solucion que encontre es lo que dije antes... incluir en la busqueda los nombres de carpeta (es decir, en vez de buscar solo por nombres de archivo.... busca por los nombres de carpetas de la ruta + los nombres de archivo, todo junto)
El problema es cuando hay muchos archivos con el mismo nombre y solo quieres seleccionar algunos de ellos
Pero como es imposible que haya 2 archivos con el mismo nombre dentro de la misma carpeta... lo que puedes hacer es incluir los nombres de carpetas en la busqueda... de esa forma las cadenas de busqueda son diferentes

Por ejemplo, si las carpetas son estas
...spanish/audio.wav
...spanish/audio_2.wav
...spanish/nomeripees.wav
...english/audio.wav
...english/audio_2.wav
...english/nomeripees.wav

Y solo quieres seleccionar los archivos de audio de la carpeta english tendrias que buscar esto:
*.english*/audio*.wav$


----
Pruebalo, ahora mismo no se si la expresion regular que he puesto es correcta... he perdido algo de practica pero es algo asi, y funciona bien [oki]
alfax está baneado por "troll"
creo entender el problema pero aún no lo veo claro. Creo que tendrías que plantearlo mejor. No obstante en ese ejemplo, si lo que quieres es reducir los archivos que corresponde al audio en inglés, yo haría esto:

\\English\\


No obstante he probado tu código y da error, es correcta la sintaxis de tu expresión ?
alfax escribió:creo entender el problema pero aún no lo veo claro. Creo que tendrías que plantearlo mejor. No obstante en ese ejemplo, si lo que quieres es reducir los archivos que corresponde al audio en inglés, yo haría esto:

\\English\\


No obstante he probado tu código y da error, es correcta la sintaxis de tu expresión ?

Si haces eso estarias selecionando tambien el archivo english/nomeripees.wav que le puse ese nombre en el ejemplo porque no lo quiero seleccionar. Asi que eso no funcionaria

----
La sintaxis que puse supongo que falla por culpa del caracter "/" porque es especial (no se puede usar en nombres de archivos y representa un nivel de carpeta)
A esos caracteres especiales hay que ponerles otro caracter delante... yo le puse delante * pero quizas es %... no recuerdo
Tengo algunos patrones donde lo he usado y funciona bien (y me ha servido para solucionar problemas como el que tu planteabas) pero estan en otro hdd y no lo puedo mirar ahora
alfax está baneado por "troll"
en ese caso:

\\english\\audio


selecciona 'audio.wav' y 'audio_2.wav' y no toca el que archivos que no queremos ripear.
Pero yo creo que el problema que querías plantear es cuando el archivo que no queremos ripear tiene el mismo nombre y tal vez no tiene secuencia numérica u otros... era eso ?
alfax escribió:en ese caso:

\\english\\audio


selecciona 'audio.wav' y 'audio_2.wav' y no toca el que archivos que no queremos ripear.
Pero yo creo que el problema que querías plantear es cuando el archivo que no queremos ripear tiene el mismo nombre y tal vez no tiene secuencia numérica u otros... era eso ?

Imagina que en vez de "audio" quiero seleccionar archivos con 400 nombres
En ese caso no puedes preparar una cadena de busqueda con los 400 nombres

Weno, da igual... si esto no tiene que ver con el hilo, de todas maneras juanmime no parece que haya vuelto a escribir aqui, asi que discutir esto no nos lleva a ninguna parte
alfax está baneado por "troll"
pero lo importante es que creo entender el problema que comentas. No existe una forma de seleccionar determinadas cosas, descartar otras que se parecen o que están en el mismo directorio. Y si lo tiene, pues no sé como se podría hacer... De todas formas que opinas de este comando:

\\english\\(mono|3d)


en este caso selecciona los archivos que contengan 'mono' y '3d', pero deja sin seleccionar todo lo demás, 'stereo' por ejemplo.
Si, eso funciona, y ademas estas usando el truco que decia yo al principio, en tu cadena de busqueda estas usando un nombre de carpeta + nombres de archivos
Es decir, que estas "filtrando" basandote en carpetas, ademas estas usando rutas
El caracter especial (que hay que ponerlo delante de los otros que no son standards) es \

Asi que cuando estas poniendo
\\english\\audio


english es el nombre de una capeta, el primer \ que va delante de ella hace que el \ que va a continuacion se tome como parte de la ruta
lo mismo pasa en el \ despues del nombre english... hace que el \ que va a continuacion suyo se tome como parte de la ruta
en windows seria lo mismo que poner esto:
...\english\audio*

El otro ejemplo que pones
\\english\\(mono|3d)

en windows seria lo mismo que poner esto:
...\english\mono*
...\english\3d*

esta bien cuando son unos pocos archivos, pero si tienes que poner 400 nombres diferentes dentro de los parentesis ya no se puede usar



-------------
Edit:
El punto ---> .
Es un caracter especial, significa que se puede reemplazar por cualquier otro caracter, pero solo 1

es decir que si buscas la expresion: engl.sh
serian validos: english, englash, englosh, etc...

Es decir, el punto no esta funcionando como un punto sino como un comodin
Si lo que quieres buscar es un punto (muy tipico, porque siempre hay uno al final de los nombres de archivo, hehhe) tienes que poner \.
El caracter \ sirve como "aviso" al programa para que sepa que el caracter que va a continuacion debe ser tomado como uno standard, por ejemplo:
english\.wav

---
Y luego esta el asterisco ---> *
que sirve para avisar al programa que el siguiente caracter se puede repetir un numero indeterminado de veces (como una repeticion)
Si combinas el asterisco y el punto poniendo *.
Eso detectaria cualquier caracter, repetido cualquier numero de veces (se lo traga todo)
Parece ujna tonteria usarlo asi, pero esta bien porque le puedes limitar por la izquierda y por la derecha
si pones esto e*.h
serian validos: english, englosh, y tambien enasdflkjsdfjnagñlnkdgñnfgh XD

pero si pones esto e*\.h
Lo que estas buscando es una repeticion de puntos repetidos cualquier numero de veces
serian validos: e................h, englis..........h, y tambien efljheiuofheofgoj...........sdfjklheriofheroh

--------
Si escribo esto es porque pienso que junto con squeezelang deberia venir una pequeña lista con ejemplos de como funcionan las expresiones regulares, al menos estas que son las mas tipicas y las que mas se usan para ripear juegos
alfax está baneado por "troll"
Sandungas, tienes toda la razón en lo que dices. Yo actualmente considero un arte el ripear juegos con esta herramienta, la cual es muy potente. Pero me está sabiendo mal que el autor no lo tenga más atendido ya que considero el jodido programa una auténtica virguería.

En algunos juegos he conseguido resultados brutales, conservando inglés y castellano. Pero yo voy más allá, considero que este programita debería ser evolucionado algo más para abarcarlo todo y no solamente los títulos de ps3.

No obstante Sandungas, sigo considerando que el programa debería tener, aunque quizá lo tenga, una forma de decirle en una misma expresión, que tiene seleccionar determinadas cosas, y omitir otras que se parecen mucho en el nombre. Creo que es precisamente de lo que estamos hablando tú y yo en este hilo.
alfax escribió:No obstante Sandungas, sigo considerando que el programa debería tener, aunque quizá lo tenga, una forma de decirle en una misma expresión, que tiene seleccionar determinadas cosas, y omitir otras que se parecen mucho en el nombre. Creo que es precisamente de lo que estamos hablando tú y yo en este hilo.

No, el programa no puede encadenar 2 busquedas diferentes haciendo que una tome los resultados de la otra
Lo que hace es procesar las 4 expresiones que se ponen arriba una detras de otra y va acumulando los resultados (no he mirado el codigo y seguramente tampoco lo entenderia, pero esto es lo que me imagino que hace)

Lo que convierte el squeezelang en algo tan potente son las expresiones regulares (se usan muchisimo en programacion, y en cosas relaccionadas con internet como servidores, databases, motores de busqueda, etc...)
Pero al mismo tiempo esas expresiones regulares son las culpables de que sea tan dificil acostumbrarse a usar el programa y entender como funcionan

Como solucionar esto ?... pues nuse, yo estuve pensando en varias soluciones, como mostrar ayudas dentro del programa en ventanas desplegables, crear una pagina en alguna wiki con las expresiones mas tipicas, incluir un readme.txt dentro del programa con ejemplos, etc...
En realidad es muy dificil hacer algo como squeezelang de un modo "noob friendlly" facil de usar... creo que es imposible, al menos yo no he podido imaginar ninguna manera
alfax está baneado por "troll"
todavía no se sabe nada acerca de la actualización por parte del autor ?
32 respuestas